Repository files navigation

🎬 Dispatcharr — Your Ultimate IPTV & Stream Management Companion

Dispatcharr Logo


📖 What is Dispatcharr?

Dispatcharr (pronounced like "dispatcher") is an open-source powerhouse for managing IPTV streams, EPG data, and VOD content with elegance and control.
Born from necessity and built with passion, it started as a personal project by OkinawaBoss and evolved with contributions from legends like dekzter, SergeantPanda and Bucatini.

Think of Dispatcharr as the *arr family's IPTV cousin — simple, smart, and designed for streamers who want reliability and flexibility.


🎯 What Can I Do With Dispatcharr?

Dispatcharr empowers you with complete IPTV control. Here are some real-world scenarios:

💡 Consolidate Multiple IPTV Sources
Combine streams from multiple providers into a single interface. Manage, filter, and organize thousands of channels with ease.

📺 Integrate with Media Centers
Use HDHomeRun emulation to add virtual tuners to Plex, Emby, or Jellyfin. They'll discover Dispatcharr as a live TV source and can record programs directly to their own DVR libraries.

📡 Create a Personal TV Ecosystem
Merge live TV channels with custom EPG guides. Generate XMLTV schedules or use auto-matching to align channels with existing program data. Export as M3U, Xtream Codes API, or HDHomeRun device.

🔧 Transcode & Optimize Streams
Configure output profiles with FFmpeg transcoding to optimize streams for different clients (reduce bandwidth, standardize formats, or add audio normalization).

🔐 Centralize VPN Access
Run Dispatcharr through a VPN container (like Gluetun) so all streams route through a single VPN connection. Your clients access geo-blocked content without needing individual VPNs, reducing bandwidth overhead and simplifying network management.

🚀 Monitor & Manage in Real-Time
Track active streams, client connections, and bandwidth usage with live statistics. Monitor buffering events and stream quality. Automatic failover keeps viewers connected when streams fail—seamlessly switching to backup sources without interruption.

👥 Share Access Safely
Create multiple user accounts with granular permissions. Share streams via M3U playlists or Xtream Codes API while controlling which users access which channels, profiles, or features. Network-based access restrictions available for additional security.

🔌 Extend with Plugins
Build custom integrations using Dispatcharr's robust plugin system. Automate tasks, connect to external services, or add entirely new workflows.


✨ Why You'll Love Dispatcharr

Stream Proxy & Relay — Intercept and proxy IPTV streams with real-time client management
M3U & Xtream Codes — Import, filter, and organize playlists with multiple backend support
EPG Matching & Generation — Auto-match EPG to channels or generate custom TV guides
Video on Demand — Stream movies and TV series with rich metadata and IMDB/TMDB integration
Multi-Format Output — Export as M3U, XMLTV EPG, Xtream Codes API, or HDHomeRun device
Real-Time Monitoring — Live connection stats, bandwidth tracking, and automatic failover
Stream Profiles — Configure how Dispatcharr connects to backend streams (VLC, FFmpeg, Streamlink, or custom commands)
Output Profiles — Transcode what stream profiles deliver before it reaches the client (e.g. AC3 for media servers, AAC for browsers) with fMP4 or MPEG-TS container selection
Multi-User & Access Control — Granular permissions and network-based access restrictions
Plugin System — Extend functionality with custom plugins for automation and integrations
Fully Self-Hosted — Total control, no third-party dependencies


Screenshots

ChannelsTV GuideStats & MonitoringM3U & EPG ManagerVOD LibrarySettings

🛠️ Troubleshooting & Help


🚀 Get Started in Minutes

🐳 Quick Start with Docker (Recommended)

docker pull ghcr.io/dispatcharr/dispatcharr:latest
docker run -d \
-p 9191:9191 \
--name dispatcharr \
-v dispatcharr_data:/data \
ghcr.io/dispatcharr/dispatcharr:latest

Customize ports and volumes to fit your setup.


🐋 Docker Compose Options

Use CaseFileDescription
All-in-One Deploymentdocker-compose.aio.yml⭐ Recommended! A simple, all-in-one solution — everything runs in a single container for quick setup.
Modular Deploymentdocker-compose.ymlSeparate containers for Dispatcharr, Celery, Redis, and Postgres — perfect if you want more granular control.
Development Environmentdocker-compose.dev.ymlDeveloper-friendly setup with pre-configured ports and settings for contributing and testing.

🛠️ Building from Source

⚠️Warning: Not officially supported — but if you're here, you know what you're doing!

If you are running a Debian-based OS, use the debian_install.sh script. For other OS, contribute a script and we’ll add it!


🤝 Want to Contribute?

We welcome PRs, issues, ideas, and suggestions!

Whether it's writing docs, squashing bugs, or building new features, your contribution matters! 🙋


📚 Documentation & Roadmap

Upcoming Features (in no particular order):

  • 🎬 VOD Management Enhancements — Granular metadata control and cleanup of unwanted VOD content
  • 📁 Media Library — Import local files and serve them over XC API
  • 👥 Enhanced User Management — Customizable XC API output per user account
  • 🔌 Fallback Videos — Automatic fallback content when channels are unavailable

❤️ Shoutouts

A huge thank you to all the incredible open-source projects and libraries that power Dispatcharr. We stand on the shoulders of giants!


✉️ Connect With Us

Have a question? Want to suggest a feature? Just want to say hi?
➡️ Open an issue or reach out on Discord.


💖 Support Dispatcharr

Dispatcharr Open Collective

Open Collective provides a transparent way for anyone who finds value in Dispatcharr to support things like: • Infrastructure costs (Domains, Servers, etc.) • Apple Developer Program and Google Play Developer accounts • Helping contributors dedicate more time to improving the project

Support is completely optional, and Dispatcharr will always remain free and open-source.

Contribute here


⚖️ License & Legal

Dispatcharr is licensed under GNU AGPL v3.0: For full license details, see LICENSE.

Dispatcharr is a trademark of the Dispatcharr project. Use of the Dispatcharr name or logo requires permission from the maintainers.


🚀 Happy Streaming! The Dispatcharr Team

About

