diff --git a/Dockerfile b/Dockerfile index 40d454f..d35be86 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,25 +1,31 @@ -# copied from https://www.martinrichards.me/post/python_poetry_docker/ FROM python:3.13-slim AS base ENV VIRTUAL_ENV=/app/.venv \ - PATH="/app/.venv/bin:$PATH" + PATH="/app/.venv/bin:$PATH" \ + PLAYWRIGHT_BROWSERS_PATH=0 +# 安装所有都需要的底层依赖 RUN apt-get update && \ apt-get install -y --no-install-recommends \ - libfontconfig1 \ - libgl1 \ - libegl1 \ - libglvnd0 \ - mesa-vulkan-drivers \ - build-essential \ - cmake \ - git \ + libfontconfig1 libgl1 libegl1 libglvnd0 mesa-vulkan-drivers at-spi2-common fontconfig \ + libasound2-data libavahi-client3 libavahi-common-data libavahi-common3 libdatrie1 \ + libfontenc1 libfribidi0 libgraphite2-3 libharfbuzz0b libice6 libpixman-1-0 \ + libsm6 libthai-data libthai0 libunwind8 libxaw7 libxcb-render0 libxfont2 libxi6 \ + libxkbfile1 libxmu6 libxpm4 libxrender1 libxt6t64 x11-common x11-xkb-utils \ + xfonts-encodings xfonts-utils xkb-data xserver-common libnspr4 libatk1.0-0t64 \ + libatk-bridge2.0-0t64 libatspi2.0-0t64 libxcomposite1 libxdamage1 libxfixes3 \ + libxkbcommon0 libasound2t64 libnss3 \ && rm -rf /var/lib/apt/lists/* FROM base AS builder +# 安装构建依赖 +RUN apt-get update && apt-get install -y --no-install-recommends \ + build-essential cmake git \ + && rm -rf /var/lib/apt/lists/* + ENV POETRY_NO_INTERACTION=1 \ POETRY_VIRTUALENVS_IN_PROJECT=1 \ POETRY_VIRTUALENVS_CREATE=1 \ @@ -40,7 +46,7 @@ COPY --from=builder ${VIRTUAL_ENV} ${VIRTUAL_ENV} WORKDIR /app -RUN python -m playwright install --with-deps chromium +RUN python -m playwright install chromium COPY bot.py pyproject.toml .env.prod .env.test ./ COPY assets ./assets