# Backend Dockerfile
FROM python:3.11-slim

WORKDIR /app

# 安装系统依赖
RUN apt-get update && apt-get install -y \
    build-essential \
    curl \
    && rm -rf /var/lib/apt/lists/*

# 复制依赖文件
COPY requirements.txt .

# 安装Python依赖
RUN pip install --no-cache-dir -r requirements.txt

# 创建非root用户和数据目录
RUN groupadd -r basjoo && useradd -r -g basjoo basjoo \
    && mkdir -p /app/data /app/.cache \
    && chown -R basjoo:basjoo /app/data /app/.cache

# 设置环境变量
ENV HOME=/app

# 复制 entrypoint 和零配置引导脚本
COPY --chown=basjoo:basjoo docker-entrypoint.py env_bootstrap.py /usr/local/bin/
RUN chmod +x /usr/local/bin/docker-entrypoint.py /usr/local/bin/env_bootstrap.py

# 复制应用代码
COPY --chown=basjoo:basjoo . .

# 暴露端口
EXPOSE 8000

# Entrypoint 和启动命令
ENTRYPOINT ["python3", "/usr/local/bin/docker-entrypoint.py"]
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]
