Headendarr

Headendarr

Docker app from Josh.5's Repository

Overview

Headendarr is a powerful management layer for TVHeadend,
designed to simplify the orchestration of IPTV sources.
It provides a modern, intuitive interface for channel
mapping, EPG aggregation, and playlist filtering, acting
as a centralised hub for your personal streaming
environment.

Headendarr acts as a high-performance proxy for M3U and
HDHomeRun clients, supporting Plex, Emby, Jellyfin, and
Kodi.

Initial Login: admin:admin Key Features:
  • Scalable Channel Management: Effortlessly manage and
    curate IPTV playlists with tens of thousands of channels.
  • EPG Automation: Aggregate multiple XMLTV sources with
    automatic metadata enrichment for programme icons and
    descriptions.
  • Integrated HLS Proxy: Features segment caching and
    intelligent pre-caching for superior stream stability and
    smoothness.
  • Connection Sharing: Serves multiple local clients from
    a single upstream connection to maximise your provider's
    limits.
  • Automated TVH Orchestration: Headendarr actively
    maintains your TVHeadend backend, automatically configuring
    networks, muxes, and services based on your curated lineup.
  • Multi-User Sandboxing: Create independent users with
    their own streaming keys and private DVR sandboxes.
How it works: Headendarr bridges the gap between raw, often unreliable
IPTV sources and your end clients.
It removes the steep learning curve of setting up TVHeadend
for IPTV by automating the complex configuration of
networks, muxes, and EPG mapping. Advanced Configuration: LIMIT CPU USE:
  1. Toggle this Docker Container template editor to
    "Advanced View".
  2. In the "Extra Parameters" field, add "--cpus='1'".
    This value depends on the number of cores available to the
    container. To limit to 50%, set this value to 0.5 * n
    cores. If you have 2 cores available to this container,
    "--cpus='.5'" will equal 25% of that available CPU
    resources. To limit the CPU cores available to the
    container, use "CPU Pinning"
LIMIT RAM ALLOCATION:
  1. Toggle this Docker Container template editor to
    "Advanced View".
  2. In the "Extra Parameters" field, add "--memory='1g'".
    Tvheadend and Headendarr can use on average around 100MiB -
    500 MiB of RAM for various tasks.
    Even though limiting RAM is unnecessary as this container
    should not ever need more than 1GB RAM it is good practice
    to do so.
DVB / GPU DEVICE PASSTHROUGH:

If you use DVB tuners and/or hardware acceleration, map the
device paths using "Extra Parameters" in Advanced View.

Example (both DVB + DRI):
"--device=/dev/dvb:/dev/dvb --device=/dev/dri:/dev/dri"

Example (DVB only):
"--device=/dev/dvb:/dev/dvb"

Example (DRI only):
"--device=/dev/dri:/dev/dri"

After applying device mappings, restart the container.

Runtime arguments

Web UI
http://[IP]:[PORT:9985]/
Network
bridge
Shell
bash
Privileged
false

Template configuration

WebUI PortPorttcp

Main webUI Port. This is the port that will be used to access and configure everything.

Target
9985
Default
9985
Value
9985
Tvheadend WebUI PortPorttcp

Tvheadend WebUI Port. This is used for streaming clients to connect to TVH via HTTP.

Target
9981
Default
9981
Value
9981
Tvheadend HTSP PortPorttcp

Tvheadend HTSP Port. This is used for streaming clients to connect to TVH via HTSP.

Target
9982
Default
9982
Value
9982
AppdataPathrw

Where Headendarr stores its configuration files.

Target
/config
Default
/mnt/user/appdata/headendarr
Value
/mnt/user/appdata/headendarr
CSO CachePathrw

A temporary storage area used by the Channel Stream Orchestrator (CSO) for local segmented ingest and output handoff. It is highly recommended to map this to a RAM-based location (e.g., /dev/shm/headendarr) to improve performance and avoid disk wear. This path requires approximately 50MB of space per concurrent VOD stream. On Unraid, /dev/shm defaults to 50% of host RAM, which is typically sufficient.

Target
/tmp/cache
Default
/dev/shm/headendarr
Value
/dev/shm/headendarr
RecordingsPathrw

Where TVHeadend will save its recordings.

Target
/recordings
Default
/mnt/user/appdata/headendarr/recordings
Value
/mnt/user/appdata/headendarr/recordings
TimeshiftPathrw

Where TVHeadend will store temporary timeshift buffer data. It is highly recommended to map this to a RAM-based location (e.g., /tmp or /dev/shm) or a dedicated tmpfs mount to avoid excessive disk wear, especially on spinning drives.

Target
/timeshift
Default
/mnt/user/appdata/headendarr/timeshift
Value
/mnt/user/appdata/headendarr/timeshift
LibraryPathrw

Where Headendarr will write VOD library export files under /library for downstream apps such as Jellyfin. This is used for generated `.strm` files and the HTTP library metadata cache.

Target
/library
Default
/mnt/user/appdata/headendarr/library
Value
/mnt/user/appdata/headendarr/library
PUIDVariable

Process User ID

Default
99
Value
99
PGIDVariable

Process Group ID

Default
100
Value
100
TZVariable

System Timezone

Default
Etc/UTC
Value
Etc/UTC
PLEX_SERVERS_JSONVariable

See https://headendarr.github.io/Headendarr/configuration/connectivity/plex for more details. Defines one or more Plex Media Servers that Headendarr should manage for Live TV and DVR integration. When set, Headendarr uses it to enable the Plex settings page and automatically create, update, and keep Plex HDHomeRun/XMLTV tuner configuration in sync.

TMDB_API_KEYVariable

See https://headendarr.github.io/Headendarr/configuration/epgs for more details. Used for optional TMDB EPG metadata enrichment. Set this to either your TMDB API Read Access Token or your TMDB API Key from https://www.themoviedb.org/settings/api.

VOD Cache Retention MinutesVariable

How long inactive cached VOD movies and episodes are kept in /timeshift/vod before automatic cleanup. Value is in minutes. Example: 10080 keeps cached VOD files for up to one week.

Target
TIC_VOD_CACHE_RETENTION_MINUTES
Default
10
Value
10

Download Statistics

14,885
Total Downloads

Details

Repository
josh5/headendarr:latest
Last Updated2026-05-23
First Seen2026-02-16

Run Headendarr on Unraid.

Headendarr is listed in Community Apps for Unraid OS. Explore Unraid to build a flexible home server, NAS, or homelab.