FROM python:3.12-slim # System deps for PDF processing RUN apt-get update && apt-get install -y --no-install-recommends \ build-essential \ libpoppler-cpp-dev \ poppler-utils \ default-jre-headless \ libcairo2 libpango-1.0-0 libpangocairo-1.0-0 \ libgdk-pixbuf2.0-0 libffi-dev \ && rm -rf /var/lib/apt/lists/* # Install uv RUN pip install uv --no-cache-dir WORKDIR /app # Copy backend COPY backend/pyproject.toml . RUN uv sync --no-dev # Copy entire repo (checker engine lives at repo root) COPY . /repo ENV PYTHONPATH=/repo COPY backend/ . CMD ["uv", "run", "gunicorn", "app.main:app", "-k", "uvicorn.workers.UvicornWorker", "-b", "0.0.0.0:8000", "-w", "2"]