# REPORT — paperless OCR lang-pack fix (2026-06-15) Single catalog change this round: fix the paperless-ngx OCR-language crash-loop found while deploying it live on guest 9201 (userdata-arc close-out). Trunk-based on `main` (commits, no semver). Pairs with felhom-controller v0.66.2. > Validate against the pushed compose at file:line. ## Commit - `67037cc` — `templates/paperless-ngx/docker-compose.yml`: `PAPERLESS_OCR_LANGUAGES` is now a fixed **space-separated** superset `eng hun deu` (was `${PAPERLESS_OCR_LANGUAGE:-}`, i.e. the `+`-joined select value). ## Why The default `PAPERLESS_OCR_LANGUAGE: "hun+eng"` (.felhom.yml) was fed verbatim into `PAPERLESS_OCR_LANGUAGES` — but that var is the **install list** and must be space-separated (the image apt-installs `tesseract-ocr-`). The `+`-joined value made it try to install a bogus package `tesseract-ocr-hun+eng` → not found → the `hun` pack was missing → Django's startup check failed (`selected ocr language hun is not installed`) → **crash-loop** on the default selection. Confirmed it was a malformed-name bug, not network: `apt-get install tesseract-ocr-hun` (correct name) installs cleanly. ## Verified live (guest 9201) Redeployed paperless with the default `hun+eng` → boots **healthy**; `tesseract --list-langs` reports `deu eng hun` (all packs installed via the space-separated list). Runs as uid 1000 (USERMAP_UID/GID 1000); consume end-to-end works (PDF dropped into `import/paperless` → ingested + the consume file removed). (The broader userdata repoint of media mounts to `${USERDATA_PATH}/...` shipped in the prior catalog commits — see git history / the controller REPORT.)