No description, website, or topics provided.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

🎬 Dispatcharr — Your Ultimate IPTV & Stream Management Companion

Dispatcharr Logo


📖 What is Dispatcharr?

Dispatcharr (pronounced like "dispatcher") is an open-source powerhouse for managing IPTV streams, EPG data, and VOD content with elegance and control.
Born from necessity and built with passion, it started as a personal project by OkinawaBoss and evolved with contributions from legends like dekzter, SergeantPanda and Bucatini.

Think of Dispatcharr as the *arr family's IPTV cousin — simple, smart, and designed for streamers who want reliability and flexibility.


🎯 What Can I Do With Dispatcharr?

Dispatcharr empowers you with complete IPTV control. Here are some real-world scenarios:

💡 Consolidate Multiple IPTV Sources
Combine streams from multiple providers into a single interface. Manage, filter, and organize thousands of channels with ease.

📺 Integrate with Media Centers
Use HDHomeRun emulation to add virtual tuners to Plex, Emby, or Jellyfin. They'll discover Dispatcharr as a live TV source and can record programs directly to their own DVR libraries.

📡 Create a Personal TV Ecosystem
Merge live TV channels with custom EPG guides. Generate XMLTV schedules or use auto-matching to align channels with existing program data. Export as M3U, Xtream Codes API, or HDHomeRun device.

🔧 Transcode & Optimize Streams
Configure output profiles with FFmpeg transcoding to optimize streams for different clients (reduce bandwidth, standardize formats, or add audio normalization).

🔐 Centralize VPN Access
Run Dispatcharr through a VPN container (like Gluetun) so all streams route through a single VPN connection. Your clients access geo-blocked content without needing individual VPNs, reducing bandwidth overhead and simplifying network management.

🚀 Monitor & Manage in Real-Time
Track active streams, client connections, and bandwidth usage with live statistics. Monitor buffering events and stream quality. Automatic failover keeps viewers connected when streams fail—seamlessly switching to backup sources without interruption.

👥 Share Access Safely
Create multiple user accounts with granular permissions. Share streams via M3U playlists or Xtream Codes API while controlling which users access which channels, profiles, or features. Network-based access restrictions available for additional security.

🔌 Extend with Plugins
Build custom integrations using Dispatcharr's robust plugin system. Automate tasks, connect to external services, or add entirely new workflows.


✨ Why You'll Love Dispatcharr

Stream Proxy & Relay — Intercept and proxy IPTV streams with real-time client management
M3U & Xtream Codes — Import, filter, and organize playlists with multiple backend support
EPG Matching & Generation — Auto-match EPG to channels or generate custom TV guides
Video on Demand — Stream movies and TV series with rich metadata and IMDB/TMDB integration
Multi-Format Output — Export as M3U, XMLTV EPG, Xtream Codes API, or HDHomeRun device
Real-Time Monitoring — Live connection stats, bandwidth tracking, and automatic failover
Stream Profiles — Configure how Dispatcharr connects to backend streams (VLC, FFmpeg, Streamlink, or custom commands)
Output Profiles — Transcode what stream profiles deliver before it reaches the client (e.g. AC3 for media servers, AAC for browsers) with fMP4 or MPEG-TS container selection
Multi-User & Access Control — Granular permissions and network-based access restrictions
Plugin System — Extend functionality with custom plugins for automation and integrations
Fully Self-Hosted — Total control, no third-party dependencies


Screenshots

ChannelsTV GuideStats & MonitoringM3U & EPG ManagerVOD LibrarySettings

🛠️ Troubleshooting & Help


🚀 Get Started in Minutes

🐳 Quick Start with Docker (Recommended)

docker pull ghcr.io/dispatcharr/dispatcharr:latest
docker run -d \
-p 9191:9191 \
--name dispatcharr \
-v dispatcharr_data:/data \
ghcr.io/dispatcharr/dispatcharr:latest

Customize ports and volumes to fit your setup.


🐋 Docker Compose Options

Use CaseFileDescription
All-in-One Deploymentdocker-compose.aio.yml⭐ Recommended! A simple, all-in-one solution — everything runs in a single container for quick setup.
Modular Deploymentdocker-compose.ymlSeparate containers for Dispatcharr, Celery, Redis, and Postgres — perfect if you want more granular control.
Development Environmentdocker-compose.dev.ymlDeveloper-friendly setup with pre-configured ports and settings for contributing and testing.

🛠️ Building from Source

⚠️Warning: Not officially supported — but if you're here, you know what you're doing!

If you are running a Debian-based OS, use the debian_install.sh script. For other OS, contribute a script and we’ll add it!


🤝 Want to Contribute?

We welcome PRs, issues, ideas, and suggestions!

Whether it's writing docs, squashing bugs, or building new features, your contribution matters! 🙋


📚 Documentation & Roadmap

Upcoming Features (in no particular order):

  • 🎬 VOD Management Enhancements — Granular metadata control and cleanup of unwanted VOD content
  • 📁 Media Library — Import local files and serve them over XC API
  • 👥 Enhanced User Management — Customizable XC API output per user account
  • 🔌 Fallback Videos — Automatic fallback content when channels are unavailable

❤️ Shoutouts

A huge thank you to all the incredible open-source projects and libraries that power Dispatcharr. We stand on the shoulders of giants!


✉️ Connect With Us

Have a question? Want to suggest a feature? Just want to say hi?
➡️ Open an issue or reach out on Discord.


💖 Support Dispatcharr

Dispatcharr Open Collective

Open Collective provides a transparent way for anyone who finds value in Dispatcharr to support things like: • Infrastructure costs (Domains, Servers, etc.) • Apple Developer Program and Google Play Developer accounts • Helping contributors dedicate more time to improving the project

Support is completely optional, and Dispatcharr will always remain free and open-source.

Contribute here


⚖️ License & Legal

Dispatcharr is licensed under GNU AGPL v3.0: For full license details, see LICENSE.

Dispatcharr is a trademark of the Dispatcharr project. Use of the Dispatcharr name or logo requires permission from the maintainers.


🚀 Happy Streaming! The Dispatcharr Team

About

No description, website, or topics provided.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

