From 6c145399fecb976d46d10f52e0c08435d31f7629 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=A9=AC=E4=B8=80=E4=B8=81?= <1769123563@qq.com> Date: Tue, 25 Nov 2025 10:10:19 +0800 Subject: [PATCH] Update Dockerfile --- Dockerfile | 70 ++++++++++++++++++++++++++++++------------------------ 1 file changed, 39 insertions(+), 31 deletions(-) diff --git a/Dockerfile b/Dockerfile index 292041a..88fa761 100644 --- a/Dockerfile +++ b/Dockerfile @@ -10,37 +10,45 @@ ENV PYTHONDONTWRITEBYTECODE=1 \ PLAYWRIGHT_BROWSERS_PATH=/ms-playwright # Install system dependencies required by scientific Python stack, Playwright, Streamlit, and WeasyPrint PDF -RUN apt-get update && apt-get install -y --no-install-recommends \ - build-essential \ - curl \ - git \ - libgl1 \ - libglib2.0-0 \ - libgtk-3-0 \ - libpango-1.0-0 \ - libpangocairo-1.0-0 \ - libpangoft2-1.0-0 \ - libgdk-pixbuf2.0-0 \ - libffi-dev \ - libcairo2 \ - libatk1.0-0 \ - libatk-bridge2.0-0 \ - libxcb1 \ - libxcomposite1 \ - libxdamage1 \ - libxext6 \ - libxfixes3 \ - libxi6 \ - libxtst6 \ - libnss3 \ - libxrandr2 \ - libxkbcommon0 \ - libasound2 \ - libx11-xcb1 \ - libxshmfence1 \ - libgbm1 \ - ffmpeg \ - && apt-get clean && rm -rf /var/lib/apt/lists/* +RUN set -euo pipefail; \ + apt-get update; \ + if apt-cache show libgdk-pixbuf-2.0-0 >/dev/null 2>&1; then \ + GDK_PIXBUF_PKG=libgdk-pixbuf-2.0-0; \ + else \ + GDK_PIXBUF_PKG=libgdk-pixbuf2.0-0; \ + fi; \ + apt-get install -y --no-install-recommends \ + build-essential \ + curl \ + git \ + libgl1 \ + libglib2.0-0 \ + libgtk-3-0 \ + libpango-1.0-0 \ + libpangocairo-1.0-0 \ + libpangoft2-1.0-0 \ + "${GDK_PIXBUF_PKG}" \ + libffi-dev \ + libcairo2 \ + libatk1.0-0 \ + libatk-bridge2.0-0 \ + libxcb1 \ + libxcomposite1 \ + libxdamage1 \ + libxext6 \ + libxfixes3 \ + libxi6 \ + libxtst6 \ + libnss3 \ + libxrandr2 \ + libxkbcommon0 \ + libasound2 \ + libx11-xcb1 \ + libxshmfence1 \ + libgbm1 \ + ffmpeg; \ + apt-get clean; \ + rm -rf /var/lib/apt/lists/* # Install the latest uv release and expose it on PATH RUN curl -LsSf --retry 3 --retry-delay 2 --proto '=https' --proto-redir '=https' --tlsv1.2 https://astral.sh/uv/install.sh | sh