FROM python:3.11-slim-bookworm

ENV PYTHONUNBUFFERED=1 \
    PYTHONDONTWRITEBYTECODE=1 \
    PIP_NO_CACHE_DIR=1 \
    PIP_DISABLE_PIP_VERSION_CHECK=1 \
    DEBIAN_FRONTEND=noninteractive

# System deps for OCRmyPDF + Tesseract (rus+eng) + Ghostscript + qpdf + image libs
RUN apt-get update && apt-get install -y --no-install-recommends \
        build-essential \
        curl \
        ca-certificates \
        ghostscript \
        qpdf \
        unpaper \
        pngquant \
        jbig2dec \
        libxml2-dev \
        libxslt1-dev \
        libffi-dev \
        libjpeg-dev \
        libopenjp2-7 \
        libtiff5-dev \
        zlib1g-dev \
        poppler-utils \
        libmagic1 \
        tesseract-ocr \
        tesseract-ocr-eng \
        tesseract-ocr-rus \
        tesseract-ocr-osd \
    && rm -rf /var/lib/apt/lists/*

WORKDIR /app

COPY pyproject.toml /app/pyproject.toml

RUN pip install --upgrade pip wheel setuptools && \
    pip install -e .

COPY app /app/app
COPY scripts /app/scripts
COPY alembic.ini /app/alembic.ini

RUN mkdir -p /data/input /data/work

EXPOSE 8000

CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"]