🎬 Dispatcharr — Your Ultimate IPTV & Stream Management Companion

Dispatcharr Logo


📖 What is Dispatcharr?

Dispatcharr (pronounced like "dispatcher") is an open-source powerhouse for managing IPTV streams, EPG data, and VOD content with elegance and control.
Born from necessity and built with passion, it started as a personal project by OkinawaBoss and evolved with contributions from legends like dekzter, SergeantPanda and Bucatini.

Think of Dispatcharr as the *arr family's IPTV cousin — simple, smart, and designed for streamers who want reliability and flexibility.


🎯 What Can I Do With Dispatcharr?

Dispatcharr empowers you with complete IPTV control. Here are some real-world scenarios:

💡 Consolidate Multiple IPTV Sources
Combine streams from multiple providers into a single interface. Manage, filter, and organize thousands of channels with ease.

📺 Integrate with Media Centers
Use HDHomeRun emulation to add virtual tuners to Plex, Emby, or Jellyfin. They'll discover Dispatcharr as a live TV source and can record programs directly to their own DVR libraries.

📡 Create a Personal TV Ecosystem
Merge live TV channels with custom EPG guides. Generate XMLTV schedules or use auto-matching to align channels with existing program data. Export as M3U, Xtream Codes API, or HDHomeRun device.

🔧 Transcode & Optimize Streams
Configure output profiles with FFmpeg transcoding to optimize streams for different clients (reduce bandwidth, standardize formats, or add audio normalization).

🔐 Centralize VPN Access
Run Dispatcharr through a VPN container (like Gluetun) so all streams route through a single VPN connection. Your clients access geo-blocked content without needing individual VPNs, reducing bandwidth overhead and simplifying network management.

🚀 Monitor & Manage in Real-Time
Track active streams, client connections, and bandwidth usage with live statistics. Monitor buffering events and stream quality. Automatic failover keeps viewers connected when streams fail—seamlessly switching to backup sources without interruption.

👥 Share Access Safely
Create multiple user accounts with granular permissions. Share streams via M3U playlists or Xtream Codes API while controlling which users access which channels, profiles, or features. Network-based access restrictions available for additional security.

🔌 Extend with Plugins
Build custom integrations using Dispatcharr's robust plugin system. Automate tasks, connect to external services, or add entirely new workflows.


✨ Why You'll Love Dispatcharr

Stream Proxy & Relay — Intercept and proxy IPTV streams with real-time client management
M3U & Xtream Codes — Import, filter, and organize playlists with multiple backend support
EPG Matching & Generation — Auto-match EPG to channels or generate custom TV guides
Video on Demand — Stream movies and TV series with rich metadata and IMDB/TMDB integration
Multi-Format Output — Export as M3U, XMLTV EPG, Xtream Codes API, or HDHomeRun device
Real-Time Monitoring — Live connection stats, bandwidth tracking, and automatic failover
Stream Profiles — Configure how Dispatcharr connects to backend streams (VLC, FFmpeg, Streamlink, or custom commands)
Output Profiles — Transcode what stream profiles deliver before it reaches the client (e.g. AC3 for media servers, AAC for browsers) with fMP4 or MPEG-TS container selection
Multi-User & Access Control — Granular permissions and network-based access restrictions
Plugin System — Extend functionality with custom plugins for automation and integrations
Fully Self-Hosted — Total control, no third-party dependencies


Screenshots

ChannelsTV GuideStats & MonitoringM3U & EPG ManagerVOD LibrarySettings

🛠️ Troubleshooting & Help


🚀 Get Started in Minutes

🐳 Quick Start with Docker (Recommended)

docker pull ghcr.io/dispatcharr/dispatcharr:latest
docker run -d \
-p 9191:9191 \
--name dispatcharr \
-v dispatcharr_data:/data \
ghcr.io/dispatcharr/dispatcharr:latest

Customize ports and volumes to fit your setup.


🐋 Docker Compose Options

Use CaseFileDescription
All-in-One Deploymentdocker-compose.aio.yml⭐ Recommended! A simple, all-in-one solution — everything runs in a single container for quick setup.
Modular Deploymentdocker-compose.ymlSeparate containers for Dispatcharr, Celery, Redis, and Postgres — perfect if you want more granular control.
Development Environmentdocker-compose.dev.ymlDeveloper-friendly setup with pre-configured ports and settings for contributing and testing.

🛠️ Building from Source

⚠️Warning: Not officially supported — but if you're here, you know what you're doing!

If you are running a Debian-based OS, use the debian_install.sh script. For other OS, contribute a script and we’ll add it!


🤝 Want to Contribute?

We welcome PRs, issues, ideas, and suggestions!

Whether it's writing docs, squashing bugs, or building new features, your contribution matters! 🙋


📚 Documentation & Roadmap

Upcoming Features (in no particular order):

  • 🎬 VOD Management Enhancements — Granular metadata control and cleanup of unwanted VOD content
  • 📁 Media Library — Import local files and serve them over XC API
  • 👥 Enhanced User Management — Customizable XC API output per user account
  • 🔌 Fallback Videos — Automatic fallback content when channels are unavailable

❤️ Shoutouts

A huge thank you to all the incredible open-source projects and libraries that power Dispatcharr. We stand on the shoulders of giants!


✉️ Connect With Us

Have a question? Want to suggest a feature? Just want to say hi?
➡️ Open an issue or reach out on Discord.


💖 Support Dispatcharr

Dispatcharr Open Collective

Open Collective provides a transparent way for anyone who finds value in Dispatcharr to support things like: • Infrastructure costs (Domains, Servers, etc.) • Apple Developer Program and Google Play Developer accounts • Helping contributors dedicate more time to improving the project

Support is completely optional, and Dispatcharr will always remain free and open-source.

Contribute here


⚖️ License & Legal

Dispatcharr is licensed under GNU AGPL v3.0: For full license details, see LICENSE.

Dispatcharr is a trademark of the Dispatcharr project. Use of the Dispatcharr name or logo requires permission from the maintainers.


🚀 Happy Streaming! The Dispatcharr Team

About

No description, website, or topics provided.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

