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

pq/scripts

Public bootstrap scripts. Only public repo on git.docker.pq.io — everything else is private. This one is public so machines on the internal network can curl raw URLs anonymously, without embedding tokens.

Distribution is over the LAN (gitea is not internet-reachable); "public" here just means anonymous access from the internal network.

Layout

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)
  watchtower.template.xml        # unraid CA template — image auto-updater
  host-agent.template.xml        # unraid CA template — per-host metrics + fan ctrl

Usage

On the unraid-1 console:

bash <(curl -sL https://git.docker.pq.io/pq/scripts/raw/branch/main/unraid-1/install.sh)

The installer is idempotent. Re-run any time to re-fetch templates or pick up new ones. FORCE=1 rotates garage's secrets.

After install: Unraid UI → Docker → Add Container → Template dropdown → Apply each of my-garage, my-basement, my-watchtower, my-host-agent.

S
Description
Public bootstrap scripts (unraid-1, etc.) — fetched anonymously from the LAN
Readme
48 KiB
Languages
Shell 100%