1.2.3 — 2026-06-06
Lets the container run fully unprivileged and ships as a TrueNAS Community app. Until now the image required root at startup; root is now used only for the one-time /data ownership fix and the application process never runs as root. No schema changes.
Features
- TrueNAS Community app: UmlautAdaptarrEX is now available in the TrueNAS app catalog (apps.truenas.com/catalog/umlautadaptarrex_community) — search for "UmlautAdaptarrEX" under Apps → Discover Apps to install. The app is maintained by xopez, many thanks.
Improvements
- Unprivileged container startup: The image can now be started directly as a non-root user (
docker run --user, a composeuser:entry, KubernetesrunAsUser, or the TrueNAS app'srun_asfield). In that case the entrypoint skips thechown/gosustep and runs directly under the given UID/GID, so the container no longer needs theCHOWN/SETUID/SETGIDcapabilities or root, provided the/datavolume is already owned by that UID/GID.
Security & maintenance
- root only for ownership setup: When the container does start as root (the default), root is used only for the one-time
chownof/data; the entrypoint then drops toPUID:PGIDviagosubefore launching the app, so the application process (node start.mjs) never runs as root. The startup path is fully backward-compatible with the existing root-by-default compose setup.
Upgrade notes
No action needed for the default Docker / compose setup. To run unprivileged, pre-own the /data volume with your target UID/GID and start the container with that user (e.g. --user 1000:1000); PUID/PGID are ignored in that mode since the orchestrator already sets the UID/GID.