Skip to content
Cooper

Self-hosted, single binary, MIT licensed

The management console that outlives your storage vendor.

Cooper is a self-hosted, single-binary web console for administering S3-compatible object storage. It works with MinIO/Silo, Garage, and any generic S3 endpoint. Every change is audited locally.

Pre-release. Working toward v0.1.0, no tag yet.

The buckets screen in Cooper

Vendor-neutral

One console for MinIO/Silo, generic S3 (AWS, Cloudflare R2, Backblaze B2, Wasabi), and Garage. Each backend is an adapter, so adding one never touches the UI.

Capability-honest

If your backend, or Cooper itself this early, can't do something yet, the UI tells you why instead of hiding it.

Audited by default

Every mutation is recorded locally with who, what, where, and when, before the response is written.

Single binary by default

No database server, Node, or sidecars to run it. It works behind your reverse proxy on a sub-path, and it's a modular monolith you can split apart later if you need to.

Everything you need to administer object storage

One console, every backend.

Domain types, services, and the UI speak only in capabilities. Vendor knowledge lives in one adapter per backend, so adding one never touches the rest.

Buckets and a proper object browser

Create and delete buckets, browse prefixes, upload with progress, preview images and text, and share objects with pre-signed links, all server-side paginated. Cooper never tries to load an entire bucket into the page.

Read the guide
Buckets and a proper object browser in Cooper

Lifecycle rules, quotas, and versioning

Expire objects, abort incomplete multipart uploads, set per-bucket size or object-count quotas, and manage versioning and tags, all from typed forms instead of raw XML.

Read the guide
Lifecycle rules, quotas, and versioning in Cooper

One identity model, real grants

A unified Identities screen for principals and credentials on both MinIO and Garage, with a real effective-access grants matrix, managed IAM policies with drift detection on MinIO, native per-key permissions on Garage. Raw policies and groups stay available in Advanced.

Read the guide
One identity model, real grants in Cooper

A local audit log you can actually search

Every mutation lands in a local, append-only log: who did it, what it touched, and whether it succeeded. Filter by connection, action, or result before you need to explain what happened.

Read the guide
A local audit log you can actually search in Cooper

Health and usage, per backend

See server info, disk status, and per-node cluster health without leaving Cooper. MinIO and Garage each get a view shaped for how that backend actually reports itself.

Read the guide
Health and usage, per backend in Cooper

Background jobs with live progress

Long-running operations, like force-deleting a bucket, run as cancellable background jobs with live progress over SSE, not a spinner that leaves you guessing.

Read the guide
Background jobs with live progress in Cooper

Honest by default

Cooper never fakes a capability.

No telemetry, no phone-home

Cooper makes no external calls on its own. Nothing is collected, and nothing is sent anywhere you didn't configure yourself.

Disabled controls say why

A grayed-out button always has a reason attached, whether it's a missing backend capability or something Cooper hasn't built yet. Never a silent dead end.

Every mutation is audited

Not most mutations. Every one, written before the HTTP response, so the log is never out of sync with what actually happened.

Runs anywhere

Single binary, no dependencies.

14.9 MB

Binary size

27.3 MB

Container image

~75 ms

Cold start

~22 MB

Idle memory

Measured on darwin/arm64 and linux/arm64. See the changelog.

docker run -p 8080:8080 -v cooper-data:/data ghcr.io/redbirdlab/cooper:latest

No release image is published yet. Build from source today.

Backends

MinIO/Silo, Garage, or any generic S3 endpoint.

MinIO / Silo

Buckets, identities and credentials, managed grants with drift detection, lifecycle, quotas, usage, health, read-only replication.

Garage

Buckets, identities (access keys) and grants, lifecycle, quotas, usage, health.

Generic S3

AWS S3, Cloudflare R2, Backblaze B2, and Wasabi presets, plus a custom endpoint.

Generic S3 is tested against a MinIO stand-in today, not against real AWS, R2, B2, or Wasabi yet.

Open core

Free forever, and it says so.

Connecting a backend, the object browser, buckets, the unified identity view (identities, credentials, the effective-access matrix) and per-backend grant management, lifecycle, quotas, usage, health, and the local audit trail will never move behind a paywall. Cooper Pro is additive: SSO, teams, multi-tenant workspaces, fleet views, and audit export, on top, never instead.

Build it from source in a few minutes.

No release image is published yet. The quickstart walks you from a clone to browsing your first bucket.