Make HTTP port configurable with default 1876
Build and Publish TVJ EPG Image / build (push) Successful in 24s

This commit is contained in:
Lyncoln
2026-09-10 10:01:34 -04:00
parent af59324d99
commit c6bcdedef7
3 changed files with 15 additions and 6 deletions
+2 -2
View File
@@ -5,8 +5,8 @@ COPY epg ./epg
COPY tvj_epj.py .
RUN pip install --no-cache-dir requests
ENV UPDATE_INTERVAL=6
EXPOSE 8787
ENV UPDATE_INTERVAL=6 PORT=1876
EXPOSE 1876
COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]
+8 -3
View File
@@ -10,7 +10,7 @@ Build this checkout and select both channels:
```sh
podman build -t tvj-epg .
podman run -d --name tvj-epg -p 8787:8787 \
podman run -d --name tvj-epg -p 1876:1876 \
-e TZ=America/Jamaica \
-e CHANNELS=tvj,tvjsn \
-e UPDATE_INTERVAL=3 \
@@ -20,8 +20,12 @@ podman run -d --name tvj-epg -p 8787:8787 \
With no `CHANNELS` setting, only TVJ is included, preserving the default behavior.
Use `CHANNELS=tvjsn` for TVJ Sports Network alone.
- Playlist: `http://localhost:8787/tvj.m3u`
- Guide: `http://localhost:8787/tvj.xml`
- Playlist: `http://localhost:1876/tvj.m3u`
- Guide: `http://localhost:1876/tvj.xml`
To use a different port, set `PORT` and match the container port in the mapping,
for example `-e PORT=8787 -p 8787:8787`. Recreating an existing container requires
updating its port mapping for the new default.
Both files contain the selected channels. Their XMLTV IDs and playlist `tvg-id`
values match automatically. Outputs become available after the first successful
@@ -31,6 +35,7 @@ update. Stream access is determined by the stream provider.
| Variable | Default | Meaning |
| --- | --- | --- |
| `PORT` | `1876` | HTTP listening port (1–65535) |
| `CHANNELS` | `tvj` | Comma-separated built-in channel keys; unknown keys fail startup |
| `UPDATE_INTERVAL` | `6` | Positive integer refresh interval in hours |
| `TZ` | Container timezone | Logging timezone; XMLTV timestamps remain UTC |
+5 -1
View File
@@ -1,6 +1,10 @@
#!/bin/sh
set -eu
PORT="${PORT-1876}"
export PORT
PORT="$(python -c 'import os; value = os.environ["PORT"]; valid = value.isascii() and value.isdigit() and 1 <= int(value) <= 65535; valid or exit("PORT must be an integer from 1 to 65535"); print(int(value))')"
mkdir -p /app/output
UPDATE_INTERVAL="${UPDATE_INTERVAL:-6}"
export UPDATE_INTERVAL
@@ -18,4 +22,4 @@ python -c 'from epg.config import load; load()'
) &
cd /app/output
exec python3 -m http.server 8787
exec python3 -m http.server "$PORT"