FROM python:3.13-slim WORKDIR /srv # uv for fast dependency installation COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /usr/local/bin/ COPY pyproject.toml uv.lock* ./ RUN uv sync --frozen --no-dev --no-install-project 2>/dev/null || uv sync --no-dev --no-install-project COPY app ./app COPY alembic ./alembic COPY alembic.ini ./ ENV PATH="/srv/.venv/bin:$PATH" EXPOSE 8000 CMD ["sh", "-c", "alembic upgrade head && uvicorn app.main:app --host 0.0.0.0 --port 8000"]