FROM python:3.12-slim

WORKDIR /app

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

COPY app/ ./app/

ENV CONFIG_PATH=/config/config.yaml
ENV LOG_LEVEL=INFO
ENV PYTHONUNBUFFERED=1

# config.yaml is intentionally NOT copied into the image — it is bind
# mounted at runtime (see docker-compose.yml) so it can be edited without
# rebuilding this image. A container restart is enough to pick up changes.
ENTRYPOINT ["python", "-m", "app.main"]