🎬 Dispatcharr — Your Ultimate IPTV & Stream Management Companion

Dispatcharr Logo


📖 What is Dispatcharr?

Dispatcharr (pronounced like "dispatcher") is an open-source powerhouse for managing IPTV streams, EPG data, and VOD content with elegance and control.
Born from necessity and built with passion, it started as a personal project by OkinawaBoss and evolved with contributions from legends like dekzter, SergeantPanda and Bucatini.

Think of Dispatcharr as the *arr family's IPTV cousin — simple, smart, and designed for streamers who want reliability and flexibility.


🎯 What Can I Do With Dispatcharr?

Dispatcharr empowers you with complete IPTV control. Here are some real-world scenarios:

💡 Consolidate Multiple IPTV Sources
Combine streams from multiple providers into a single interface. Manage, filter, and organize thousands of channels with ease.

📺 Integrate with Media Centers
Use HDHomeRun emulation to add virtual tuners to Plex, Emby, or Jellyfin. They'll discover Dispatcharr as a live TV source and can record programs directly to their own DVR libraries.

📡 Create a Personal TV Ecosystem
Merge live TV channels with custom EPG guides. Generate XMLTV schedules or use auto-matching to align channels with existing program data. Export as M3U, Xtream Codes API, or HDHomeRun device.

🔧 Transcode & Optimize Streams
Configure output profiles with FFmpeg transcoding to optimize streams for different clients (reduce bandwidth, standardize formats, or add audio normalization).

🔐 Centralize VPN Access
Run Dispatcharr through a VPN container (like Gluetun) so all streams route through a single VPN connection. Your clients access geo-blocked content without needing individual VPNs, reducing bandwidth overhead and simplifying network management.

🚀 Monitor & Manage in Real-Time
Track active streams, client connections, and bandwidth usage with live statistics. Monitor buffering events and stream quality. Automatic failover keeps viewers connected when streams fail—seamlessly switching to backup sources without interruption.

👥 Share Access Safely
Create multiple user accounts with granular permissions. Share streams via M3U playlists or Xtream Codes API while controlling which users access which channels, profiles, or features. Network-based access restrictions available for additional security.

🔌 Extend with Plugins
Build custom integrations using Dispatcharr's robust plugin system. Automate tasks, connect to external services, or add entirely new workflows.


✨ Why You'll Love Dispatcharr

Stream Proxy & Relay — Intercept and proxy IPTV streams with real-time client management
M3U & Xtream Codes — Import, filter, and organize playlists with multiple backend support
EPG Matching & Generation — Auto-match EPG to channels or generate custom TV guides
Video on Demand — Stream movies and TV series with rich metadata and IMDB/TMDB integration
Multi-Format Output — Export as M3U, XMLTV EPG, Xtream Codes API, or HDHomeRun device
Real-Time Monitoring — Live connection stats, bandwidth tracking, and automatic failover
Stream Profiles — Configure how Dispatcharr connects to backend streams (VLC, FFmpeg, Streamlink, or custom commands)
Output Profiles — Transcode what stream profiles deliver before it reaches the client (e.g. AC3 for media servers, AAC for browsers) with fMP4 or MPEG-TS container selection
Multi-User & Access Control — Granular permissions and network-based access restrictions
Plugin System — Extend functionality with custom plugins for automation and integrations
Fully Self-Hosted — Total control, no third-party dependencies


Screenshots

ChannelsTV GuideStats & MonitoringM3U & EPG ManagerVOD LibrarySettings

🛠️ Troubleshooting & Help


🚀 Get Started in Minutes

🐳 Quick Start with Docker (Recommended)

docker pull ghcr.io/dispatcharr/dispatcharr:latest
docker run -d \
-p 9191:9191 \
--name dispatcharr \
-v dispatcharr_data:/data \
ghcr.io/dispatcharr/dispatcharr:latest

Customize ports and volumes to fit your setup.


🐋 Docker Compose Options

Use CaseFileDescription
All-in-One Deploymentdocker-compose.aio.yml⭐ Recommended! A simple, all-in-one solution — everything runs in a single container for quick setup.
Modular Deploymentdocker-compose.ymlSeparate containers for Dispatcharr, Celery, Redis, and Postgres — perfect if you want more granular control.
Development Environmentdocker-compose.dev.ymlDeveloper-friendly setup with pre-configured ports and settings for contributing and testing.

🛠️ Building from Source

⚠️Warning: Not officially supported — but if you're here, you know what you're doing!

If you are running a Debian-based OS, use the debian_install.sh script. For other OS, contribute a script and we’ll add it!


🤝 Want to Contribute?

We welcome PRs, issues, ideas, and suggestions!

Whether it's writing docs, squashing bugs, or building new features, your contribution matters! 🙋


📚 Documentation & Roadmap

Upcoming Features (in no particular order):

  • 🎬 VOD Management Enhancements — Granular metadata control and cleanup of unwanted VOD content
  • 📁 Media Library — Import local files and serve them over XC API
  • 👥 Enhanced User Management — Customizable XC API output per user account
  • 🔌 Fallback Videos — Automatic fallback content when channels are unavailable

❤️ Shoutouts

A huge thank you to all the incredible open-source projects and libraries that power Dispatcharr. We stand on the shoulders of giants!


✉️ Connect With Us

Have a question? Want to suggest a feature? Just want to say hi?
➡️ Open an issue or reach out on Discord.


💖 Support Dispatcharr

Dispatcharr Open Collective

Open Collective provides a transparent way for anyone who finds value in Dispatcharr to support things like: • Infrastructure costs (Domains, Servers, etc.) • Apple Developer Program and Google Play Developer accounts • Helping contributors dedicate more time to improving the project

Support is completely optional, and Dispatcharr will always remain free and open-source.

Contribute here


⚖️ License & Legal

Dispatcharr is licensed under GNU AGPL v3.0: For full license details, see LICENSE.

Dispatcharr is a trademark of the Dispatcharr project. Use of the Dispatcharr name or logo requires permission from the maintainers.


🚀 Happy Streaming! The Dispatcharr Team

About

No description, website, or topics provided.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

