Add README for container
Some checks failed
Build and Publish TVJ EPG Image / build (push) Failing after 8s
Some checks failed
Build and Publish TVJ EPG Image / build (push) Failing after 8s
Added documentation for TVJ IPTV XMLTV container, including usage instructions, environment variables, and logging details.
This commit is contained in:
99
README.md
Normal file
99
README.md
Normal file
@@ -0,0 +1,99 @@
|
|||||||
|
# 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**.
|
||||||
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user