# syntax=docker/dockerfile:1.7
FROM python:$python_version-slim AS base

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

WORKDIR /app

# Install deps first for layer caching
COPY pyproject.toml ./
RUN pip install --upgrade pip && \
    pip install . && \
    pip install uvicorn[standard]

# Copy source
COPY src/ ./src/
ENV PYTHONPATH=/app/src

# Non-root user
RUN useradd --create-home appuser
USER appuser

EXPOSE 8000
CMD ["uvicorn", "$package_name.main:app", "--host", "0.0.0.0", "--port", "8000"]
