FROM python:3.11-slim

RUN apt-get update && apt-get install -y --no-install-recommends \
    tesseract-ocr \
    libgl1 \
    libglib2.0-0 \
    && rm -rf /var/lib/apt/lists/*

WORKDIR /app

COPY pyproject.toml uv.lock ./
RUN pip install --no-cache-dir uv && uv sync --frozen --no-dev --no-install-project

COPY src ./src
# Optional ML stack: docker build --build-arg EXTRAS="--extra full" .
ARG EXTRAS=""
RUN uv sync --frozen --no-dev ${EXTRAS}

COPY docker/config.docker.yaml ./config.docker.yaml

ENV PATH="/app/.venv/bin:$PATH" \
    OCR_PIPELINE_CONFIG=/app/config.docker.yaml \
    OMP_NUM_THREADS=4

ENTRYPOINT ["ocr-pipeline"]
