Commit Graph
5 Commits
Author SHA1 Message Date
matthew 63825726bc basement template: rename GARAGE_* env vars to BASEMENT_DRIVER_GARAGE_*
basement-ui's config loader namespaces driver-specific settings under
BASEMENT_DRIVER_<DRIVER>_*. With DRIVER=garage, it looks for:
  BASEMENT_DRIVER_GARAGE_ADMIN_URL
  BASEMENT_DRIVER_GARAGE_ADMIN_TOKEN
not the bare GARAGE_ADMIN_URL / GARAGE_ADMIN_TOKEN we had.

Value still the same (same admin URL, same admin token from secrets.env);
just the Target env var name changes. install.sh's sed substitution of
__GARAGE_ADMIN_TOKEN__ still applies — it's a value placeholder, not the
env var name.
2026-05-19 08:30:44 -07:00
matthew ab44f2f1d8 host-agent template: drop rslave from root mount (Unraid incompatible)
`docker start host-agent` failed on unraid-1 with:
  Error response from daemon: path / is mounted on / but it is not a
  shared or slave mount

Unraid's root filesystem mount has "private" propagation by default and
rejects rslave from a container's volume spec. The static view of host
mounts (without rslave) is fine for an unraid box where the array is
mounted before host-agent starts — we lose the ability to see *future*
host mounts inside the container, which we never use anyway.

Container stays in Created state until this is fixed: user runs
install.sh + re-Applies my-host-agent template in Unraid UI.
2026-05-19 08:27:44 -07:00
matthew 2f3b324518 basement: declare 4 required env vars + auto-generate JWT secret
basement-ui as of latest now requires BASEMENT_DRIVER /
BASEMENT_ADMIN_USER / BASEMENT_ADMIN_PASSWORD_HASH / BASEMENT_JWT_SECRET
and refuses to start without them — container was crash-looping.

Template now declares all four:
  - DRIVER: defaults to "garage" (this deployment's storage backend).
  - JWT_SECRET: install.sh generates a hex string into secrets.env
    next to the garage secrets, sed-substitutes into the template.
    Backfills existing secrets.env that predates this key.
  - ADMIN_USER / ADMIN_PASSWORD_HASH: left blank; user fills via
    Unraid UI. bcrypt hash recipe is in both the file header and the
    PASSWORD_HASH config description.
2026-05-19 08:22:16 -07:00
matthew 0c35a906ce watchtower: include + revive stopped containers
basement-ui's placeholder image exits immediately, so the container sits
in a Restarting (0) loop. Watchtower's default filter only checks Up
containers, so basement was being silently skipped every cycle —
`scanned=1` in the running watchtower log was actually garage (pinned,
no update available), not basement.

INCLUDE_STOPPED=true makes watchtower check restart-looping / exited
containers too. REVIVE_STOPPED=true starts them after the update so the
new image actually runs. Once a working basement-ui image is pushed,
this combo will pick it up and the container will stop restart-looping.
2026-05-19 08:03:46 -07:00
matthew 618ef68534 initial: unraid-1 bootstrap (garage + basement + watchtower + host-agent) 2026-05-18 21:48:35 -07:00