Files
tvj-epg/README.md
lyncolnmd 26f49eeca8
Some checks failed
Build and Publish TVJ EPG Image / build (push) Failing after 8s
Add README for container
Added documentation for TVJ IPTV XMLTV container, including usage instructions, environment variables, and logging details.
2026-02-01 12:35:25 -05:00

100 lines
2.0 KiB
Markdown

# TVJ IPTV + XMLTV Container
This project provides a **self-contained IPTV helper container** that:
* Serves a **TVJ M3U playlist** (stream data)
* Automatically fetches and updates **XMLTV EPG data** for Television Jamaica (TVJ)
* Hosts both files over HTTP for easy consumption by IPTV clients
The container is designed to run unattended and continuously refresh the EPG on a schedule.
---
## What this container provides
When deployed, the container exposes the following URLs:
* **Playlist (M3U):**
`http://localhost:8787/tvj.m3u`
* **EPG (XMLTV):**
`http://localhost:8787/tvj.xml`
These can be used directly in:
* Plex
* Jellyfin
* Kodi
* Tivimate
* TVHeadend
* Any XMLTV / M3U compatible IPTV client
The playlist and EPG are matched using:
```
tvg-id="TVJ.jm@SD"
```
---
### Run the container
```bash
podman run -d \
--name tvj-epg \
-p 8787:8787 \
-e TZ=America/Jamaica \
-e UPDATE_INTERVAL=3 \
ghcr.io/lyncolnmd/tvj-epg:latest
```
#### Environment variables
| Variable | Description |
| ----------------- | ------------------------------------------------------ |
| `TZ` | Timezone used **for logging only** (XMLTV remains UTC) |
| `UPDATE_INTERVAL` | How often the EPG is refreshed (hours) |
---
## IPTV client configuration
### Playlist URL
```
http://localhost:8787/tvj.m3u
```
### EPG URL
```
http://localhost:8787/tvj.xml
```
Most clients will automatically match the guide using the `tvg-id`.
---
## Logging and updates
Container logs show:
* When the script last ran
* When the XML file was written
* How far into the future the EPG data extends
Example:
```
[2026-02-01 10:46:11 EST] Script run started (TZ=America/Jamaica)
[2026-02-01 10:46:11 EST] XMLTV written: /app/output/tvj.xml
Summary: Last run=2026-02-01 10:46:11 EST, EPG updated until=2026-02-02 10:34:04 EST
```
---
## Updating the container
The container image is built automatically via **GitHub Actions**.