This commit is contained in:
1 parent
774200fb39
commit
415bb3906a
7 files changed
+205
No files matched your search
@@ -0,0 +1,93 @@
|
||||
# F1TV EPG
|
||||
|
||||
Docker-wrapper rond [J-Lich/F1TV-EPG](https://github.com/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
|
||||
|
||||
```bash
|
||||
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`:
|
||||
|
||||
```bash
|
||||
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:
|
||||
|
||||
```bash
|
||||
docker run --rm -e RUN_ONCE=1 -v /pad/naar/epg:/output f1tv-epg
|
||||
```
|
||||
|
||||
Of met Compose:
|
||||
|
||||
```bash
|
||||
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
|
||||
|
||||
1. De container start en genereert direct een eerste EPG.
|
||||
2. Het script draait in een tijdelijke submap van het output-volume.
|
||||
3. Bij succes wordt `guide.xml` atomisch naar de eindlocatie verplaatst, zodat een
|
||||
IPTV-client nooit een half geschreven bestand leest.
|
||||
4. Bij een fout blijft de laatst bekende `guide.xml` staan en wordt het na het volgende
|
||||
interval opnieuw geprobeerd.
|
||||
5. Daarna volgt elke `REFRESH_INTERVAL_MINUTES` minuten een nieuwe generatie. De container
|
||||
blijft dus actief als achtergronddienst; met `restart: unless-stopped` in 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:
|
||||
|
||||
```bash
|
||||
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>
|
||||
Reference in new issue
Block a user