Skip to main content
Teamarr manages the full channel lifecycle in Dispatcharr — creating channels when events are found, updating them as data changes, and deleting them when events end. This guide covers initial setup and how the integration works day-to-day.

Initial setup

1

Connect to Dispatcharr

  1. In Teamarr, go to Settings > Dispatcharr
  2. Enable the integration toggle
  3. Enter your Dispatcharr URL (e.g., http://dispatcharr:9191)
  4. Enter your Dispatcharr username and password
  5. Click Test — the status badge should show “Connected”
  6. Click Save
2

Set up the EPG source in Dispatcharr

Dispatcharr needs to pull the XMLTV data that Teamarr generates.
  1. In Teamarr, go to the EPG page and copy the XMLTV URL:
    http://teamarr:9195/api/v1/epg/xmltv
    
  2. In Dispatcharr, add a new EPG source using that URL
  3. Back in Teamarr Settings > Dispatcharr, select your Teamarr EPG source from the dropdown
  4. Click Save
3

Configure default assignments

Still in Settings > Dispatcharr, set the defaults that Teamarr uses when creating new channels:
  • Default Channel Profiles — which Dispatcharr profiles Teamarr-managed channels appear in
  • Default Stream Profile — which stream profile to assign to streams attached to those channels
  • Default Channel Group — which channel group to assign channels to (static name, dynamic {sport} or {league} wildcard, or a custom pattern)
Click Save when done.

How it works day-to-day

Channel lifecycle

Each EPG generation run follows this sequence:
  1. Teamarr refreshes your M3U accounts in Dispatcharr to get the latest stream data
  2. Streams are matched to real sporting events and templates are resolved
  3. Channels are created in Dispatcharr with names, logos, EPG data, streams, and profile/group assignments
  4. Channels are updated when event data changes (scores, status, stream availability)
  5. Channels are deleted when events end, based on the channel lifecycle timing configured in Settings

M3U account refresh

Before stream matching begins, Teamarr triggers a refresh of your M3U accounts in Dispatcharr. This ensures Teamarr is working with the latest available streams at the time of each EPG generation run.

Profile and group sync

Teamarr enforces profile and group assignments on every generation run. If a channel’s profiles are changed manually in Dispatcharr, Teamarr corrects them on the next run. This self-healing behavior keeps your channel configuration consistent without manual intervention.
Dynamic wildcards in the channel group setting — {sport} and {league} — automatically create matching profiles and groups in Dispatcharr if they do not already exist.

Reconciliation and drift detection

The Channels page can detect drift between Teamarr’s expected state and Dispatcharr’s actual state:
StatusMeaningAction
DriftedChannel exists in both but has mismatched profiles, streams, or settingsAutomatically corrected on the next generation run
OrphanedChannel exists in Dispatcharr but is not tracked by TeamarrCan be cleaned up manually from the Channels page

Network configuration

Teamarr and Dispatcharr need to reach each other over the network. The correct URL format depends on how they are deployed.

Docker Compose on the same host

If both containers share the same Docker network, use container names as hostnames:
# Teamarr Settings > Dispatcharr URL
http://dispatcharr:9191

# Dispatcharr EPG source URL (added in Dispatcharr)
http://teamarr:9195/api/v1/epg/xmltv
To place both containers on the same Docker network, either define a shared networks: block in a combined docker-compose.yml, or use the default bridge network if both compose files are in the same directory.

Separate hosts

Use the IP address or hostname of each server:
# Teamarr → Dispatcharr
http://192.168.1.100:9191

# Dispatcharr → Teamarr EPG
http://192.168.1.101:9195/api/v1/epg/xmltv

Troubleshooting connection issues

ProblemSolution
Status shows “Disconnected”Verify the URL is correct and Dispatcharr is running. Check that both containers are on the same Docker network if running on the same host.
Status shows “Error”Hover over the status badge for details. Common causes: wrong credentials, firewall blocking the port, or Dispatcharr behind a reverse proxy with SSL mismatch.
EPG source dropdown is emptyAdd the Teamarr XMLTV URL as an EPG source in Dispatcharr before returning to Teamarr Settings to select it.
Channels not appearing in DispatcharrRun EPG generation manually. Verify you have at least one template assigned and that streams are available in your M3U accounts.

Build docs developers (and LLMs) love