FROM python:3.12-slim-bookworm

ENV DEBIAN_FRONTEND=noninteractive \
    PATH=/usr/local/bin:/usr/bin:/bin \
    KAIZOKU_DOWNLOAD_DIR=/downloads \
    KAIZOKU_HOST=0.0.0.0 \
    KAIZOKU_PORT=8421 \
    KAIZOKU_JOB_STDOUT=true \
    UPDATE_ON_START=false \
    USER_UID= \
    USER_GID=

RUN apt-get update \
    && apt-get install -y --no-install-recommends \
        aria2 \
        bash \
        botan \
        ca-certificates \
        curl \
        ffmpeg \
        nodejs \
        npm \
        sudo \
        util-linux \
    && rm -rf /var/lib/apt/lists/*

RUN mkdir -p /app

COPY package.json /app/
RUN cd /app && npm install --omit=dev

COPY app.py app_support.py config_page.py http_handler.py provider_bridge.py provider_downloader.py queue_jobs.py queue_page.py search_page.py template_helpers.py title_matching.py watchlist_identity.py watchlist_page.py web_templates.py VERSION CHANGELOG.md favicon.png /app/
COPY providers /app/providers

COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh

RUN chmod 0755 /usr/local/bin/docker-entrypoint.sh \
    && mkdir -p /downloads /app/.kaizoku

WORKDIR /app

EXPOSE 8421

ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"]
