GarageWare dastron/garage-ware:latest https://hub.docker.com/r/dastron/garage-ware bridge sh false https://github.com/make-ware/garage-ware/issues https://github.com/make-ware/garage-ware An existing Garage (garagehq.deuxfleurs.fr) S3 cluster with a layout applied, plus an admin token minted with `garage admin-token create --name garage-ware`. This container is the management console for that cluster - it does not store objects itself. Management console for a self-hosted Garage S3 cluster - buckets, access keys, node health, and a storage ledger for everyone sharing it. Garage gives you the storage; GarageWare gives you the front door: accounts, an object browser, S3 connection details, cluster status and per-node metrics, background repairs, and an append-only record of who is entitled to how much space. Runs as one container with one data path against a Garage cluster you already have. GarageWare is a free, open-source, self-hosted management console for a [Garage](https://garagehq.deuxfleurs.fr/) S3-compatible storage cluster. Garage gives you the storage; GarageWare gives you the front door - accounts, buckets, access keys, node health, and a record of who is entitled to how much space. **You need a Garage cluster already running.** This container manages one; it is not a storage server itself. Point it at your cluster's admin API and S3 gateway, and it does the rest. This template runs the **monolithic** image, which bundles all services in one container: - **Next.js web app** - dashboard, object browser, and admin area - **PocketBase** - database, auth, file storage, and REST API - **Nginx** - reverse proxy fronting everything on a single port **Access after install:** - Web app: `http://[IP]:[PORT:80]/` - PocketBase admin: `http://[IP]:[PORT:80]/_/` - PocketBase API: `http://[IP]:[PORT:80]/api/` **Two sides of the console.** The **dashboard** is what everyone using the cluster sees: their buckets, a built-in object browser, the connection details and access keys for pointing an S3 client at them, and how much of their storage they have used. The **admin area** is for whoever runs the cluster: cluster status and layout, per-node metrics, users and invites, bucket and key reconciliation, quota audits, background repairs, and the storage ledger. **Storage as a ledger.** Rather than a quota you overwrite, GarageWare keeps an append-only ledger: every grant is a signed entry against one user on one node, and a user's entitlement is the sum of their entries. Reclaiming space appends a negative entry instead of editing history, so how someone ended up with the space they have stays auditable. Users can transfer quota to each other, and audits compare the ledger against what the cluster is actually doing. **Required settings:** **Garage Admin URL** (the admin port, 3903 by default - NOT the S3 port 3900), **Garage Admin Token**, and **Garage S3 Endpoint**. Also set **App Public URL** to how users actually reach this container, including the WebUI Port, or invite and alert emails are skipped entirely. **First run - claim the instance.** The container prints a setup banner with a URL and a one-time claim token to its log (**Docker** tab -> container -> **Logs**, look for `[setup]`). Sign up, paste the token, and you are the administrator. Sign-up stays open while no administrator exists, so claim promptly. `/admin/status` then reports anything still misconfigured. **Two things to do before inviting anyone:** configure SMTP at `http://[IP]:[PORT:80]/_/#/settings/mail`, or invites and password resets silently never arrive; and grant new users storage from **Admin -> Claims**, since a new account has none. Buckets also need a CORS rule allowing this app's origin for the in-app file browser to work - see the project README. **Storage:** all persistent data (PocketBase database, uploads, generated superuser credentials, and first-run state) lives under the single `/data` mount, so the whole app is captured by one appdata path. [center][b]GarageWare Release Notes[/b][/center] [i]Full changelog: https://github.com/make-ware/garage-ware/blob/main/CHANGELOG.md[/i] [b]v1.10.0[/b] (2026-08-19) [list] [*]Add feature flags for deployments [*]Add node and key claim mechanism [*]Cluster events [/list] [b]v1.9.0[/b] (2026-08-16) [list] [*]Onboarding flow and repair section [*]Add cost calculation [*]Ledger math [/list] [b]v1.8.3[/b] (2026-08-13) [list] [*]Metrics filter and layout [/list] [b]v1.8.2[/b] (2026-08-13) [list] [*]Add cluster events collection [*]Add timeline to cluster page [/list] [b]v1.8.1[/b] (2026-08-12) [list] [*]Docker build update [*]Scrape the node partitions and expected size [/list] [b]v1.8.0[/b] (2026-08-12) [list] [*]Identify nodes by name or one truncated node id [*]Resolve docker build failure from pocketbase path rename [/list] [b]v1.7.0[/b] (2026-08-09) [list] [*]Add cluster layout [*]Add garage api cache [*]Add invite system [*]Add metrics page [*]Broken dep [*]Bump deps [*]Deps [/list] [b]v1.6.0[/b] (2026-08-08) [list] [*]Reuse admin bucket card, metrics, and sortable table [*]Show app version next to the app name in the nav bar [*]Improve homepage [/list] Cloud: Tools:Utilities Network:Management http://[IP]:[PORT:80]/ https://raw.githubusercontent.com/make-ware/unraid-templates/main/garage-ware/garage-ware.xml https://raw.githubusercontent.com/make-ware/unraid-templates/main/garage-ware/icon.png https://raw.githubusercontent.com/make-ware/unraid-templates/main/garage-ware/images/garage-ware-1.png https://raw.githubusercontent.com/make-ware/unraid-templates/main/garage-ware/images/garage-ware-2.png https://raw.githubusercontent.com/make-ware/unraid-templates/main/garage-ware/images/garage-ware-3.png https://raw.githubusercontent.com/make-ware/unraid-templates/main/garage-ware/images/garage-ware-4.png 8890 /mnt/user/appdata/garage-ware closed us-east-1 90