Skip to main content

09-threadfin.md

kstack: book: Centerpoint Home Lab chapter: Media & Entertainment page: Threadfin tags: [threadfin, iptv, m3u, xmltv, plex, jellyfin]

Overview

emptyThreadfin is an M3U proxy and IPTV middleware that translates IPTV streams into a format consumable by Plex DVR and Jellyfin Live TV. It manages M3U playlists, XMLTV guide data, and presents a virtual tuner device to media servers via HDHR (HDHomeRun) emulation.

Access

Type URL / Endpoint Notes Web UI http://192.168.1.85:34400 Direct LAN access — no Traefik route HDHR http://192.168.1.85:34400 HDHomeRun device emulation endpoint

No Traefik route is configured for Threadfin — Plex and Jellyfin connect to it via direct IP and port on the LAN.

Configuration

Image: fyb3roptik/threadfin:latest Compose project: Standalone (managed via Portainer)

Ports

Port Protocol Purpose 34400 TCP Threadfin web UI and HDHR endpoint (host-bound)

Environment Variables

Variable Value Purpose TZ America/Toronto Timezone THREADFIN_PORT 34400 Listen port THREADFIN_BRANCH main Update channel THREADFIN_BIND_IP_ADDRESS 0.0.0.0 Bind to all interfaces THREADFIN_DEBUG 0 Debug logging off

Volumes / Bind Mounts

Host Path Container Path Purpose /home/jeeves/docker/threadfin/config /home/threadfin/conf M3U playlists, XMLTV data, settings

Networks

Network Purpose traefik-net Present (container is on traefik-net but no labels)

Threadfin is on traefik-net for network reachability but has no Traefik labels — it is accessed by direct IP.

Plex / Jellyfin Integration

Plex:

    In Plex Settings → Live TV & DVR → Set Up Plex Tuner Enter the Threadfin HDHR URL: http://192.168.1.85:34400/device.xml Plex discovers the virtual tuner and available channels

    Jellyfin:

      Admin Dashboard → Live TV → Add Tuner Device Select HDHomeRun and enter http://192.168.1.85:34400

      Dependencies

        M3U source URL (IPTV provider) configured in Threadfin UI XMLTV guide source configured in Threadfin UI Plex or Jellyfin must be able to reach 192.168.1.85:34400 on the LAN

        Notes / Gotchas

          M3U playlists and XMLTV guide data are refreshed on a schedule configured in the Threadfin UI. If the IPTV provider URL changes, update it in Threadfin settings — Plex and Jellyfin do not need to be reconfigured. Threadfin does not store or proxy video streams itself; it redirects the media server directly to the IPTV stream URL. Buffering and quality are determined by the stream source. Port 34400 is non-standard. Ensure no firewall rules block LAN-to-LAN traffic on this port between Plex/Jellyfin and Centerpoint.

          Last Updated: 2026-06-16