🎬 Dispatcharr — Your Ultimate IPTV & Stream Management Companion

Dispatcharr Logo


📖 What is Dispatcharr?

Dispatcharr (pronounced like "dispatcher") is an open-source powerhouse for managing IPTV streams, EPG data, and VOD content with elegance and control.
Born from necessity and built with passion, it started as a personal project by OkinawaBoss and evolved with contributions from legends like dekzter, SergeantPanda and Bucatini.

Think of Dispatcharr as the *arr family's IPTV cousin — simple, smart, and designed for streamers who want reliability and flexibility.


🎯 What Can I Do With Dispatcharr?

Dispatcharr empowers you with complete IPTV control. Here are some real-world scenarios:

💡 Consolidate Multiple IPTV Sources
Combine streams from multiple providers into a single interface. Manage, filter, and organize thousands of channels with ease.

📺 Integrate with Media Centers
Use HDHomeRun emulation to add virtual tuners to Plex, Emby, or Jellyfin. They'll discover Dispatcharr as a live TV source and can record programs directly to their own DVR libraries.

📡 Create a Personal TV Ecosystem
Merge live TV channels with custom EPG guides. Generate XMLTV schedules or use auto-matching to align channels with existing program data. Export as M3U, Xtream Codes API, or HDHomeRun device.

🔧 Transcode & Optimize Streams
Configure output profiles with FFmpeg transcoding to optimize streams for different clients (reduce bandwidth, standardize formats, or add audio normalization).

🔐 Centralize VPN Access
Run Dispatcharr through a VPN container (like Gluetun) so all streams route through a single VPN connection. Your clients access geo-blocked content without needing individual VPNs, reducing bandwidth overhead and simplifying network management.

🚀 Monitor & Manage in Real-Time
Track active streams, client connections, and bandwidth usage with live statistics. Monitor buffering events and stream quality. Automatic failover keeps viewers connected when streams fail—seamlessly switching to backup sources without interruption.

👥 Share Access Safely
Create multiple user accounts with granular permissions. Share streams via M3U playlists or Xtream Codes API while controlling which users access which channels, profiles, or features. Network-based access restrictions available for additional security.

🔌 Extend with Plugins
Build custom integrations using Dispatcharr's robust plugin system. Automate tasks, connect to external services, or add entirely new workflows.


✨ Why You'll Love Dispatcharr

Stream Proxy & Relay — Intercept and proxy IPTV streams with real-time client management
M3U & Xtream Codes — Import, filter, and organize playlists with multiple backend support
EPG Matching & Generation — Auto-match EPG to channels or generate custom TV guides
Video on Demand — Stream movies and TV series with rich metadata and IMDB/TMDB integration
Multi-Format Output — Export as M3U, XMLTV EPG, Xtream Codes API, or HDHomeRun device
Real-Time Monitoring — Live connection stats, bandwidth tracking, and automatic failover
Stream Profiles — Configure how Dispatcharr connects to backend streams (VLC, FFmpeg, Streamlink, or custom commands)
Output Profiles — Transcode what stream profiles deliver before it reaches the client (e.g. AC3 for media servers, AAC for browsers) with fMP4 or MPEG-TS container selection
Multi-User & Access Control — Granular permissions and network-based access restrictions
Plugin System — Extend functionality with custom plugins for automation and integrations
Fully Self-Hosted — Total control, no third-party dependencies


Screenshots

ChannelsTV GuideStats & MonitoringM3U & EPG ManagerVOD LibrarySettings

🛠️ Troubleshooting & Help


🚀 Get Started in Minutes

🐳 Quick Start with Docker (Recommended)

docker pull ghcr.io/dispatcharr/dispatcharr:latest
docker run -d \
-p 9191:9191 \
--name dispatcharr \
-v dispatcharr_data:/data \
ghcr.io/dispatcharr/dispatcharr:latest

Customize ports and volumes to fit your setup.


🐋 Docker Compose Options

Use CaseFileDescription
All-in-One Deploymentdocker-compose.aio.yml⭐ Recommended! A simple, all-in-one solution — everything runs in a single container for quick setup.
Modular Deploymentdocker-compose.ymlSeparate containers for Dispatcharr, Celery, Redis, and Postgres — perfect if you want more granular control.
Development Environmentdocker-compose.dev.ymlDeveloper-friendly setup with pre-configured ports and settings for contributing and testing.

🛠️ Building from Source

⚠️Warning: Not officially supported — but if you're here, you know what you're doing!

If you are running a Debian-based OS, use the debian_install.sh script. For other OS, contribute a script and we’ll add it!


🤝 Want to Contribute?

We welcome PRs, issues, ideas, and suggestions!

Whether it's writing docs, squashing bugs, or building new features, your contribution matters! 🙋


📚 Documentation & Roadmap

Upcoming Features (in no particular order):

  • 🎬 VOD Management Enhancements — Granular metadata control and cleanup of unwanted VOD content
  • 📁 Media Library — Import local files and serve them over XC API
  • 👥 Enhanced User Management — Customizable XC API output per user account
  • 🔌 Fallback Videos — Automatic fallback content when channels are unavailable

❤️ Shoutouts

A huge thank you to all the incredible open-source projects and libraries that power Dispatcharr. We stand on the shoulders of giants!


✉️ Connect With Us

Have a question? Want to suggest a feature? Just want to say hi?
➡️ Open an issue or reach out on Discord.


💖 Support Dispatcharr

Dispatcharr Open Collective

Open Collective provides a transparent way for anyone who finds value in Dispatcharr to support things like: • Infrastructure costs (Domains, Servers, etc.) • Apple Developer Program and Google Play Developer accounts • Helping contributors dedicate more time to improving the project

Support is completely optional, and Dispatcharr will always remain free and open-source.

Contribute here


⚖️ License & Legal

Dispatcharr is licensed under GNU AGPL v3.0: For full license details, see LICENSE.

Dispatcharr is a trademark of the Dispatcharr project. Use of the Dispatcharr name or logo requires permission from the maintainers.


🚀 Happy Streaming! The Dispatcharr Team

About

No description, website, or topics provided.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

