# 使用Python 3.9作为基础镜像
FROM python:3.9-slim

# 设置工作目录
WORKDIR /app

# 设置环境变量
ENV PYTHONPATH=/app
ENV PYTHONUNBUFFERED=1
ENV TZ=Asia/Shanghai

# 使用阿里云源替换默认的 Debian 源 (Debian 12 - Bookworm)
RUN echo "deb https://mirrors.tuna.tsinghua.edu.cn/debian bookworm main contrib non-free non-free-firmware" > /etc/apt/sources.list && \
    echo "deb https://mirrors.tuna.tsinghua.edu.cn/debian bookworm-updates main contrib non-free non-free-firmware" >> /etc/apt/sources.list && \
    echo "deb https://mirrors.tuna.tsinghua.edu.cn/debian bookworm-backports main contrib non-free non-free-firmware" >> /etc/apt/sources.list && \
    echo "deb https://mirrors.tuna.tsinghua.edu.cn/debian-security bookworm-security main contrib non-free non-free-firmware" >> /etc/apt/sources.list

# 安装系统依赖和中文字体
RUN apt-get update && apt-get install -y \
    build-essential \
    tzdata \
    fonts-wqy-microhei \
    fonts-wqy-zenhei \
    xfonts-wqy \
    ttf-wqy-microhei \
    ttf-wqy-zenhei \
    && rm -rf /var/lib/apt/lists/*

# 创建字体目录
RUN mkdir -p /app/src/fundamentals_llm/fonts

# 复制中文字体到应用目录
RUN cp /usr/share/fonts/truetype/wqy/wqy-microhei.ttc /app/src/fundamentals_llm/fonts/simhei.ttf || \
    cp /usr/share/fonts/truetype/wqy/wqy-zenhei.ttc /app/src/fundamentals_llm/fonts/simhei.ttf || \
    cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /app/src/fundamentals_llm/fonts/simhei.ttf || \
    cp /usr/share/fonts/wqy-zenhei/wqy-zenhei.ttc /app/src/fundamentals_llm/fonts/simhei.ttf || echo "Warning: Could not find WQY font, PDF generation may fail"

# 复制项目文件
COPY requirements.txt .
COPY src/ ./src/

# 安装Python依赖（使用阿里云源）
RUN pip install --no-cache-dir -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

# 创建必要的目录
RUN mkdir -p /app/logs /app/reports

# 暴露端口
EXPOSE 5000

# 设置启动命令
CMD ["python", "src/app.py"] 