Dispatcharr at a glance
- What it is
- A self-hosted, open-source manager for IPTV streams, guide data and VOD (GNU AGPL v3)
- Inputs
- M3U playlists and Xtream Codes logins; guide data from XMLTV and Schedules Direct
- Outputs
- M3U, XMLTV, an Xtream Codes API and an HDHomeRun-style tuner
- Also includes
- Stream proxy and relay, DVR, Xtream catch-up and timeshift, stream and output profiles, real-time monitoring, multi-user access, plugins
- Install
- Docker image ghcr.io/dispatcharr/dispatcharr, web interface on port 9191
From the Dispatcharr repository and documentation, checked September 2026.
What problem Dispatcharr solves
A raw IPTV playlist is often thousands of channels, inconsistent names and a guide that only matches some of them. Every app you use then has to deal with that mess separately. Dispatcharr sits between your provider and your apps: it loads the playlist and guide once, lets you build a clean channel line-up with guide data that actually matches, and then serves that line-up in whatever format each app wants, whether an M3U link for a player, an Xtream login for apps that prefer it, or a virtual HDHomeRun tuner for Plex, Jellyfin and Emby.
Before you start
- An always-on machine that can run Docker: a home server, NAS or mini PC.
- Your provider’s details: an M3U link or an Xtream Codes login, plus an XMLTV guide link if your provider supplies one.
- Enough connections for the number of people watching at once; the proxy can help here, but your provider’s limit still applies. See too many connections.
Set it up
-
Run Dispatcharr in Docker. The project’s basic example publishes port 9191 and stores data in a volume:
docker run -d -p 9191:9191 --name dispatcharr -v dispatcharr_data:/data ghcr.io/dispatcharr/dispatcharr:latestThe repository also provides Compose files, including an all-in-one setup and a modular one with separate services.
-
Open the web interface at your machine’s address on port 9191 and create the admin account. First-time setup is limited to local and private networks by default.
-
Add your sources: an M3U playlist or an Xtream Codes login.
-
Add guide data: your provider’s XMLTV, or Schedules Direct in the US and Canada. Match channels to guide entries where they don’t line up automatically; see Dispatcharr EPG.
-
Build your channel line-up with only the channels you watch, in the order you want.
-
Connect your apps: add the HDHomeRun-style tuner in Plex, Jellyfin or Emby, or give IPTV players the M3U and XMLTV links or the Xtream login that Dispatcharr creates.
If you put Dispatcharr behind a reverse proxy, the project says to set DISPATCHARR_TRUSTED_PROXIES so it sees clients’ real addresses.
Features worth knowing
- Stream proxy and relay: apps connect to Dispatcharr rather than directly to your provider, which makes it easier to see and manage who’s watching.
- Stream and output profiles: control how streams are fetched and delivered, including transcoding when a client needs a different format.
- DVR, catch-up and timeshift: record channels and use your provider’s Xtream catch-up through the same interface.
- Real-time monitoring of active streams, and multi-user access control.
- Plugins extend it further.
When Dispatcharr is (and isn’t) worth it
It’s worth it if you use a media server, several different player apps, or struggle with guide matching. It’s overkill if you watch in one player on one TV: a good player such as TiviMate handles a single playlist and guide on its own.
Problems?
If channels stop, guide data doesn’t assign, or Plex can’t play streams, see Dispatcharr not working. For a simpler proxy aimed at media servers, compare with Threadfin, or read Dispatcharr vs Threadfin vs xTeVe.
