Deployment Overview¶
MediaFusion supports four self-hosted deployment methods plus a fully managed option.
Always pin a version tag in production
Never use latest or beta in production. Pin to a specific release tag such as mhdzumair/mediafusion:6.0.0.
latest— tracks the most recent stable releasebeta— tracks the most recent beta release
Deployment methods¶
| Method | Guide | Best for |
|---|---|---|
| ElfHosted | ElfHosted | Managed private instance, zero ops |
| Docker Compose | Docker Compose | Home servers, VPS, beginners |
| Direct Binary | Binary | Minimal footprint, no container runtime |
| Kubernetes | Kubernetes | Production, horizontal scaling |
| Local Development | Local Dev | Contributing to MediaFusion |
Services overview¶
Every MediaFusion deployment consists of these components:
| Component | Role |
|---|---|
| mediafusion-api | Main HTTP server — handles Stremio/Kodi requests |
| mediafusion-worker | Background worker — scrapers, RSS feeds, imports |
| PostgreSQL | Primary database — metadata, stream index |
| Redis | Cache, task queue, rate limiting |
| Prowlarr (optional) | Torrent indexer aggregator |
| Browserless (optional) | Headless Chrome for scraping Cloudflare-protected sites |
Database migrations¶
Migrations run automatically at startup — no separate migration step needed.
For details on checking migration status or rolling back, see Database Migrations.