# 使用国内镜像源加速
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 curl 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"]
