# 阶段 1 单阶段构建：python:3.12-slim + 项目依赖（design.md §5）。
FROM python:3.12-slim

ENV PYTHONUNBUFFERED=1 \
    PYTHONDONTWRITEBYTECODE=1 \
    PIP_NO_CACHE_DIR=1

WORKDIR /app

COPY pyproject.toml ./
COPY app ./app

RUN pip install --no-cache-dir .

# 独立账户服务入口（app.account_main）；旧 app.main 仅保留迁移回归，不再作为容器入口。
# 配置文件必须位于项目目录外，由部署方只读挂载到约定路径（JSON 含数据库与网关 PAT，权限 0600）。
# 结算 worker 用同一镜像另起容器：python -m app.account_worker --config <同路径>。
EXPOSE 8000

# 应用只监听容器内私网端口；公网流量经负载均衡/反向代理进入（design.md §12）。
CMD ["python", "-m", "app.account_main", "--host", "0.0.0.0", "--port", "8000", "--config", "/etc/mei1-computing/account.json"]
