FROM python:3.12-alpine

WORKDIR /app

# Install ALL required build tools
RUN apk add --no-cache \
    gcc \
    g++ \
    musl-dev \
    python3-dev \
    cmake \
    make

RUN pip install uv

COPY pyproject.toml .
COPY uv.lock .

RUN uv pip install pydantic[email] .
RUN uv pip install --system .

COPY . .

EXPOSE 8000

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