2026-01-31 22:34:41 -05:00
|
|
|
FROM python:3.11-slim
|
|
|
|
|
|
|
|
|
|
WORKDIR /app
|
|
|
|
|
|
2026-02-01 00:31:33 -05:00
|
|
|
# Copy the EPG script
|
2026-01-31 22:34:41 -05:00
|
|
|
COPY tvj_epg.py .
|
|
|
|
|
|
2026-02-01 11:38:53 -05:00
|
|
|
# Copy static M3U playlist
|
|
|
|
|
COPY tvj.m3u /app/output/tvj.m3u
|
|
|
|
|
|
2026-02-01 00:31:33 -05:00
|
|
|
# Install requests for API fetching
|
2026-01-31 22:34:41 -05:00
|
|
|
RUN pip install --no-cache-dir requests
|
|
|
|
|
|
2026-02-01 00:31:33 -05:00
|
|
|
# Default update interval in hours
|
2026-01-31 22:34:41 -05:00
|
|
|
ENV UPDATE_INTERVAL=6
|
|
|
|
|
|
2026-02-01 00:31:33 -05:00
|
|
|
# Expose the new HTTP server port
|
|
|
|
|
EXPOSE 8787
|
|
|
|
|
|
|
|
|
|
# Start the EPG update loop in background, then start HTTP server
|
2026-02-03 01:35:30 -05:00
|
|
|
CMD sh -c '\
|
2026-02-01 00:31:33 -05:00
|
|
|
mkdir -p /app/output; \
|
|
|
|
|
# Run update loop in background \
|
|
|
|
|
while true; do \
|
|
|
|
|
echo "$(date) - Updating TVJ EPG..."; \
|
|
|
|
|
python tvj_epg.py; \
|
|
|
|
|
echo "$(date) - Sleeping for ${UPDATE_INTERVAL} hours..."; \
|
|
|
|
|
sleep $((${UPDATE_INTERVAL}*3600)); \
|
|
|
|
|
done & \
|
|
|
|
|
# Start HTTP server to serve XML file on port 8787 \
|
|
|
|
|
cd /app/output && python3 -m http.server 8787'
|