60 lines
1.4 KiB
Docker
60 lines
1.4 KiB
Docker
# 使用国内镜像源加速
|
||
FROM python:3.10-slim-bullseye
|
||
|
||
# 设置工作目录
|
||
WORKDIR /app
|
||
|
||
# 设置环境变量
|
||
ENV PYTHONUNBUFFERED=1
|
||
ENV TZ=Asia/Shanghai
|
||
|
||
# 安装 wkhtmltopdf(包含 wkhtmltoimage)与中文字体
|
||
RUN apt-get update && \
|
||
apt-get install -y --no-install-recommends wkhtmltopdf fonts-noto-cjk && \
|
||
rm -rf /var/lib/apt/lists/*
|
||
|
||
# 配置 pip 使用国内镜像源
|
||
RUN pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/ && pip config set install.trusted-host mirrors.aliyun.com
|
||
|
||
# 复制依赖文件
|
||
COPY requirements.txt .
|
||
|
||
# 安装Python依赖
|
||
RUN pip install --no-cache-dir -r requirements.txt
|
||
|
||
# 安装 Playwright 浏览器依赖与 Chromium
|
||
RUN python -m playwright install --with-deps chromium
|
||
|
||
# 复制应用程序文件
|
||
COPY app.py .
|
||
COPY database.py .
|
||
COPY db_pool.py .
|
||
COPY api_browser.py .
|
||
COPY browser_pool_worker.py .
|
||
COPY password_utils.py .
|
||
COPY crypto_utils.py .
|
||
COPY task_checkpoint.py .
|
||
COPY email_service.py .
|
||
|
||
# 复制新的优化模块
|
||
COPY app_config.py .
|
||
COPY app_logger.py .
|
||
COPY app_security.py .
|
||
COPY routes/ ./routes/
|
||
COPY services/ ./services/
|
||
COPY realtime/ ./realtime/
|
||
COPY db/ ./db/
|
||
COPY security/ ./security/
|
||
|
||
COPY templates/ ./templates/
|
||
COPY static/ ./static/
|
||
|
||
# 创建必要的目录
|
||
RUN mkdir -p data logs 截图
|
||
|
||
# 暴露端口(容器内端口,与 app_config.py 中 SERVER_PORT 默认值一致)
|
||
EXPOSE 51233
|
||
|
||
# 启动命令
|
||
CMD ["python", "app.py"]
|