From da7eae35588e1367513b13b177b17fffd7ef3a23 Mon Sep 17 00:00:00 2001 From: Matthew Jackson Date: Fri, 22 May 2026 16:07:06 -0700 Subject: [PATCH] basement: rename image basement-ui -> basement; chown appdata for distroless - template Repository now ghcr.io/mattjackson/basement:latest - Registry URL and all "basement-ui" descriptive text updated - install.sh chowns /mnt/user/appdata/basement to 65532:65532 so the nonroot distroless image can create its data subpaths --- README.md | 2 +- unraid-1/basement.template.xml | 14 +++++++------- unraid-1/install.sh | 4 ++++ 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 6db64d8..0ed9fd5 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ unraid-1/ install.sh # bootstrap entrypoint garage.toml # garage S3 config (single-node, lmdb, rf=1) garage.template.xml # unraid CA template — garage container - basement.template.xml # unraid CA template — basement-ui (garage admin UI) + basement.template.xml # unraid CA template — basement (garage admin UI) watchtower.template.xml # unraid CA template — image auto-updater host-agent.template.xml # unraid CA template — per-host metrics + fan ctrl ``` diff --git a/unraid-1/basement.template.xml b/unraid-1/basement.template.xml index 59251e5..1f830e7 100644 --- a/unraid-1/basement.template.xml +++ b/unraid-1/basement.template.xml @@ -1,6 +1,6 @@ basement - ghcr.io/mattjackson/basement-ui:latest - https://github.com/mattjackson/basement-ui + ghcr.io/mattjackson/basement:latest + https://github.com/mattjackson/basement bridge sh false - basement-ui: admin UI for the local garage S3 container. Caddy on classe terminates TLS for basement.pq.io and reverse-proxies to this container's port 8080. + basement: admin UI for the local garage S3 container. Caddy on classe terminates TLS for basement.pq.io and reverse-proxies to this container's port 8080. Network:Web Cloud: http://[IP]:[PORT:8080]/ @@ -49,9 +49,9 @@ Publicly served at https://basement.pq.io via Caddy on classe (reverse proxy → 8080 - /mnt/user/appdata/basement + /mnt/user/appdata/basement - http://host.docker.internal:3903 + http://host.docker.internal:3903 __GARAGE_ADMIN_TOKEN__ garage diff --git a/unraid-1/install.sh b/unraid-1/install.sh index 6189170..8d21b1b 100755 --- a/unraid-1/install.sh +++ b/unraid-1/install.sh @@ -39,6 +39,10 @@ die() { printf "install.sh: %s\n" "$*" >&2; exit 1; } [ -d /mnt/user/s3 ] || die "share /mnt/user/s3 missing. Create it in unraid UI first (Shares → Add Share → 's3', cache:yes recommended), then re-run." mkdir -p "$APPDATA/meta" "$DATADIR" "$TEMPLATE_DIR" /mnt/user/appdata/basement /mnt/user/appdata/host-agent +# basement image is distroless and runs as nonroot UID 65532 — it can't mkdir +# subpaths under a root-owned bind mount target. host-agent runs as root, so +# only the basement dir needs this. +chown 65532:65532 /mnt/user/appdata/basement # ── garage.toml ── if [ -f "$TOML_DEST" ] && [ "${FORCE:-}" != "1" ]; then