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.
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.