Service Docling - thekaveh/atlas GitHub Wiki
5.2.14. Docling (Document Processor engine)
Docling is the engine behind the Document Processor role, selected with
DOC_PROCESSOR_SOURCE. See Document Processor for
setup, configuration and integration.
1. Engine quick reference
- Image (GPU):
pytorch/pytorch:2.13.0-cuda12.6-cudnn9-runtime(digest-pinned; used asBASE_IMAGEin the GPU provider Dockerfile); the provider requirements keeptorch==2.13.0and its matchingtorchvision==0.28.0patch pair. - License: MIT (IBM)
- Activation:
DOC_PROCESSOR_SOURCE=docling-container-gpu(ordocling-localhostfor host-installed Docling) - In-container port: 8000
- Host port:
${DOC_PROCESSOR_PORT}(computed fromBASE_PORTby the bootstrapper) - Readiness:
GET /healthstarts configured converter construction off the API event loop and returns503 startinguntil it succeeds. Invalid pipeline or device configuration returns503 unavailable; health reports the converter only and does not claim lazily loaded model artifacts.
JSON image references. Uploaded Docling JSON keeps embedded images. Both
providers ignore filesystem paths, file: URIs and unsupported image schemes
before enrichment or export. Only data:, http: and https: references
remain. The log reports their discarded count without exposing paths. Images
from other input formats keep their existing handling.
Timeouts and fallback.
- Backend and Celery extraction wait up to
DOCLING_INFERENCE_TIMEOUT_SECONDSplus 30 s for Docling.TIKA_TIMEOUT_SECONDSdoes not apply. - Backend
POST /documents/extractroutes long-tail formats straight to Tika. These include legacy Office (.doc,.xls,.ppt),.epub, mail, RTF, OpenDocument and archives. Atlas's Docling providers answer an unsupported format with 500, not 415. - Celery RAG ingestion follows the profile's
parser_order. It can try Tika after Docling fails. - Kong cuts
api.localhostrequests at 300 s. The HTTP client gets a 504 while the conversion continues. - A Celery RAG ingestion has its own limits,
RAG_INGESTION_TASK_SOFT_TIME_LIMIT_SECONDSandRAG_INGESTION_TASK_TIME_LIMIT_SECONDS. By default they are the larger of 3840 / 3900 s and the global Celery limits.
2. Capabilities & limitations
Support tier: experimental — Capability contract declared; no cited cold-start, workflow, or upgrade qualification run yet (evidence at v0.1.0).
| Capability | Status | Verification | Notes |
|---|---|---|---|
| Docling document conversion sources | partial | tested | Atlas provides an NVIDIA GPU container and an existing-host endpoint, but no CPU container or Atlas-managed native Docling lifecycle. |
| Structured extraction and bounded chunking | supported | tested | The provider converts documents once and renders structured markdown or JSON with validated OCR, table, formula, code, chunk-size, overlap, and total-chunk controls. |
| Authenticated bounded provider API | partial | tested | Atlas-managed Docling routes require a generated bearer token and enforce upload, admission, and inference deadlines by default, but AUTH_MODE=disabled is an explicit rollback. |
| Truthful model readiness | partial | tested | Health stays unavailable until converter construction succeeds, but it does not certify every lazily loaded model artifact needed by a later document. |
| LightRAG conversion bundle | supported | tested | An authenticated internal route renders the JSON and Markdown bundle consumed by the isolated asynchronous LightRAG compatibility adapter. |
3. Dependencies & Integrations
3.1. Current — Upstream (this service calls)
No upstream calls.
3.2. Current — Downstream (services that call this)
| Service | Category | Status |
|---|---|---|
| kong | infra | current |
| docling-lightrag-adapter | media | optional: DOC_PROCESSOR_SOURCE=docling-container-gpu or docling-localhost |
| celery | agents | current |
| n8n | agents | current |
| backend | apps | current |
| jupyterhub | apps | current |
3.3. Architecture diagram

Open the full-size diagram for a full-screen view.
3.4. Future — Missing pair integrations
No high-confidence opportunities identified.
3.5. Future — Candidate new services
No high-confidence opportunities identified.
3.6. Future — Unused features in this service
No high-confidence opportunities identified.