DEV Community

arielro85
arielro85

Posted on

From Hermes outputs to a UI for Garage

It started, as side projects do, with another side project.

I'd been playing with Hermes Agent and watching it produce things — reports, generated images, scraped CSVs, scratch notes.

Useful stuff. And every time, the same nagging question: where does this go?

The desktop wasn't going to cut it. Neither was a folder I'd forget about by Tuesday. I wanted somewhere I could throw anything at and trust would still be there in a month — organized, addressable, mine. What I actually wanted was an S3 bucket on my own hardware.

Finding Garage

A bit of searching led me to Garage — a self-hosted, S3-compatible object store from Deuxfleurs. Lightweight, replicated, runs happily on a couple of cheap boxes. Exactly the shape I wanted.

I got it running. It worked. And then I hit the part nobody talks about: how do you actually look at your stuff?

The official path is the garage CLI plus something like mc or aws s3. Fine — but a small wall of friction every time I just wanted to glance at what the agent dumped overnight.

I didn't want to aws s3 ls my way to an answer. I wanted to open a tab.

Door

So I built one. A web UI in front of Garage with a low, specific bar:

  • Open a tab, see my buckets.
  • Browse files like folders.
  • Drag-and-drop upload.
  • Click an image, see the image.
  • Click a report, read it.
  • Manage keys, permissions, and the cluster from the same place.

I called it Door. Your garage door.

Still very early and actively in development — this started as tooling for my own side projects and agent workflows. But it's already become one of those tabs I keep open all day.

Garage Admin UI

A web-based administration interface for Garage — a self-hosted S3-compatible distributed object store.

Built with React 19, Vite 6, shadcn/ui, TanStack Query, and the Garage v2 admin API.

Features

Cluster

  • Live node status, health tiles, per-node storage bars
  • Aggregate storage summary (total / used / free with color-coded progress bar)

Layout

  • View current node roles and staged changes
  • Apply, revert, or preview layout changes; full layout history

Buckets

  • List, create, and delete buckets
  • Manage key permissions per bucket (grant/revoke read, write, owner per key)
  • Configure S3 CORS rules with one click

Bucket Browser

  • Folder navigation with breadcrumb trail
  • Drag-and-drop file upload with per-file progress bars (multipart for files > 5 MB)
  • Paginated object listing (100 items per page, continuation token navigation)
  • Multi-select files with bulk delete
  • Create folders
  • Download and delete individual files
  • In-browser file preview — images, PDF, text, JSON, and code files without downloading

Access

Top comments (0)