FROM alpine:3.19

# Install dependencies
RUN apk add --no-cache \
    python3 \
    py3-pip \
    ffmpeg \
    bash \
    curl \
    tzdata \
    dcron \
    && pip3 install --no-cache-dir yt-dlp --break-system-packages

# Create directories
RUN mkdir -p /downloads /config /app

# Copy scripts
COPY sync.sh /app/sync.sh
COPY entrypoint.sh /app/entrypoint.sh
RUN chmod +x /app/sync.sh /app/entrypoint.sh

# Set working directory
WORKDIR /app

# Environment defaults
ENV DOWNLOAD_DIR=/downloads \
    CONFIG_DIR=/config \
    SYNC_SCHEDULE="0 2 * * *" \
    MAX_QUALITY=1080 \
    SLEEP_INTERVAL=2 \
    TZ=America/Phoenix

# Expose volume mount points
VOLUME ["/downloads", "/config"]

# Run entrypoint
ENTRYPOINT ["/app/entrypoint.sh"]
