content:serverbasics:docker-tvheadend
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
| Beide Seiten, vorherige ÜberarbeitungVorherige ÜberarbeitungNächste Überarbeitung | Vorherige Überarbeitung | ||
| content:serverbasics:docker-tvheadend [2025/08/23 14:15] – [Caddy Service] obel1x | content:serverbasics:docker-tvheadend [2026/03/06 16:33] (aktuell) – [Docker Compose] obel1x | ||
|---|---|---|---|
| Zeile 8: | Zeile 8: | ||
| or Kodinerds: [[https:// | or Kodinerds: [[https:// | ||
| + | |||
| + | Attention: you will get an error if you just use the link of your browser to the lists. You need to use the " | ||
| + | |||
| + | e.g. https:// | ||
| ===== 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: | ||
| < | < | ||
| - | docker@pcserver2023: | + | pcserver2023: |
| - | drwxrwxrwx 2 root root 120 23. Aug 11:03 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 | ||
| </ | </ | ||
| - | If not, change it like: | + | If not, you need a new udev-rule. Create a file to look like this: |
| - | <code> | + | <file> |
| - | docker@pcserver2023: | + | pcserver2023: |
| + | SUBSYSTEM==" | ||
| - | </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 ===== |
| - | First, check if your Hardware and drivers are working by using w_scan: | + | Meanwhile, the old w_scan |
| - | < | + | I got a working binary at [[https:// |
| - | docker@pcserver2023:~/docker_compose> | + | |
| - | </code> | + | The Docs can be found here: [[https:// |
| - | This should at least try to find signals. Stop with CRTL+C if scanning basically works (but will not find anything when your dish is not adjusted right). | + | Where i needed |
| - | + | ||
| - | 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): | ||
| < | < | ||
| - | docker@pcserver2023: | + | |
| + | ./w_scan_cpp -fs -sS19E2 --femon | ||
| + | ******************************************************************************* | ||
| + | * 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 | ||
| + | lock 1 | signal 72.57dBuV | ||
| </ | </ | ||
| - | Start some application, | + | 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-13. Values under 10 are not good. |
| - | You now can try to find the sattelite while leaving VLC running and moving | + | Now you have the best alignment to your sattelite. |
| - | When you found the Channel and your signal seems ok, turn on Signal metering with: | + | ===== Optional: Create a channel-file ===== |
| + | If you want to, you can create a channel- file for later use: | ||
| < | < | ||
| - | docker@pcserver2023: | ||
| - | </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: | + | |
| - | + | ||
| - | < | + | |
| - | Sperre (0x1f) Signal= -33,56dBm S/R= 11,70dB preBER= 0 | + | |
| </ | </ | ||
| - | |||
| - | 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:// | ||
| You need | You need | ||
| - | * Docker rootless as described in XXX | + | * Docker rootless as described in [[: |
| - | * Caddy as described in | + | * Caddy as described in [[: |
| 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: | ||
| - | |||
| < | < | ||
| + | |||
| docker@pcserver2023: | docker@pcserver2023: | ||
| - | docker@pcserver2023: | + | docker@pcserver2023: |
| </ | </ | ||
| + | |||
| + | 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): | ||
| + | |||
| + | < | ||
| + | docker@pcserver2023: | ||
| + | [ ... ] | ||
| + | drwxrwxr-x 2 166530 166530 | ||
| + | [ ... ] | ||
| + | |||
| + | </ | ||
| + | |||
| + | These permissions must be the same on ''/ | ||
| Create the file '' | Create the file '' | ||
| 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/ | # image: ghcr.io/ | ||
| - | | + | #Test 11.10.2025 |
| - | cap_drop: | + | # Commit: https:// |
| - | - all | + | # |
| - | | + | # result: Crash |
| - | nproc: 256 | + | # Last working Commit: ghcr.io/ |
| - | | + | |
| - | soft: 8192 | + | # So for now, the Alpine- Based linuxserver- image is a very good alternative |
| - | hard: 65535 | + | |
| + | |||
| + | restart: unless-stopped | ||
| + | ports: | ||
| + | - " | ||
| devices: | devices: | ||
| - /dev/dvb/ | - /dev/dvb/ | ||
| - | # See Volumes/localtime | + | - /dev/dri |
| - | # environment: | + | |
| - | # TZ: Europe/Berlin | + | |
| volumes: | volumes: | ||
| - | - tvheadend:/var/ | + | - tvh2_config:/config |
| - | - / | + | - / |
| + | - tvh2_epg:/epg2xml | ||
| - / | - / | ||
| networks: | networks: | ||
| - | - default | + | - pcserver2023_default |
| - | | + | |
| - | | + | # TZ: Europe/Berlin |
| - | | + | TZ: UTC # Hardwareclock Timezone NOT local timezone of System |
| - | restart: unless-stopped | + | # - PUID=< |
| - | #Not working on master-debian: | + | # - PGID=< |
| - | # healthcheck: | + | |
| - | # | + | |
| - | # Still needs to be defined while without it won't enable ipv6 | ||
| networks: | networks: | ||
| - | | + | |
| - | | + | |
| - | enable_ipv6: true | + | |
| volumes: | volumes: | ||
| - | tvheadend: | + | tvh2_config: |
| + | tvh2_epg: | ||
| - | </code> | + | </file> |
| - | You can now statup that container with '' | + | You can now statup that container with '' |
| ====== | ====== | ||
| 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 | + | Watching TV with e.g. Kodi needs port 9982 opened |
| + | |||
| + | ====== 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 | ||
| + | |||
| + | < | ||
| + | sudo dnf install -y https:// | ||
| + | sudo dnf install kodi kodi-inputstream-adaptive kodi-pvr-hts | ||
| + | |||
| + | </ | ||
| + | |||
| + | 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, | ||
| + | |||
| + | 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
