FROM python:3.12-slim-bullseye

WORKDIR /app

RUN apt update && apt install -y curl libpq-dev gcc

COPY ./pyproject.toml ./uv.lock ./README.md /app/

COPY --from=ghcr.io/astral-sh/uv:latest /uv /usr/local/bin/uv

RUN uv sync --extra dev


ENV PATH="/app/.venv/bin:$PATH"

COPY ./lm_simulator_api /app/lm_simulator_api

CMD ["uvicorn", "lm_simulator_api.main:app", "--host", "0.0.0.0", "--port", "80", "--loop", "asyncio"]
