FROM python:3.13-slim

WORKDIR /app

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

# Copy everything
COPY pyproject.toml uv.lock README.md ./
COPY src/ src/

# Install (non-editable for production)
RUN uv sync --frozen --no-dev --extra server --no-editable

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

# Shell form so $PORT expands natively
CMD uvicorn qualito.dashboard.app:create_app --factory --host 0.0.0.0 --port ${PORT:-8090}
