No description
Find a file
SergeantPanda f5c6d2b576 Enhancement: Implement event-driven logo loading orchestration on Channels page
Introduce gated logo loading system that ensures logos render after both
ChannelsTable and StreamsTable have completed their initial data fetch,
preventing visual race conditions and ensuring proper paint order.

Changes:
- Add `allowLogoRendering` flag to logos store to gate logo fetching
- Implement `onReady` callbacks in ChannelsTable and StreamsTable
- Add orchestration logic in Channels.jsx to coordinate table readiness
- Use double requestAnimationFrame to defer logo loading until after browser paint
- Remove background logo loading from App.jsx (now page-specific)
- Simplify fetchChannelAssignableLogos to reuse fetchAllLogos
- Remove logos dependency from ChannelsTable columns to prevent re-renders

This ensures visual loading order: Channels → EPG → Streams → Logos,
regardless of network speed or data size, without timer-based hacks.
2025-12-26 12:30:08 -06:00
.github Enhancement: Refactor Docker workflows to use docker/metadata-action for cleaner OCI label management 2025-12-18 10:58:48 -06:00
.idea Initial commit 2025-02-18 11:14:09 -06:00
apps Merge branch 'main' into dev 2025-12-19 17:53:06 -06:00
core refactor: externalize Redis and Celery configuration via environment variables 2025-12-18 16:54:59 -06:00
dispatcharr refactor: externalize Redis and Celery configuration via environment variables 2025-12-18 16:54:59 -06:00
docker Merge branch 'main' into dev 2025-12-19 17:53:06 -06:00
frontend Enhancement: Implement event-driven logo loading orchestration on Channels page 2025-12-26 12:30:08 -06:00
scripts Add update_changelog script and integrate it into release workflow 2025-12-02 12:14:50 -06:00
.dockerignore Feature: Automated configuration backups with scheduling 2025-11-26 21:11:13 -06:00
.gitattributes Added gitattributes to support multi-platform development without getting noisy diffs. 2025-03-24 09:13:29 -05:00
.gitignore Ignore models. 2025-04-11 08:21:05 -05:00
1.png Added screenshots for README.md 2025-04-12 16:01:37 -05:00
2.png Added screenshots for README.md 2025-04-12 16:01:37 -05:00
3.png Added screenshots for README.md 2025-04-12 16:01:37 -05:00
4.png Added screenshots for README.md 2025-04-12 16:01:37 -05:00
5.png Added screenshots for README.md 2025-04-12 16:01:37 -05:00
CHANGELOG.md Release v0.15.0 2025-12-20 00:08:41 +00:00
debian_install.sh Update installed packages, node and create missing folders 2025-10-04 19:11:30 +01:00
fixtures.json Download Sentence Transformer model locally 2025-03-18 21:39:07 -05:00
LICENSE Create LICENSE 2025-02-18 11:22:47 -06:00
manage.py Initial commit 2025-02-18 11:14:09 -06:00
Plugins.md Updated Plugins 2025-09-07 11:54:22 -05:00
README.md Initial backend commit for vod 2025-08-02 10:42:36 -05:00
requirements.txt Enhancement: Updated dependencies: Django (5.2.4 → 5.2.9) includes CVE security patch, psycopg2-binary (2.9.10 → 2.9.11), celery (5.5.3 → 5.6.0), djangorestframework (3.16.0 → 3.16.1), requests (2.32.4 → 2.32.5), psutil (7.0.0 → 7.1.3), gevent (25.5.1 → 25.9.1), rapidfuzz (3.13.0 → 3.14.3), torch (2.7.1 → 2.9.1), sentence-transformers (5.1.0 → 5.2.0), lxml (6.0.0 → 6.0.2) (Closes #662) 2025-12-18 13:19:18 -06:00
version.py Release v0.15.0 2025-12-20 00:08:41 +00:00

🎬 Dispatcharr — Your Ultimate IPTV & Stream Management Companion

Dispatcharr Logo


📖 What is Dispatcharr?

Dispatcharr is an open-source powerhouse for managing IPTV streams and EPG data 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 familys IPTV cousin — simple, smart, and designed for streamers who want reliability and flexibility.


🧪 Whats New in Beta

Dispatcharr has officially entered BETA, bringing powerful new features and improvements across the board:

Proxy Streaming Engine — Optimize bandwidth, reduce provider connections, and increase stream reliability
📊 Real-Time Stats Dashboard — Live insights into stream health and client activity
🧠 EPG Auto-Match — Match program data to channels automatically
⚙️ Streamlink + FFmpeg Support — Flexible backend options for streaming and recording
🎬 VOD Management — Full Video on Demand support with movies and TV series
🧼 UI & UX Enhancements — Smoother, faster, more responsive interface
🛁 Output Compatibility — HDHomeRun, M3U, and XMLTV EPG support for Plex, Jellyfin, and more


Why You'll Love Dispatcharr

Full IPTV Control — Import, organize, proxy, and monitor IPTV streams on your own terms
Smart Playlist Handling — M3U import, filtering, grouping, and failover support
VOD Content Management — Organize movies and TV series with metadata and streaming
Reliable EPG Integration — Match and manage TV guide data with ease
Clean & Responsive Interface — Modern design that gets out of your way
Fully Self-Hosted — Total control, zero reliance on third-party services


Screenshots

image

image

image

image

image

🚀 Get Started in Minutes

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 Case File Description
All-in-One Deployment docker-compose.aio.yml Recommended! A simple, all-in-one solution — everything runs in a single container for quick setup.
Modular Deployment docker-compose.yml Separate containers for Dispatcharr, Celery, and Postgres — perfect if you want more granular control.
Development Environment docker-compose.dev.yml Developer-friendly setup with pre-configured ports and settings for contributing and testing.

⚒️ Building from Source (For the Adventurous)

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

If you are running a Debian based operating system you can install using the debian_install.sh script. If you are on another operating system and come up with a script let us know! We would love to add it here!


🤝 Want to Contribute?

We welcome PRs, issues, ideas, and suggestions!
Heres how you can join the party:

  • Follow our coding style and best practices.
  • Be respectful, helpful, and open-minded.
  • Respect the CC BY-NC-SA license.

Whether its writing docs, squashing bugs, or building new features, your contribution matters! 🙌


📚 Roadmap & Documentation


❤️ Shoutouts

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


⚖️ License

Dispatcharr is licensed under CC BY-NC-SA 4.0:

  • BY: Give credit where credits due.
  • NC: No commercial use.
  • SA: Share alike if you remix.

For full license details, see LICENSE.


✉️ Connect With Us

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


🚀 Happy Streaming! The Dispatcharr Team