IPTV-Tunerr

IPTV-Tunerr

Docker app from iptvtunerr's Repository

Overview

IPTV to Plex, Emby, and Jellyfin: HDHomeRun-emulating tuner, custom merged XMLTV guide, resilient stream gateway, DVR and recording rules, VOD libraries, and an operator dashboard.

Install IPTV Tunerr on Unraid

The Unraid package runs Tunerr's existing GHCR container and stores its state on persistent appdata paths. Unraid runs on 64-bit x86 systems; this template uses the amd64 image.

Install

Once the template is approved, install IPTV Tunerr from the Unraid Apps tab. The template is iptvtunerr.xml in the root of this repository, next to ca_profile.xml. Until catalog approval, add it as a user template.

Keep the default tuner port 5004 and dashboard port 48879 unless they conflict with another container. Map /var/lib/iptvtunerr and /var/cache/iptvtunerr to persistent appdata storage. Set IPTV_TUNERR_BASE_URL to the host address and mapped tuner port that Plex, Emby, or Jellyfin can reach.

Enter provider credentials as template variables, or use an M3U URL. M3U URLs may contain credentials, so the template masks that field. The operator dashboard requires a password and uses HTTP Basic/session authentication.

Network and resources

Keep tuner and dashboard ports on a trusted LAN or VPN. Neither port should be forwarded directly from the public internet. Each simultaneous stream relays provider traffic, so network load scales with concurrent playback. Optional ffmpeg remuxing/transcoding, recordings, and large guide refreshes increase CPU, RAM, and disk use. No fixed minimum hardware requirement has been measured.

Connect Plex

Use the Base URL as the tuner device URL and append /guide.xml for the guide. If automatic registration is enabled, provide the optional Plex URL and token in the container template.

The Community Apps submission flow requires a public repository with a root ca_profile.xml, an OSI-approved LICENSE, and valid template XML. Validate and Scan the repository before submitting it for review.

See also

Related ADRs

Requirements

Persistent appdata and cache paths. Set a reachable IPTV_TUNERR_BASE_URL before using Plex, Emby, or Jellyfin.

Download Statistics

1,444
Total Downloads

Related apps

Details

Repository
ghcr.io/snapetech/iptvtunerr:latest
Last Updated2026-10-01
First Seen2026-10-20

Runtime arguments

Web UI
http://[IP]:[PORT:48879]/
Network
bridge
Shell
sh
Privileged
false
Extra Params
--restart=unless-stopped --security-opt=no-new-privileges:true

Template configuration

Tuner PortPorttcp

HTTP tuner, stream, playlist, and guide endpoint. Keep this on a trusted LAN or VPN.

Target
5004
Default
5004
Value
5004
Operator Dashboard PortPorttcp

Authenticated Tunerr operator dashboard. Do not expose this port publicly.

Target
48879
Default
48879
Value
48879
AppdataPathrw

Persistent catalog and dashboard state.

Target
/var/lib/iptvtunerr
Default
/mnt/user/appdata/iptvtunerr
Value
/mnt/user/appdata/iptvtunerr
CachePathrw

Persistent guide and provider caches. This directory can grow with provider data.

Target
/var/cache/iptvtunerr
Default
/mnt/user/appdata/iptvtunerr/cache
Value
/mnt/user/appdata/iptvtunerr/cache
Catalog FileVariable

Persistent channel catalog path.

Target
IPTV_TUNERR_CATALOG
Default
/var/lib/iptvtunerr/catalog.json
Value
/var/lib/iptvtunerr/catalog.json
Cache DirectoryVariable

Persistent cache directory.

Target
IPTV_TUNERR_CACHE
Default
/var/cache/iptvtunerr
Value
/var/cache/iptvtunerr
Dashboard State FileVariable

Persistent operator dashboard preferences and state.

Target
IPTV_TUNERR_WEBUI_STATE_FILE
Default
/var/lib/iptvtunerr/webui-state.json
Value
/var/lib/iptvtunerr/webui-state.json
Base URLVariable

Required URL that Plex, Emby, or Jellyfin can reach, including the host port if remapped (for example http://192.168.1.20:5004).

Target
IPTV_TUNERR_BASE_URL
Provider URLVariable

Optional Xtream-style provider base URL.

Target
IPTV_TUNERR_PROVIDER_URL
Provider UsernameVariable

Optional provider username.

Target
IPTV_TUNERR_PROVIDER_USER
Provider PasswordVariable

Optional provider password.

Target
IPTV_TUNERR_PROVIDER_PASS
M3U URLVariable

Optional M3U source URL. Treat URLs containing credentials as secrets.

Target
IPTV_TUNERR_M3U_URL
Plex URLVariable

Optional Plex Media Server URL for automatic tuner registration.

Target
IPTV_TUNERR_PMS_URL
Plex TokenVariable

Optional Plex token for automatic tuner registration.

Target
IPTV_TUNERR_PMS_TOKEN
API-Sports KeyVariable

Optional server-side API-Sports key for Sports Automation.

Target
IPTV_TUNERR_API_SPORTS_KEY
Dashboard UsernameVariable

Username for the operator dashboard.

Target
IPTV_TUNERR_WEBUI_USER
Default
admin
Value
admin
Dashboard PasswordVariable

Required strong password for the operator dashboard.

Target
IPTV_TUNERR_WEBUI_PASS
Dashboard LAN AccessVariable

Allow the authenticated dashboard to accept connections on the mapped LAN port.

Target
IPTV_TUNERR_WEBUI_ALLOW_LAN
Default
1
Value
1
TimezoneVariable

Container timezone.

Target
TZ
Default
Etc/UTC
Value
Etc/UTC