# Python 3.11 + uv（与 pyproject 中 requires-python 一致）
FROM ghcr.io/astral-sh/uv:python3.11-bookworm-slim

WORKDIR /app

COPY pyproject.toml uv.lock ./
RUN uv sync --frozen --no-dev

COPY . .

ENV PYTHONUNBUFFERED=1

EXPOSE 7861 7862

# 端口以环境变量 API.PORT / API_PORT 为准（见 core.config）
CMD ["uv", "run", "python", "-m", "main"]
