Benutzer-Werkzeuge

Webseiten-Werkzeuge


content:serverbasics:docker-tvheadend

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige ÜberarbeitungVorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
content:serverbasics:docker-tvheadend [2025/08/23 14:15] – [Caddy Service] obel1xcontent:serverbasics:docker-tvheadend [2026/03/06 16:33] (aktuell) – [Docker Compose] obel1x
Zeile 8: Zeile 8:
  
 or Kodinerds: [[https://github.com/jnk22/kodinerds-iptv|https://github.com/jnk22/kodinerds-iptv]] or Kodinerds: [[https://github.com/jnk22/kodinerds-iptv|https://github.com/jnk22/kodinerds-iptv]]
 +
 +Attention: you will get an error if you just use the link of your browser to the lists. You need to use the "raw" file link to it, which you can find at the fileview itself.
 +
 +e.g. https://raw.githubusercontent.com/jnk22/kodinerds-iptv/refs/heads/master/iptv/pipe/pipe.m3u
  
 ===== Satellite Dash Astra 19.2 ===== ===== Satellite Dash Astra 19.2 =====
Zeile 25: Zeile 29:
 Install linux- drivers video4linux: Install linux- drivers video4linux:
  
-  * v4l-conf +  * sudo zypper in v4l-utils
-  * v4l-tools +
-  * v4l-utils +
-  * w_scan+
  
 If you have your DVB- Card in /dev/dvb, check if the settings allow user access like this: If you have your DVB- Card in /dev/dvb, check if the settings allow user access like this:
 <code> <code>
  
-docker@pcserver2023:~/docker_compose/tvheadend> ls -l /dev/dvb +pcserver2023:# sudo ls -l /dev/dvb/adapter* 
-drwxrwxrwx 2 root root 120 23. Aug 11:03 adapter0 +/dev/dvb/adapter0: 
-drwxrwxrwx 2 root root 120 23. Aug 11:03 adapter1+total 0 
 +crwxrwxrwx 1 root video 212, 0 Aug 27 18:22 demux0 
 +crwxrwxrwx 1 root video 212, 1 Aug 27 18:22 dvr0 
 +crwxrwxrwx 1 root video 212, 3 Aug 27 18:22 frontend0 
 +crwxrwxrwx 1 root video 212, 2 Aug 27 18:22 net0 
 + 
 +/dev/dvb/adapter1
 +total 0 
 +crwxrwxrwx 1 root video 212, 4 Aug 27 18:22 demux0 
 +crwxrwxrwx 1 root video 212, 5 Aug 27 18:22 dvr0 
 +crwxrwxrwx 1 root video 212, 7 Aug 27 18:22 frontend0 
 +crwxrwxrwx 1 root video 212, 6 Aug 27 18:22 net0
  
 </code> </code>
  
-If not, change it like:+If not, you need a new udev-rule. Create a file to look like this:
  
-<code+<file
-docker@pcserver2023:~/docker_compose/tvheadend> chmod -R go=rwX /dev/dvb+pcserver2023:# cat /etc/udev/rules.d/75-dvb.rules 
 +SUBSYSTEM=="dvb", MODE:="0777"
  
-</code>+</file>
  
-Oterhwise noone else that root will be able to use the DVB- Card.+Mind the : after Mode, otherwise this will not work!
  
-===== Adjusting Dash to Sattelite =====+After a restart, your DVB- Devices should look like above and TVHeadend will work.
  
-In my setup, i am using Astra 19.3E as sattelite. For signal- checking, you can use simple linux- tools like this:+===== Installing w_scan_cpp =====
  
-Firstcheck if your Hardware and drivers are working by using w_scan:+Meanwhilethe old w_scan has become obsolete. It was replaced by w_scan_cpp. Unfortunatelly w_scan_cpp is not delivered by opensuse any more.
  
-<code> +I got a working binary at [[https://github.com/wirbel-at-vdr-portal/w_scan_cpp-binaries|https://github.com/wirbel-at-vdr-portal/w_scan_cpp-binaries]] like
-docker@pcserver2023:~/docker_compose> w_scan -fs -s S19E2 -cDE -X> ~/channels.conf+
  
-</code>+The Docs can be found here: [[https://www.gen2vdr.de/wirbel/w_scan_cpp/index2.html|https://www.gen2vdr.de/wirbel/w_scan_cpp/index2.html]]
  
-This should at least try to find signalsStop with CRTL+C if scanning basically works (but will not find anything when your dish is not adjusted right). +Where i needed to install librepfunc from here: [[https://build.opensuse.org/repositories/home:seife:vdrdevel/librepfunc|https://build.opensuse.org/repositories/home:seife:vdrdevel/librepfunc]]
- +
-Now, create only one Channel in your channel-list (you need to now one working channel).+
  
 +To check, if this works, try this command (while this example is for Astra 19.2E Sattelite):
 <code> <code>
-docker@pcserver2023:~/docker_compose> echo "RTL Television(CBC):12187:h:0:27500:163:106:12003"> ~/channels.conf+ 
 +./w_scan_cpp -fs -sS19E2 --femon "SAT.1 Gold HD;ProSiebenSat.1:11111:HC23M5O35P0S1:S19.2E:22000:255=27:0;259=deu@106:32:1830,1860,1843,98C,9C4,186A,98D,186D,1842,4B64,4AF4:12500:1:1043:0" 
 +******************************************************************************* 
 +* w_scan_cpp Version 20231015 
 +****************************************************************************** 
 +Device0 dvb:a0f0: ST STV0910 
 +Device1 dvb:a1f0: ST STV0910 
 +monitoring device 'ST STV0910' 
 +lock 0 | signal 0% | 
 +lock 1 | signal 72.58dBuV  | quality 81% | snr 12.90dB | 
 +lock 1 | signal 72.57dBuV  | quality 81% | snr 12.90dB |
  
 </code> </code>
  
-Start some application, to try to watch that channel e.g. VLC - of course frist, no Signal will be found.+This command can be used to adjust your sattelite: look for the best snr at the right (other Values are not really important for best values). The Value should be somewhere from 11-13Values under 10 are not good.
  
-You now can try to find the sattelite while leaving VLC running and moving your dish around.+Now you have the best alignment to your sattelite.
  
-When you found the Channel and your signal seems ok, turn on Signal metering with:+===== OptionalCreate a channel-file =====
  
 +If you want to, you can create a channel- file for later use:
 <code> <code>
-docker@pcserver2023:~/docker_compose> dvb-fe-tool -m 
  
-</code> +./w_scan_cpp -fs -sS19E2 -x>channel_list_dvbv5.conf
- +
-Check out the Value of S/R (or C/N in English) in your output and try to find the largest Value for it: +
- +
-<code> +
-Sperre (0x1f) Signal= -33,56dBm S/R= 11,70dB preBER= 0+
  
 </code> </code>
- 
-Mind, that the dish maybe tilted to get the best results. 
- 
-The Value should be somewhere from 11-13. Values under 10 are not good. 
- 
-Now you have the best alignment to your sattelite. 
- 
  
 ====== Docker Compose ====== ====== Docker Compose ======
  
-This is WIP !+This is WIP (but works!
 + 
 +Source for Docs: [[https://github.com/tvheadend/tvheadend/blob/master/README.Docker.md|https://github.com/tvheadend/tvheadend/blob/master/README.Docker.md]]
  
 You need You need
  
-  * Docker rootless as described in XXX +  * Docker rootless as described in [[:content:serverbasics:docker|]] 
-  * Caddy as described in+  * Caddy as described in [[:content:serverbasics:docker-caddy|]]
  
 As docker-user: As docker-user:
  
 Create a Folder in docker_compose named tvheadend and a Folder for Records: Create a Folder in docker_compose named tvheadend and a Folder for Records:
- 
 <code> <code>
 +
 docker@pcserver2023:~/docker_compose> mkdir -p /home/docker/docker_compose/tvheadend docker@pcserver2023:~/docker_compose> mkdir -p /home/docker/docker_compose/tvheadend
-docker@pcserver2023:~/docker_compose> mkdir -p /home/docker/videorecords+docker@pcserver2023:~/docker_compose> mkdir -p /home/docker/tvh_videorecords
  
 </code> </code>
 +
 +Mind, that the Folder for recordings MUST have the same uid and gid than the HTS- User in the container, which may not be known users to the host.
 +
 +So after docker- service is started, double check the permissions. As reference, you can check the File on your volume (after docker is running):
 +
 +<code>
 +docker@pcserver2023:~/docker_compose> sudo ls -l /home/docker/.local/share/docker/volumes/pcserver2023_tvheadend/_data
 +[ ... ]
 +drwxrwxr-x 2 166530 166530       6 22. Aug 22:36 recordings
 +[ ... ]
 +
 +</code>
 +
 +These permissions must be the same on ''/home/docker/docker_compose/tvheadend''  !
  
 Create the file ''docker-compose.yml''  in docker_compose/tvheadend folder. Create the file ''docker-compose.yml''  in docker_compose/tvheadend folder.
Zeile 116: Zeile 141:
 Currently the content looks like that: Currently the content looks like that:
  
-<code>+<file>
 services: services:
   tvheadend:   tvheadend:
Zeile 122: Zeile 147:
 # After resolve, the latest Tag should be used! # After resolve, the latest Tag should be used!
 #    image: ghcr.io/tvheadend/tvheadend:latest #    image: ghcr.io/tvheadend/tvheadend:latest
-    image: ghcr.io/tvheadend/tvheadend:master-debian +#Test 11.10.2025 
-    cap_drop+# Commit: https://github.com/tvheadend/tvheadend/commit/d4dff154ae2499f29b31c680e9ba60f58166cc3e 
-      all +#    image: ghcr.io/tvheadend/tvheadend@sha256:b37cdd3c99c600f1a4d3dac520e119e6253322e707b39f14ca9016d0a4d60b19 
-    ulimits: +# result: Crash 
-      nproc256 +# Last working Commit: ghcr.io/tvheadend/tvheadend:master-debian@sha256:d67826adddfef86f1843bef1167132017d7af80c29b685173140c7b2bab4ed90 
-      nofile+ 
-        soft8192 +# So for now, the AlpineBased linuxserver- image is a very good alternative 
-        hard65535+    imagelscr.io/linuxserver/tvheadend:latest 
 + 
 +    restartunless-stopped 
 +    ports
 +      - "9981-9982:9981-9982/tcp"
     devices:     devices:
       - /dev/dvb/       - /dev/dvb/
-# See Volumes/localtime +      - /dev/dri
-#    environment: +
-#      TZ: Europe/Berlin+
     volumes:     volumes:
-      - tvheadend:/var/lib/tvheadend:rw +      - tvh2_config:/config 
-      - /home/docker/videorecords:/var/lib/tvheadend/recordings:rw+      - /home/docker/tvh_videorecords:/recordings 
 +      - tvh2_epg:/epg2xml
       - /etc/localtime:/etc/localtime:ro       - /etc/localtime:/etc/localtime:ro
     networks:     networks:
-      - default +      - pcserver2023_default 
-    ports+    environment
-      - "9981-9982:9981-9982/tcp" +     TZEurope/Berlin 
-    command--config '/var/lib/tvheadend' --nosatip --firstrun +      TZUTC # Hardwareclock Timezone NOT local timezone of System 
-    restart: unless-stopped +     PUID=<UID for user> 
-#Not working on master-debian: +#      - PGID=<GID for user>
-#    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: networks:
-  default+  server_default
-    driver: bridge +    external: true
-    enable_ipv6: true+
  
 volumes: volumes:
-  tvheadend:+    tvh2_config: 
 +    tvh2_epg:
  
-</code>+</file>
  
-You can now statup that container with ''docker compose up -d''  and navigate to http://localhost:9981 to set up TVheadend for the first start.+You can now statup that container with ''docker compose up -d''  and navigate to [[http://localhost:9981|http://localhost:9981]] to set up TVheadend for the first start.
  
 ======   ====== ======   ======
Zeile 182: Zeile 207:
 Mind, that this will only open the administration web-gui for TVH. Mind, that this will only open the administration web-gui for TVH.
  
-Watching TV wirh e.g. Kodi need port 9982 opened to your firewall. You may *not* want that port to be reached from the Internet (or will you??? - well its up to you).+Watching TV with e.g. Kodi needs port 9982 opened at your firewall. You may *not* want that port to be reached from the Internet (or will you??? - well its up to you). 
 + 
 +====== Client: Kodi ====== 
 + 
 +On Fedora: Do NOT use Discover to install kodi , because the Flathub Version does NOT support binary addons. You need binary addons. 
 + 
 +First, install RPM- Fusion and then 
 + 
 +<code> 
 +sudo dnf install -y https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm 
 +sudo dnf install kodi kodi-inputstream-adaptive kodi-pvr-hts 
 + 
 +</code> 
 + 
 +You should also create a new user in tvheadend, who is only able to watch tv - no webgui, nothing else. 
 + 
 +Now you start kodi , enable the pvr- addon and enter the credentials. It should work and you should see channels in TV popping up. 
 + 
 +====== Problems ====== 
 + 
 +TVH can be tricky when something is not working. 
 + 
 +First check, if your tuner is found in DVB-Inputs / TV-Adapters. Those entries should show up automatically, otherwise something with the drivers has not worked. 
 + 
 +Second, check if your Network is set up AND is connect to at least one LNB (for example) - that means the Network must be show in the LNB / general Settings
  
  
content/serverbasics/docker-tvheadend.1755951321.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