🎬 Dispatcharr — Your Ultimate IPTV & Stream Management Companion

Dispatcharr Logo


📖 What is Dispatcharr?

Dispatcharr (pronounced like "dispatcher") is an open-source powerhouse for managing IPTV streams, EPG data, and VOD content with elegance and control.
Born from necessity and built with passion, it started as a personal project by OkinawaBoss and evolved with contributions from legends like dekzter, SergeantPanda and Bucatini.

Think of Dispatcharr as the *arr family's IPTV cousin — simple, smart, and designed for streamers who want reliability and flexibility.


🎯 What Can I Do With Dispatcharr?

Dispatcharr empowers you with complete IPTV control. Here are some real-world scenarios:

💡 Consolidate Multiple IPTV Sources
Combine streams from multiple providers into a single interface. Manage, filter, and organize thousands of channels with ease.

📺 Integrate with Media Centers
Use HDHomeRun emulation to add virtual tuners to Plex, Emby, or Jellyfin. They'll discover Dispatcharr as a live TV source and can record programs directly to their own DVR libraries.

📡 Create a Personal TV Ecosystem
Merge live TV channels with custom EPG guides. Generate XMLTV schedules or use auto-matching to align channels with existing program data. Export as M3U, Xtream Codes API, or HDHomeRun device.

🔧 Transcode & Optimize Streams
Configure output profiles with FFmpeg transcoding to optimize streams for different clients (reduce bandwidth, standardize formats, or add audio normalization).

🔐 Centralize VPN Access
Run Dispatcharr through a VPN container (like Gluetun) so all streams route through a single VPN connection. Your clients access geo-blocked content without needing individual VPNs, reducing bandwidth overhead and simplifying network management.

🚀 Monitor & Manage in Real-Time
Track active streams, client connections, and bandwidth usage with live statistics. Monitor buffering events and stream quality. Automatic failover keeps viewers connected when streams fail—seamlessly switching to backup sources without interruption.

👥 Share Access Safely
Create multiple user accounts with granular permissions. Share streams via M3U playlists or Xtream Codes API while controlling which users access which channels, profiles, or features. Network-based access restrictions available for additional security.

🔌 Extend with Plugins
Build custom integrations using Dispatcharr's robust plugin system. Automate tasks, connect to external services, or add entirely new workflows.


✨ Why You'll Love Dispatcharr

Stream Proxy & Relay — Intercept and proxy IPTV streams with real-time client management
M3U & Xtream Codes — Import, filter, and organize playlists with multiple backend support
EPG Matching & Generation — Auto-match EPG to channels or generate custom TV guides
Video on Demand — Stream movies and TV series with rich metadata and IMDB/TMDB integration
Multi-Format Output — Export as M3U, XMLTV EPG, Xtream Codes API, or HDHomeRun device
Real-Time Monitoring — Live connection stats, bandwidth tracking, and automatic failover
Stream Profiles — Configure how Dispatcharr connects to backend streams (VLC, FFmpeg, Streamlink, or custom commands)
Output Profiles — Transcode what stream profiles deliver before it reaches the client (e.g. AC3 for media servers, AAC for browsers) with fMP4 or MPEG-TS container selection
Multi-User & Access Control — Granular permissions and network-based access restrictions
Plugin System — Extend functionality with custom plugins for automation and integrations
Fully Self-Hosted — Total control, no third-party dependencies


Screenshots

ChannelsTV GuideStats & MonitoringM3U & EPG ManagerVOD LibrarySettings

🛠️ Troubleshooting & Help


🚀 Get Started in Minutes

🐳 Quick Start with Docker (Recommended)

docker pull ghcr.io/dispatcharr/dispatcharr:latest
docker run -d \
-p 9191:9191 \
--name dispatcharr \
-v dispatcharr_data:/data \
ghcr.io/dispatcharr/dispatcharr:latest

Customize ports and volumes to fit your setup.


🐋 Docker Compose Options

Use CaseFileDescription
All-in-One Deploymentdocker-compose.aio.yml⭐ Recommended! A simple, all-in-one solution — everything runs in a single container for quick setup.
Modular Deploymentdocker-compose.ymlSeparate containers for Dispatcharr, Celery, Redis, and Postgres — perfect if you want more granular control.
Development Environmentdocker-compose.dev.ymlDeveloper-friendly setup with pre-configured ports and settings for contributing and testing.

🛠️ Building from Source

⚠️Warning: Not officially supported — but if you're here, you know what you're doing!

If you are running a Debian-based OS, use the debian_install.sh script. For other OS, contribute a script and we’ll add it!


🤝 Want to Contribute?

We welcome PRs, issues, ideas, and suggestions!

Whether it's writing docs, squashing bugs, or building new features, your contribution matters! 🙋


📚 Documentation & Roadmap

Upcoming Features (in no particular order):

  • 🎬 VOD Management Enhancements — Granular metadata control and cleanup of unwanted VOD content
  • 📁 Media Library — Import local files and serve them over XC API
  • 👥 Enhanced User Management — Customizable XC API output per user account
  • 🔌 Fallback Videos — Automatic fallback content when channels are unavailable

❤️ Shoutouts

A huge thank you to all the incredible open-source projects and libraries that power Dispatcharr. We stand on the shoulders of giants!


✉️ Connect With Us

Have a question? Want to suggest a feature? Just want to say hi?
➡️ Open an issue or reach out on Discord.


💖 Support Dispatcharr

Dispatcharr Open Collective

Open Collective provides a transparent way for anyone who finds value in Dispatcharr to support things like: • Infrastructure costs (Domains, Servers, etc.) • Apple Developer Program and Google Play Developer accounts • Helping contributors dedicate more time to improving the project

Support is completely optional, and Dispatcharr will always remain free and open-source.

Contribute here


⚖️ License & Legal

Dispatcharr is licensed under GNU AGPL v3.0: For full license details, see LICENSE.

Dispatcharr is a trademark of the Dispatcharr project. Use of the Dispatcharr name or logo requires permission from the maintainers.


🚀 Happy Streaming! The Dispatcharr Team

About

No description, website, or topics provided.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

🎬 Dispatcharr — Your Ultimate IPTV & Stream Management Companion

Dispatcharr Logo


📖 What is Dispatcharr?

Dispatcharr (pronounced like "dispatcher") is an open-source powerhouse for managing IPTV streams, EPG data, and VOD content with elegance and control.
Born from necessity and built with passion, it started as a personal project by OkinawaBoss and evolved with contributions from legends like dekzter, SergeantPanda and Bucatini.

Think of Dispatcharr as the *arr family's IPTV cousin — simple, smart, and designed for streamers who want reliability and flexibility.


🎯 What Can I Do With Dispatcharr?

Dispatcharr empowers you with complete IPTV control. Here are some real-world scenarios:

💡 Consolidate Multiple IPTV Sources
Combine streams from multiple providers into a single interface. Manage, filter, and organize thousands of channels with ease.

📺 Integrate with Media Centers
Use HDHomeRun emulation to add virtual tuners to Plex, Emby, or Jellyfin. They'll discover Dispatcharr as a live TV source and can record programs directly to their own DVR libraries.

📡 Create a Personal TV Ecosystem
Merge live TV channels with custom EPG guides. Generate XMLTV schedules or use auto-matching to align channels with existing program data. Export as M3U, Xtream Codes API, or HDHomeRun device.

🔧 Transcode & Optimize Streams
Configure output profiles with FFmpeg transcoding to optimize streams for different clients (reduce bandwidth, standardize formats, or add audio normalization).

🔐 Centralize VPN Access
Run Dispatcharr through a VPN container (like Gluetun) so all streams route through a single VPN connection. Your clients access geo-blocked content without needing individual VPNs, reducing bandwidth overhead and simplifying network management.

🚀 Monitor & Manage in Real-Time
Track active streams, client connections, and bandwidth usage with live statistics. Monitor buffering events and stream quality. Automatic failover keeps viewers connected when streams fail—seamlessly switching to backup sources without interruption.

👥 Share Access Safely
Create multiple user accounts with granular permissions. Share streams via M3U playlists or Xtream Codes API while controlling which users access which channels, profiles, or features. Network-based access restrictions available for additional security.

🔌 Extend with Plugins
Build custom integrations using Dispatcharr's robust plugin system. Automate tasks, connect to external services, or add entirely new workflows.


✨ Why You'll Love Dispatcharr

Stream Proxy & Relay — Intercept and proxy IPTV streams with real-time client management
M3U & Xtream Codes — Import, filter, and organize playlists with multiple backend support
EPG Matching & Generation — Auto-match EPG to channels or generate custom TV guides
Video on Demand — Stream movies and TV series with rich metadata and IMDB/TMDB integration
Multi-Format Output — Export as M3U, XMLTV EPG, Xtream Codes API, or HDHomeRun device
Real-Time Monitoring — Live connection stats, bandwidth tracking, and automatic failover
Stream Profiles — Configure how Dispatcharr connects to backend streams (VLC, FFmpeg, Streamlink, or custom commands)
Output Profiles — Transcode what stream profiles deliver before it reaches the client (e.g. AC3 for media servers, AAC for browsers) with fMP4 or MPEG-TS container selection
Multi-User & Access Control — Granular permissions and network-based access restrictions
Plugin System — Extend functionality with custom plugins for automation and integrations
Fully Self-Hosted — Total control, no third-party dependencies


Screenshots

ChannelsTV GuideStats & MonitoringM3U & EPG ManagerVOD LibrarySettings

🛠️ Troubleshooting & Help


🚀 Get Started in Minutes

🐳 Quick Start with Docker (Recommended)

docker pull ghcr.io/dispatcharr/dispatcharr:latest
docker run -d \
-p 9191:9191 \
--name dispatcharr \
-v dispatcharr_data:/data \
ghcr.io/dispatcharr/dispatcharr:latest

Customize ports and volumes to fit your setup.


🐋 Docker Compose Options

Use CaseFileDescription
All-in-One Deploymentdocker-compose.aio.yml⭐ Recommended! A simple, all-in-one solution — everything runs in a single container for quick setup.
Modular Deploymentdocker-compose.ymlSeparate containers for Dispatcharr, Celery, Redis, and Postgres — perfect if you want more granular control.
Development Environmentdocker-compose.dev.ymlDeveloper-friendly setup with pre-configured ports and settings for contributing and testing.

🛠️ Building from Source

⚠️Warning: Not officially supported — but if you're here, you know what you're doing!

If you are running a Debian-based OS, use the debian_install.sh script. For other OS, contribute a script and we’ll add it!


🤝 Want to Contribute?

We welcome PRs, issues, ideas, and suggestions!

Whether it's writing docs, squashing bugs, or building new features, your contribution matters! 🙋


📚 Documentation & Roadmap

Upcoming Features (in no particular order):

  • 🎬 VOD Management Enhancements — Granular metadata control and cleanup of unwanted VOD content
  • 📁 Media Library — Import local files and serve them over XC API
  • 👥 Enhanced User Management — Customizable XC API output per user account
  • 🔌 Fallback Videos — Automatic fallback content when channels are unavailable

❤️ Shoutouts

A huge thank you to all the incredible open-source projects and libraries that power Dispatcharr. We stand on the shoulders of giants!


✉️ Connect With Us

Have a question? Want to suggest a feature? Just want to say hi?
➡️ Open an issue or reach out on Discord.


💖 Support Dispatcharr

Dispatcharr Open Collective

Open Collective provides a transparent way for anyone who finds value in Dispatcharr to support things like: • Infrastructure costs (Domains, Servers, etc.) • Apple Developer Program and Google Play Developer accounts • Helping contributors dedicate more time to improving the project

Support is completely optional, and Dispatcharr will always remain free and open-source.

Contribute here


⚖️ License & Legal

Dispatcharr is licensed under GNU AGPL v3.0: For full license details, see LICENSE.

Dispatcharr is a trademark of the Dispatcharr project. Use of the Dispatcharr name or logo requires permission from the maintainers.


🚀 Happy Streaming! The Dispatcharr Team

About

No description, website, or topics provided.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

