Benutzer-Werkzeuge

Webseiten-Werkzeuge


content:serverbasics:docker-tvheadend
This version is outdated by a newer approved version.DiffThis version (2025/08/23 13:50) was approved by obel1x.The Previously approved version (2025/08/23 13:49) is available.Diff

Dies ist eine alte Version des Dokuments!


Docker: TVHeadend

Very good community- Project to watch tv over network. Supports IPTV and DVB-S, like my Astra 19.2 Satellite Dash.

Forum/Docs: https://tvheadend.org/

IPTV- Channels Worldwide: https://github.com/iptv-org/iptv

or Kodinerds: https://github.com/jnk22/kodinerds-iptv

Satellite Dash Astra 19.2

Server- Web GUI TvHeadend (HTTP-Port 8891 and Stream 9982)

Clients can connect with E.g. Kodi and HTS- Addon on Port 9982 using the User, which can be created at first setup.

Hardware

I bought the PCIe/Twin-/ DVB-S- Card „Cine V7“ of Digital Devices, which i consider best choice for Linux.

Check with lspci „03:00.0 Multimedia controller: Digital Devices GmbH Cine V7“, it should be autoloaded with Kernel-Module STV0910.

Docker Compose

This is WIP !

You need

  • Docker rootless as described in XXX
  • Caddy as described in

As docker-user:

Create a Folder in docker_compose named tvheadend and a Folder for Records:

docker@pcserver2023:~/docker_compose> mkdir -p /home/docker/docker_compose/tvheadend
docker@pcserver2023:~/docker_compose> mkdir -p /home/docker/videorecords

Create the file docker-compose.yml in docker_compose/tvheadend folder.

Currently the content looks like that:

services:
  tvheadend:
# Bug in current image (20250823): https://github.com/tvheadend/tvheadend/issues/1901
# After resolve, the latest Tag should be used!
#    image: ghcr.io/tvheadend/tvheadend:latest
    image: ghcr.io/tvheadend/tvheadend:master-debian
    cap_drop:
      - all
    ulimits:
      nproc: 256
      nofile:
        soft: 8192
        hard: 65535
    devices:
      - /dev/dvb/
# See Volumes/localtime
#    environment:
#      TZ: Europe/Berlin
    volumes:
      - tvheadend:/var/lib/tvheadend:rw
      - /home/docker/videorecords:/var/lib/tvheadend/recordings:rw
      - /etc/localtime:/etc/localtime:ro
    networks:
      - default
    ports:
      - "9981-9982:9981-9982/tcp"
    command: --config '/var/lib/tvheadend' --nosatip --firstrun
    restart: unless-stopped
#Not working on master-debian:
#    healthcheck:
#      test: wget -O - -q 'http://dockerstack-tvheadend-1:9981/ping' | grep -q 'PONG'

# Still needs to be defined while without it won't enable ipv6
networks:
  default:
    driver: bridge
    enable_ipv6: true

volumes:
  tvheadend:

Access to DVB- Inputs

If you have your DVB- Card in /dev/dvb, check if the settings allow user access like this:

docker@pcserver2023:~/docker_compose/tvheadend> ls -l /dev/dvb
drwxrwxrwx 2 root root 120 23. Aug 11:03 adapter0
drwxrwxrwx 2 root root 120 23. Aug 11:03 adapter1

If not, change it like:

docker@pcserver2023:~/docker_compose/tvheadend> chmod -R go=rwX /dev/dvb

Caddy Service

After getting an Domainname and setting up DyDNS, add the Service to you Caddyfile ( https://obel1x.de/dokuwiki/doku.php?id=content:serverbasics:docker-caddy#caddy_configuration )

Add to Caddyfile:

# TVHeadend
https://tvheadend.domain.tld:443 {
        header Strict-Transport-Security max-age=31536000;
        reverse_proxy pcserver2023-tvheadend-1:9981
}
content/serverbasics/docker-tvheadend.1755949798.txt.gz · Zuletzt geändert: von obel1x

Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht: CC0 1.0 Universal
CC0 1.0 Universal Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki