Eliminates the ~1.3 GB cold-start download on the first conversion. The
new BAKE_MODELS build-arg defaults to true; pass --build-arg
BAKE_MODELS=false to skip and keep the smaller 1.9 GB image when the
deployment can tolerate a slow first run.
Drop the hf_cache volume from compose — a named-volume mount on top of
the baked path would mask the prefetched models with an empty volume on
first 'docker compose up'. The image is now self-contained.
Measured on arm64:
- latest-local without bake : 1.89 GB
- latest-local WITH bake : 3.19 GB (still -48% vs 6.09 GB baseline)
- Forward WITH_REASONING from the host environment to the document-parser
build args so `WITH_REASONING=true docker compose up --build` produces
the reasoning-enabled local image without editing the compose file.
- Mount a named hf_cache volume at /home/appuser/.cache/huggingface so
Docling / HF model checkpoints survive container restarts and the first
conversion does not re-download every cold start.
Add Neo4j as an optional graph-native storage layer (ingestion profile).
Introduces infra/neo4j with a singleton async driver wrapper and an
idempotent bootstrap of constraints + indexes, wired into the FastAPI
lifespan. Integration tests skip when no live Neo4j is reachable.
Refs #186
Default value of 5 is now in the application code (settings.py) instead
of only in the Docker image ENV. Consistent across all deployment modes
(dev local, Docker, tests). Aligned docker-compose files and docs.