binhex-tvheadend

binhex-tvheadend

apps.detail.types.app from Binhex's Repository

apps.detail.sections.overview

Tvheadend is a TV streaming server and recorder for Linux, FreeBSD and Android supporting DVB-S, DVB-S2, DVB-C, DVB-T, ATSC, ISDB-T, IPTV, SAT>IP and HDHomeRun as input sources. Tvheadend offers the HTTP (VLC, MPlayer), HTSP (Kodi, Movian) and SAT>IP streaming. Multiple EPG sources are supported (over-the-air DVB and ATSC including OpenTV DVB extensions, XMLTV, PyXML).

Application

Tvheadend

Description

Tvheadend is a TV streaming server and recorder for Linux, FreeBSD and Android supporting DVB-S, DVB-S2, DVB-C, DVB-T, ATSC, ISDB-T, IPTV, SAT>IP and HDHomeRun as input sources. Tvheadend offers the HTTP (VLC, MPlayer), HTSP (Kodi, Movian) and SAT>IP streaming. Multiple EPG sources are supported (over-the-air DVB and ATSC including OpenTV DVB extensions, XMLTV, PyXML).

Build notes

Latest stable Tvheadend release from Arch Linux AUR.

Usage

docker run -d \
    -p 9981:9981 \
    -p 9982:9982 \
    --name=<container name> \
    -v <path for data files>:/data \
    -v <path for config files>:/config \
    -v /etc/localtime:/etc/localtime:ro \
    --device=/dev/<tuner type> \
    -e HEALTHCHECK_COMMAND=<command> \
    -e HEALTHCHECK_ACTION=<action> \
    -e HEALTHCHECK_HOSTNAME=<hostname> \
    -e UMASK=<umask for created files> \
    -e PUID=<uid for user> \
    -e PGID=<gid for user> \
    binhex/arch-tvheadend

Please replace all user variables in the above command defined by <> with the correct values.

Access HTTP

http://<host ip>:9981

Access HTSP

http://<host ip>:9982

Example

docker run -d \
    -p 9981:9981 \
    -p 9982:9982 \
    --name=tvheadend \
    -v /apps/docker/tvheadend/recorded:/data \
    -v /apps/docker/tvheadend:/config \
    -v /etc/localtime:/etc/localtime:ro \
    --device=/dev/dvb \
    -e UMASK=000 \
    -e PUID=0 \
    -e PGID=0 \
    binhex/arch-tvheadend

Notes

User ID (PUID) and Group ID (PGID) can be found by issuing the following command for the user you want to run the container as:-

id <username>

If you appreciate my work, then please consider buying me a beer :D

PayPal donation

Documentation | Support forum

apps.marketingCta.appInstallTitle

apps.marketingCta.appInstallDescription

apps.installHelp.stepOpen apps.installHelp.stepSearchApp apps.installHelp.stepReview apps.installHelp.stepInstall

apps.downloadStats.title

201,101
apps.downloadStats.metrics.totalDownloads
743
apps.downloadStats.metrics.thisMonth
300
apps.downloadStats.metrics.avgPerMonth

apps.downloadStats.chart.totalOverTime

apps.downloadStats.chart.loading

apps.detail.sections.details

apps.detail.details.repository
ghcr.io/binhex/arch-tvheadend
apps.detail.details.lastUpdated2026-05-03

apps.detail.sections.runtime

apps.detail.details.webui
http://[IP]:[PORT:9981]
apps.detail.details.network
bridge
apps.detail.details.shell
bash
apps.detail.details.privileged
false
apps.detail.details.extraParams
--device=/dev/tuner-type

apps.detail.sections.configuration

Port: Web InterfacePorttcp

This is the Web UI port for the application.

apps.detail.config.target
9981
apps.detail.config.default
9981
Path: /configPathrw

This is the container path to your configuration files, e.g. databases, configuration files, logs etc.

apps.detail.config.target
/config
apps.detail.config.default
/mnt/user/appdata/tvheadend
Path: /dataPathrw

This is the container path to your downloaded files or user created content.

apps.detail.config.target
/data
Variable: ENABLE_HEALTHCHECKVariable

Enable or disable healthchecks.

apps.detail.config.target
ENABLE_HEALTHCHECK
apps.detail.config.default
yes|no
Variable: HEALTHCHECK_COMMANDVariable

The command or script to execute, if not specified then the script healthcheck.sh will be used (process, dns and https checking).

apps.detail.config.target
HEALTHCHECK_COMMAND
Variable: HEALTHCHECK_ACTIONVariable

The action to execute if the healthcheck command returns a non zero exit code, if not specified the action will be 'exit 1', if you want the container to exit on failure then set the action to 'kill 1'.

apps.detail.config.target
HEALTHCHECK_ACTION
Variable: HEALTHCHECK_HOSTNAMEVariable

The hostname used when performing HTTPS and DNS healthchecking.

apps.detail.config.target
HEALTHCHECK_HOSTNAME
apps.detail.config.default
google.com
Variable: PUIDVariable

User ID for the running container

apps.detail.config.target
PUID
apps.detail.config.default
99
Variable: PGIDVariable

Group ID for the running container

apps.detail.config.target
PGID
apps.detail.config.default
100
Variable: UMASKVariable

UMASK for the running container

apps.detail.config.target
UMASK
apps.detail.config.default
000