mirror of
https://git.oceanpay.cc/danial/kami_apple_exchage.git
synced 2025-12-18 22:29:09 +00:00
- 在 .dockerignore 文件中添加多个新目录和文件类型,避免不必要的文件被包含在镜像中 - 更新 backend/Dockerfile.worker,取消注释安装 playwright 浏览器和依赖的命令
41 lines
1.1 KiB
Docker
41 lines
1.1 KiB
Docker
FROM mcr.microsoft.com/playwright/python:v1.55.0-jammy
|
|
|
|
COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/
|
|
|
|
ENV DEBIAN_FRONTEND=noninteractive \
|
|
UV_COMPILE_BYTECODE=1 \
|
|
PATH="/app/.venv/bin:$PATH" \
|
|
UV_LINK_MODE=copy \
|
|
TZ=Asia/Shanghai \
|
|
PYTHONUNBUFFERED=1 \
|
|
PYTHONDONTWRITEBYTECODE=1 \
|
|
PLAYWRIGHT_BROWSERS_PATH=/app/playwright-browsers
|
|
|
|
WORKDIR /app
|
|
|
|
RUN apt-get update && apt-get install -y \
|
|
gcc g++ curl wget gnupg \
|
|
&& rm -rf /var/lib/apt/lists/* && apt-get clean && apt-get autoremove -y
|
|
|
|
COPY pyproject.toml uv.lock ./
|
|
COPY --chmod=755 docker-entrypoint.sh ./
|
|
|
|
RUN uv sync --frozen && \
|
|
chmod -R 755 /app/.venv/bin/*
|
|
|
|
RUN mkdir -p /app/screenshots /app/logs /app/data /app/playwright-browsers
|
|
|
|
COPY app ./app
|
|
COPY .env.production .env
|
|
COPY test_gunicorn.py ./
|
|
COPY run.py ./
|
|
|
|
RUN python -m playwright install chromium && \
|
|
python -m playwright install-deps chromium
|
|
|
|
HEALTHCHECK --interval=30s --timeout=30s --start-period=5s --retries=3 \
|
|
CMD python -c "from app.core.celery_app import get_celery_app; app = get_celery_app(); print('Worker healthy')" || exit 1
|
|
|
|
EXPOSE 8000
|
|
|
|
ENTRYPOINT ["./docker-entrypoint.sh"] |