Dispatcharr
Dispatcharr is a free, open-source app for taking control of live TV sources, guide data, and media-server integrations. Run it on Docker, connect M3U or Xtream Codes sources, clean up channels, match EPG, monitor streams, and serve Plex, Jellyfin, Emby, Channels DVR, and IPTV players from one organized system.
Latest v0.27.1 · Free & open-source · GNU AGPL v3.0 · Runs on Docker
What is Dispatcharr?
IPTV is rarely clean out of the box. Dispatcharr is the management layer that fixes that.
Playlists can be huge, duplicated, unstable, badly named, or disconnected from usable guide data. EPG sources may not match channel names. Media servers expect predictable tuner and guide behavior. Different people need different access. Streams fail, buffer, or need a fallback.
Dispatcharr sits between your upstream IPTV sources and your downstream viewing apps, acting as a central layer for importing, organizing, proxying, filtering, matching, transcoding, monitoring, and distributing streams. Instead of giving every client raw provider links, it creates a controlled output layer with cleaner channels, better EPG alignment, user permissions, stream and output profiles, and integration-ready endpoints.
In short: it is infrastructure for people who already have legitimate IPTV sources and want to manage them properly - not a player, not a playlist dump, and not a cloud IPTV service.
One app for the hard parts of IPTV
Dispatcharr handles the full workflow - from source import to client playback - so your lineup stays clean, reliable, and easy to serve.
M3U & Xtream Codes import
Add standard M3U playlists, Xtream Codes accounts, local files, and EPG URLs. Set refresh schedules, connection limits, user agents, server groups, and VOD scanning.
Precise channel organization
Build channels from provider streams and assign numbers, groups, logos, TVG IDs, Gracenote station IDs, visibility rules, maturity flags, and access levels.
EPG matching & XMLTV export
Connect EPG sources, auto-match or assign guide entries by hand, fix TVG IDs, and export clean XMLTV that media servers and DVR systems actually understand.
Outputs every client understands
Serve generated M3U playlists, XMLTV guide data, an Xtream Codes-compatible API, and HDHomeRun-style discovery for popular apps and media servers.
Flexible stream profiles
Choose how each stream is handled - proxy, redirect, FFmpeg, VLC, Streamlink, yt-dlp, or custom commands - balancing resources, buffering, and failover.
Output profiles & transcoding
Normalize audio, pick containers like MPEG-TS or fMP4, and transcode per client so browsers, media servers, and IPTV players get a stream they can play.
DVR & guide recording
Schedule one-time or recurring recordings by channel, date, and weekly rules - or record a program, all episodes, or new episodes straight from the TV guide.
Failover & backup streams
Give a channel multiple streams. When one source fails, Dispatcharr switches to a backup automatically, so clients keep playing without manual fixes.
Real-time stats & events
See active channels, uptime, bitrate, data served, watchers, IPs, user agents, and codecs - plus a system event log of refreshes, switches, and errors.
Users & access control
Create admin, standard, and streamer accounts with channel-profile limits, stream caps, mature-content rules, output overrides, XC passwords, and allowed IPs.
VOD management
When a source supports it, scan and expose movie and series catalogs so users can search, browse, and play on-demand content from one library.
Plugins, webhooks & API
Extend Dispatcharr with plugins, fire webhooks and scripts on events, ship metrics to monitoring stacks, and automate with a documented Swagger API.
How Dispatcharr works
Add your sources
Connect M3U playlists, Xtream Codes accounts, uploaded files, and EPG URLs. Configure refresh behavior, max streams, user agents, and server groups.
Select & organize streams
Search imported streams, create channels, add backup streams, set numbers and groups, pick logos, and choose what appears in each output.
Match guide data
Auto-match or assign EPG entries, clean up TVG and Gracenote IDs, and prepare XMLTV so downstream apps get accurate channel and program info.
Choose stream behavior
Use stream profiles to proxy, redirect, remux, or process each stream through FFmpeg, VLC, Streamlink, yt-dlp, or your own commands.
Create output profiles
Tune delivery per client - pick containers, normalize audio, and transcode where a browser, media server, or IPTV player needs it.
Connect your clients
Point Plex, Jellyfin, Emby, Channels DVR, or any IPTV player at Dispatcharr via HDHomeRun, M3U, XMLTV, or Xtream Codes-compatible endpoints.
Monitor & refine
Watch active streams, stats, and system events, then adjust profiles, failover streams, filters, and user access as your lineup evolves.
Download & set up Dispatcharr
The recommended way to install Dispatcharr is with Docker. Pull the image, run the container, then open the web UI to create your first user and add a source.
Latest release: Dispatcharr v0.27.1 - faster Xtream VOD and XMLTV export, lower EPG memory use, quicker channel loading, and live-streaming, DVR, and M3U refresh fixes.
Quick Docker install
docker pull ghcr.io/dispatcharr/dispatcharr:latest
docker run -d \
-p 9191:9191 \
--name dispatcharr \
-v dispatcharr_data:/data \
ghcr.io/dispatcharr/dispatcharr:latestAfter startup, open http://your-server-ip:9191 in a browser, create the first user account, add an M3U or Xtream Codes source, connect EPG data, then start creating channels.
Docker Compose
services:
dispatcharr:
image: ghcr.io/dispatcharr/dispatcharr:latest
restart: unless-stopped
container_name: dispatcharr
ports:
- 9191:9191
volumes:
- dispatcharr_data:/data
environment:
- DISPATCHARR_ENV=aio
- REDIS_HOST=localhost
- CELERY_BROKER_URL=redis://localhost:6379/0
- DISPATCHARR_LOG_LEVEL=info
volumes:
dispatcharr_data:Installation options
All-in-one (recommended)
Dispatcharr, Redis, and PostgreSQL run in a single container - the fastest path to a working setup. Ideal for home servers and first-time installs.
Modular Compose
Split Dispatcharr, Celery, PostgreSQL, and Redis into separate services for control over database versions, scaling, security, and TLS.
Unraid
Install from the Unraid Apps tab - search for Dispatcharr, deploy, and adjust defaults only when your server setup needs it.
Proxmox
Run inside a Docker-enabled Ubuntu LXC container or VM - a clean fit for homelabs that separate media, networking, and app workloads.
Windows, macOS & Linux
Anywhere Docker and Docker Compose run, including Docker Desktop on Windows and Mac, and any Linux host, NAS, mini PC, or VPS.
External DB & Redis
Point the modular deployment at external PostgreSQL and Redis, and pair it with reverse proxies, VPN containers, and monitoring stacks.
Why Dispatcharr instead of raw playlists
A raw M3U link is simple until it is not. Dispatcharr adds the management layer that basic playlist usage is missing - and gives you one place to diagnose and fix problems.
Problems raw playlists leave you with
- Duplicate, stale, or badly named channels across huge playlists
- EPG data that does not match channel names or numbers
- Unstable streams with no failover or backup source
- Multiple providers and connection limits to juggle
- Media servers that expect predictable tuner and guide behavior
- Different users who need different access and lineups
What Dispatcharr does about it
One server handles provider imports, stream selection, channel mapping, output formatting, access control, and monitoring. Clients receive cleaner endpoints instead of raw provider URLs that expose upstream details and break silently.
Administrators get a central place to switch streams, adjust profiles, fix guide data, and maintain the lineup - so troubleshooting happens in one interface, not across every client.