F1TV EPG
Docker-wrapper rond J-Lich/F1TV-EPG. De container
haalt de F1TV-schema's op en schrijft een XMLTV-bestand (guide.xml) naar een gemount
volume. Geschikt als EPG-bron in IPTV-clients, Plex, Jellyfin, enz.
Snel starten
docker build -t f1tv-epg .
docker run -d --name f1tv-epg \
-v /pad/naar/epg:/output \
f1tv-epg
De EPG verschijnt als /pad/naar/epg/guide.xml. De container blijft draaien en ververst
het bestand standaard elke 15 minuten, zodat de gids vrijwel live blijft.
Of gebruik docker-compose.example.yml:
cp docker-compose.example.yml docker-compose.yml
docker compose up -d
Het volume staat standaard op ./data, dus de EPG komt in ./data/guide.xml.
Eenmalig genereren
Voor een cronjob of handmatige run:
docker run --rm -e RUN_ONCE=1 -v /pad/naar/epg:/output f1tv-epg
Of met Compose:
docker compose run --rm -e RUN_ONCE=1 f1tv-epg
Configuratie
| Env | Default | Betekenis |
|---|---|---|
OUTPUT_DIR |
/output |
Map waar het XMLTV-bestand wordt geschreven |
OUTPUT_FILE |
guide.xml |
Bestandsnaam van het XMLTV-bestand |
REFRESH_INTERVAL_MINUTES |
15 |
Minuten tussen twee verversingen (continu draaien) |
RUN_ONCE |
0 |
1 = eenmalig genereren en stoppen |
Een lager interval betekent vaker verversen en dus meer verzoeken naar de F1TV-API.
15 minuten is ruim voldoende voor een normale gids; gebruik bijvoorbeeld 60 als je
minder verkeer wilt.
Werking
- De container start en genereert direct een eerste EPG.
- Het script draait in een tijdelijke submap van het output-volume.
- Bij succes wordt
guide.xmlatomisch naar de eindlocatie verplaatst, zodat een IPTV-client nooit een half geschreven bestand leest. - Bij een fout blijft de laatst bekende
guide.xmlstaan en wordt het na het volgende interval opnieuw geprobeerd. - Daarna volgt elke
REFRESH_INTERVAL_MINUTESminuten een nieuwe generatie. De container blijft dus actief als achtergronddienst; metrestart: unless-stoppedin Compose start hij ook na een reboot of crash weer op.
Kanaal-ID
Het upstream-script hardcodeert het kanaal als:
- Channel ID:
f1tv - Display name:
F1TV
Gebruik in je IPTV-client dus tvg-id="f1tv" (of een alias daarvoor) om de gids te
koppelen. Het script ondersteunt ondanks de upstream-README geen --id, --name of
--output; deze wrapper respecteert daarom de vaste kanaalgegevens en regelt alleen de
outputlocatie en het verversen.
Bouwen vanaf een specifieke upstream-versie
Standaard wordt main gekloond tijdens de build. Je kunt een andere branch, tag of commit
vastzetten:
docker build \
--build-arg F1TV_EPG_REF=<branch-of-commit> \
-t f1tv-epg .
Bron
- Upstream repo: https://github.com/J-Lich/F1TV-EPG
- Gegenereerde gids van upstream: https://raw.githubusercontent.com/J-Lich/F1TV-EPG/refs/heads/main/guide.xml