Initialize git, add Apache-2.0 LICENSE, .gitattributes (LF line endings), AGENTS.md (entry points, stack, discovery order, baseline checks), RUNBOOK.md (dev boot, prod deploy with overlay, ingestion, failures, rollback, scaling notes), .env.prod.example with rotated credential placeholders, and dev-only warnings on .env.example. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
50 lines
1.1 KiB
Docker
50 lines
1.1 KiB
Docker
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"]
|