🎬 Dispatcharr — Your Ultimate IPTV & Stream Management Companion

Dispatcharr Logo


📖 What is Dispatcharr?

Dispatcharr (pronounced like "dispatcher") is an open-source powerhouse for managing IPTV streams, EPG data, and VOD content with elegance and control.
Born from necessity and built with passion, it started as a personal project by OkinawaBoss and evolved with contributions from legends like dekzter, SergeantPanda and Bucatini.

Think of Dispatcharr as the *arr family's IPTV cousin — simple, smart, and designed for streamers who want reliability and flexibility.


🎯 What Can I Do With Dispatcharr?

Dispatcharr empowers you with complete IPTV control. Here are some real-world scenarios:

💡 Consolidate Multiple IPTV Sources
Combine streams from multiple providers into a single interface. Manage, filter, and organize thousands of channels with ease.

📺 Integrate with Media Centers
Use HDHomeRun emulation to add virtual tuners to Plex, Emby, or Jellyfin. They'll discover Dispatcharr as a live TV source and can record programs directly to their own DVR libraries.

📡 Create a Personal TV Ecosystem
Merge live TV channels with custom EPG guides. Generate XMLTV schedules or use auto-matching to align channels with existing program data. Export as M3U, Xtream Codes API, or HDHomeRun device.

🔧 Transcode & Optimize Streams
Configure output profiles with FFmpeg transcoding to optimize streams for different clients (reduce bandwidth, standardize formats, or add audio normalization).

🔐 Centralize VPN Access
Run Dispatcharr through a VPN container (like Gluetun) so all streams route through a single VPN connection. Your clients access geo-blocked content without needing individual VPNs, reducing bandwidth overhead and simplifying network management.

🚀 Monitor & Manage in Real-Time
Track active streams, client connections, and bandwidth usage with live statistics. Monitor buffering events and stream quality. Automatic failover keeps viewers connected when streams fail—seamlessly switching to backup sources without interruption.

👥 Share Access Safely
Create multiple user accounts with granular permissions. Share streams via M3U playlists or Xtream Codes API while controlling which users access which channels, profiles, or features. Network-based access restrictions available for additional security.

🔌 Extend with Plugins
Build custom integrations using Dispatcharr's robust plugin system. Automate tasks, connect to external services, or add entirely new workflows.


✨ Why You'll Love Dispatcharr

Stream Proxy & Relay — Intercept and proxy IPTV streams with real-time client management
M3U & Xtream Codes — Import, filter, and organize playlists with multiple backend support
EPG Matching & Generation — Auto-match EPG to channels or generate custom TV guides
Video on Demand — Stream movies and TV series with rich metadata and IMDB/TMDB integration
Multi-Format Output — Export as M3U, XMLTV EPG, Xtream Codes API, or HDHomeRun device
Real-Time Monitoring — Live connection stats, bandwidth tracking, and automatic failover
Stream Profiles — Configure how Dispatcharr connects to backend streams (VLC, FFmpeg, Streamlink, or custom commands)
Output Profiles — Transcode what stream profiles deliver before it reaches the client (e.g. AC3 for media servers, AAC for browsers) with fMP4 or MPEG-TS container selection
Multi-User & Access Control — Granular permissions and network-based access restrictions
Plugin System — Extend functionality with custom plugins for automation and integrations
Fully Self-Hosted — Total control, no third-party dependencies


Screenshots

ChannelsTV GuideStats & MonitoringM3U & EPG ManagerVOD LibrarySettings

🛠️ Troubleshooting & Help


🚀 Get Started in Minutes

🐳 Quick Start with Docker (Recommended)

docker pull ghcr.io/dispatcharr/dispatcharr:latest
docker run -d \
-p 9191:9191 \
--name dispatcharr \
-v dispatcharr_data:/data \
ghcr.io/dispatcharr/dispatcharr:latest

Customize ports and volumes to fit your setup.


🐋 Docker Compose Options

Use CaseFileDescription
All-in-One Deploymentdocker-compose.aio.yml⭐ Recommended! A simple, all-in-one solution — everything runs in a single container for quick setup.
Modular Deploymentdocker-compose.ymlSeparate containers for Dispatcharr, Celery, Redis, and Postgres — perfect if you want more granular control.
Development Environmentdocker-compose.dev.ymlDeveloper-friendly setup with pre-configured ports and settings for contributing and testing.

🛠️ Building from Source

⚠️Warning: Not officially supported — but if you're here, you know what you're doing!

If you are running a Debian-based OS, use the debian_install.sh script. For other OS, contribute a script and we’ll add it!


🤝 Want to Contribute?

We welcome PRs, issues, ideas, and suggestions!

Whether it's writing docs, squashing bugs, or building new features, your contribution matters! 🙋


📚 Documentation & Roadmap

Upcoming Features (in no particular order):

  • 🎬 VOD Management Enhancements — Granular metadata control and cleanup of unwanted VOD content
  • 📁 Media Library — Import local files and serve them over XC API
  • 👥 Enhanced User Management — Customizable XC API output per user account
  • 🔌 Fallback Videos — Automatic fallback content when channels are unavailable

❤️ Shoutouts

A huge thank you to all the incredible open-source projects and libraries that power Dispatcharr. We stand on the shoulders of giants!


✉️ Connect With Us

Have a question? Want to suggest a feature? Just want to say hi?
➡️ Open an issue or reach out on Discord.


💖 Support Dispatcharr

Dispatcharr Open Collective

Open Collective provides a transparent way for anyone who finds value in Dispatcharr to support things like: • Infrastructure costs (Domains, Servers, etc.) • Apple Developer Program and Google Play Developer accounts • Helping contributors dedicate more time to improving the project

Support is completely optional, and Dispatcharr will always remain free and open-source.

Contribute here


⚖️ License & Legal

Dispatcharr is licensed under GNU AGPL v3.0: For full license details, see LICENSE.

Dispatcharr is a trademark of the Dispatcharr project. Use of the Dispatcharr name or logo requires permission from the maintainers.


🚀 Happy Streaming! The Dispatcharr Team

About

No description, website, or topics provided.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages