# syntax=docker/dockerfile:1
FROM python:3.11-slim-bookworm

ENV PYTHONDONTWRITEBYTECODE=1 \
    PYTHONUNBUFFERED=1 \
    PYTHONPATH=/app \
    TZ=Asia/Shanghai

WORKDIR /app

RUN apt-get update \
    && apt-get install -y --no-install-recommends curl ca-certificates tzdata \
    && rm -rf /var/lib/apt/lists/*

COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt

COPY apps ./apps
COPY packages ./packages
COPY scripts ./scripts
COPY web/dist ./web/dist
COPY data/.gitkeep ./data/.gitkeep

RUN mkdir -p /app/data /app/logs

EXPOSE 5170

# 默认 API；Compose 里 collector 覆盖 command
CMD ["uvicorn", "apps.api.main:app", "--host", "0.0.0.0", "--port", "5170"]
