Fix Docker animdl packaging

This commit is contained in:
Dymas
2026-07-19 15:10:41 +02:00
parent 363de302a8
commit 3f4baf21e8
5 changed files with 30 additions and 39 deletions
+20 -27
View File
@@ -1,16 +1,12 @@
FROM python:3.12-slim
FROM python:3.12-slim-bookworm
ARG ANI_CLI=https://github.com/pystardust/ani-cli.git
ARG ANI_CLI_BRANCH=master
ARG ANI_CLI_WEB=https://gitea.coreplay.eu/Dymas/ani-cli-web.git
ARG ANI_CLI_WEB_BRANCH=main
ARG YT_DLP_RELEASE_URL=https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp
ENV DEBIAN_FRONTEND=noninteractive \
ANI_CLI_REPO=${ANI_CLI} \
ANI_CLI_BRANCH=${ANI_CLI_BRANCH} \
ANI_CLI_WEB_REPO=${ANI_CLI_WEB} \
ANI_CLI_WEB_BRANCH=${ANI_CLI_WEB_BRANCH} \
PATH=/usr/local/bin:/usr/bin:/bin \
ANI_CLI_BIN=ani-cli \
ANIPY_CLI_BIN=/usr/local/bin/anipy-cli \
@@ -30,10 +26,15 @@ RUN apt-get update \
curl \
ffmpeg \
fzf \
build-essential \
git \
grep \
libxml2-dev \
libxslt1-dev \
openssl \
patch \
python3.11 \
python3.11-venv \
sed \
sudo \
util-linux \
@@ -52,33 +53,25 @@ RUN curl -fL "${YT_DLP_RELEASE_URL}" -o /usr/local/bin/yt-dlp \
&& chmod 0755 /usr/local/bin/yt-dlp \
&& yt-dlp --version
RUN python3 -m pip install \
--no-cache-dir \
--no-warn-script-location \
--root-user-action=ignore \
--prefix=/usr/local \
anipy-cli \
animdl \
&& test -x /usr/local/bin/anipy-cli \
&& python3 -c "from animdl.__main__ import __animdl_cli__" \
&& printf '%s\n' '#!/bin/sh' 'exec python3 -c "from animdl.__main__ import __animdl_cli__; __animdl_cli__()" "$@"' > /usr/local/bin/animdl \
&& chmod 0755 /usr/local/bin/animdl \
RUN python3 -m venv /opt/anipy-cli \
&& /opt/anipy-cli/bin/pip install --no-cache-dir --upgrade pip \
&& /opt/anipy-cli/bin/pip install --no-cache-dir anipy-cli \
&& python3.11 -m venv /opt/animdl \
&& /opt/animdl/bin/pip install --no-cache-dir --upgrade pip \
&& /opt/animdl/bin/pip install --no-cache-dir animdl==1.7.27 \
&& test -x /opt/anipy-cli/bin/anipy-cli \
&& test -x /opt/animdl/bin/animdl \
&& printf '%s\n' '#!/bin/sh' 'exec /opt/anipy-cli/bin/anipy-cli "$@"' > /usr/local/bin/anipy-cli \
&& printf '%s\n' '#!/bin/sh' 'exec /opt/animdl/bin/animdl "$@"' > /usr/local/bin/animdl \
&& chmod 0755 /usr/local/bin/anipy-cli /usr/local/bin/animdl \
&& ln -sf /usr/local/bin/anipy-cli /usr/bin/anipy-cli \
&& ln -sf /usr/local/bin/animdl /usr/bin/animdl \
&& /usr/local/bin/anipy-cli --version \
&& /usr/local/bin/animdl --version
RUN git clone --depth 1 --branch "${ANI_CLI_WEB_BRANCH}" "${ANI_CLI_WEB}" /app \
&& rm -rf /app/.git \
&& rm -f \
/app/.dockerignore \
/app/.gitignore \
/app/Dockerfile \
/app/README.md \
/app/ani-cli-web \
/app/docker-compose.yaml \
/app/docker-entrypoint.sh \
/app/test_app.py
RUN mkdir -p /app
COPY app.py app_support.py config_page.py http_handler.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 docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh