# PaddleOCR Service Dockerfile
# 从 Python 基础镜像构建，避免 CPU 指令集兼容性问题

FROM python:3.10-slim

WORKDIR /app

# 安装系统依赖（使用新的包名适配 Debian Trixie）
RUN apt-get update && apt-get install -y \
    libgomp1 \
    libglib2.0-0 \
    libsm6 \
    libxext6 \
    libxrender-dev \
    libgl1 \
    git \
    wget \
    && rm -rf /var/lib/apt/lists/*

# 复制 requirements
COPY requirements.txt .

# 安装 Python 依赖
# 使用 pip 安装的 PaddlePaddle 会自动适配 CPU 指令集
RUN pip install --no-cache-dir paddlepaddle==2.6.0 \
    && pip install --no-cache-dir -r requirements.txt

# 克隆 PaddleOCR 仓库
RUN git clone https://github.com/PaddlePaddle/PaddleOCR.git /PaddleOCR

# 设置环境
ENV PYTHONPATH=/PaddleOCR:$PYTHONPATH
ENV HOME=/root

# 复制 API 服务代码
COPY paddleocr_api.py /app/paddleocr_api.py

# 暴露端口
EXPOSE 8866

# 启动 API 服务
CMD ["python", "/app/paddleocr_api.py"]
