Files

48 lines
1.4 KiB
Docker

FROM lexiforest/curl-impersonate:v2.2.2 AS curl_impersonate
FROM python:3.12-slim-bookworm
ENV DEBIAN_FRONTEND=noninteractive \
PATH=/usr/local/bin:/usr/bin:/bin \
LD_LIBRARY_PATH=/usr/local/lib \
KAIZOKU_DOWNLOAD_DIR=/downloads \
KAIZOKU_HOST=0.0.0.0 \
KAIZOKU_PORT=8421 \
KAIZOKU_JOB_STDOUT=true \
USER_UID= \
USER_GID=
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
bash \
ca-certificates \
curl \
ffmpeg \
nodejs \
npm \
openssl \
util-linux \
&& rm -rf /var/lib/apt/lists/*
COPY --from=curl_impersonate /usr/local/bin/ /usr/local/bin/
COPY --from=curl_impersonate /usr/local/lib/ /usr/local/lib/
RUN mkdir -p /app
COPY package.json package-lock.json /app/
RUN cd /app && npm ci --omit=dev
COPY app.py app_support.py config_page.py http_handler.py provider_bridge.py provider_downloader.py provider_updates.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 /jellyfin/tv /jellyfin/movies /app/.kaizoku
WORKDIR /app
EXPOSE 8421
ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"]