Anydoc / anydoc parser engine (push) Canceled after 0s
App / Format, vet, test, and build (push) Canceled after 0s
CLI / test (macos-latest / go 1.26) (push) Canceled after 0s
CLI / test (ubuntu-latest / go 1.26) (push) Canceled after 0s
CLI / test (windows-latest / go 1.26) (push) Canceled after 0s
Build and Push Docker Image / build-ui (push) Canceled after 0s
Build and Push Docker Image / build-docreader (push) Canceled after 0s
Build and Push Docker Image / build-sandbox (push) Canceled after 0s
Build and Push Docker Image / build-app (amd64, linux/amd64, ubuntu-latest) (push) Canceled after 0s
Build and Push Docker Image / build-app (arm64, linux/arm64, ubuntu-24.04-arm) (push) Canceled after 0s
DocReader / Python tests and Go client tests (push) Canceled after 0s
Build & Publish (dsh-weknora) / Typecheck, test, pack (push) Canceled after 0s
Build & Publish (dsh-weknora) / End-to-end inside dsh (pinned) (push) Canceled after 0s
Build & Publish (dsh-weknora) / End-to-end inside dsh (latest, advisory) (push) Canceled after 0s
Frontend / Test, type-check, and build (push) Canceled after 0s
Go Lint Cache / warm lint cache (.) (push) Canceled after 0s
Go Lint Cache / warm lint cache (cli) (push) Canceled after 0s
Go Lint Cache / warm lint cache (client) (push) Canceled after 0s
Build & Publish (mcp-server) / Test (Python 3.10) (push) Canceled after 0s
Build & Publish (mcp-server) / Test (Python 3.11) (push) Canceled after 0s
Build & Publish (mcp-server) / Test (Python 3.12) (push) Canceled after 0s
Build & Publish (mcp-server) / Test (Python 3.13) (push) Canceled after 0s
Build and Push Docker Image / merge (push) Canceled after 0s
Build & Publish (dsh-weknora) / Publish to npm (push) Canceled after 0s
Build & Publish (mcp-server) / Build sdist + wheel (push) Canceled after 0s
Build & Publish (mcp-server) / Publish to PyPI (push) Canceled after 0s
30 lines
1.1 KiB
Docker
30 lines
1.1 KiB
Docker
# OpenDataLoader PDF hybrid backend (Docling). Pre-install deps so the
|
|
# container listens on :5002 immediately instead of pip install on every start.
|
|
#
|
|
# Default --no-ocr: digital PDFs already have a text layer; Docling layout/table
|
|
# still runs without EasyOCR (avoids libGL + heavy OCR stack in slim images).
|
|
# For scanned PDFs use builtin docreader OCR, MinerU, or override with
|
|
# ODL_HYBRID_EXTRA_ARGS="--force-ocr" (requires extra system/Python deps).
|
|
FROM python:3.10.18-bookworm
|
|
|
|
# Docling table/layout models import cv2 (OpenCV), which needs libGL at runtime
|
|
# even when hybrid runs with --no-ocr.
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
curl \
|
|
libgl1 \
|
|
libglib2.0-0 \
|
|
libgomp1 \
|
|
libsm6 \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
RUN pip install --no-cache-dir "opendataloader-pdf[hybrid]>=2.4.7"
|
|
|
|
EXPOSE 5002
|
|
|
|
ENV ODL_HYBRID_EXTRA_ARGS="--no-ocr"
|
|
|
|
HEALTHCHECK --interval=30s --timeout=10s --retries=5 --start-period=120s \
|
|
CMD curl -f http://localhost:5002/health || exit 1
|
|
|
|
CMD ["bash", "-c", "exec opendataloader-pdf-hybrid --host 0.0.0.0 --port 5002 ${ODL_HYBRID_EXTRA_ARGS}"]
|