FROM python:3.12-slim AS base # Install uv COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/ WORKDIR /app # Copy dependency files first for better layer caching COPY pyproject.toml uv.lock* ./ # Install dependencies RUN uv sync --no-dev --no-install-project # Copy source code COPY src/ ./src/ # Install the project itself RUN uv sync --no-dev # Create data directory RUN mkdir -p /app/data ENV DATA_DIR=/app/data CMD ["uv", "run", "python", "-m", "src.main"]