0c35a906ce5c5a0657452c15a0a3f0e580249988
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.
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.
Description
Public bootstrap scripts (unraid-1, etc.) — fetched anonymously from the LAN
48 KiB
Languages
Shell
100%