36 lines
801 B
Docker
36 lines
801 B
Docker
FROM node:18-alpine
|
|
|
|
# Install required packages
|
|
RUN apk add --no-cache git curl unzip coreutils
|
|
|
|
# Set working directory
|
|
WORKDIR /app
|
|
|
|
# Download and extract the EPG repository
|
|
RUN curl -L https://github.com/iptv-org/epg/archive/refs/tags/2023.12.1.zip -o epg.zip && \
|
|
unzip epg.zip && \
|
|
mv epg-2023.12.1/* ./ && \
|
|
rm -rf epg.zip epg-2023.12.1 && \
|
|
npm install && \
|
|
npm install pm2 serve -g
|
|
|
|
# Copy entrypoint script
|
|
COPY entrypoint.sh /app/entrypoint.sh
|
|
RUN chmod +x /app/entrypoint.sh
|
|
|
|
# Expose port for serving the guide
|
|
EXPOSE 3000
|
|
|
|
# Set environment variables with defaults
|
|
ENV CRON_SCHEDULE="0 0,12 * * *" \
|
|
SITES="" \
|
|
MAX_CONNECTIONS=1 \
|
|
DAYS="" \
|
|
TIMEOUT=0 \
|
|
DELAY=0 \
|
|
LANG="" \
|
|
GZIP="false"
|
|
|
|
# Set entrypoint
|
|
ENTRYPOINT ["/app/entrypoint.sh"]
|