FROM python:3.12-slim WORKDIR /app # uv for fast locked installs COPY --from=ghcr.io/astral-sh/uv:latest /uv /usr/local/bin/uv COPY pyproject.toml uv.lock ./ RUN uv sync --frozen --no-dev COPY cayceops/ cayceops/ COPY alembic/ alembic/ COPY alembic.ini . ENV PATH="/app/.venv/bin:$PATH" ENTRYPOINT ["cayceops"]