Open source · Apache-2.0 · Self-hosted

A free, self-hosted control plane for your S3 storage

buktio is a web panel, REST API, and CLI for S3-compatible object storage. Create buckets, issue access keys, browse objects, set CORS and lifecycle rules, and watch usage — all from one panel you run yourself.

No artificial limits in the free core Default engine: Garage (bundled) No phone-home licensing
Why now

The self-hosted S3 panel gap is real

Three dated, verifiable facts that pushed us to build buktio. Please verify current repo status yourself.

MinIO removed its free console UI
On 2025-02-26 MinIO removed almost all management features (buckets, keys, policies, lifecycle, replication, IAM/SSO) from its free web console, leaving essentially a read-only object browser — shipped to users around 2025-05-24.
source dated 2025-02-26 / 2025-05-24
Garage has no official UI
Garage (by the Deuxfleurs collective, in production since ~2020) is excellent storage, but it is managed only via CLI and config files. A community panel exists as a hobby project. buktio gives it a real panel.
Garage in production since ~2020
~$0.09/GB vs $0 egress
AWS S3 egress is about $0.09 per GB — roughly $900 to download 10 TB in a month. Self-hosted storage has $0 egress; Cloudflare R2 is $0 egress; Backblaze B2 is low-cost with cheap/free egress.
AWS egress pricing, public list price

Note: MinIO the company is alive and sells a commercial product. What changed is the free open-source experience. We keep this factual, not adversarial.

The free core

Everything you need to run object storage

The OSS core is fully functional with no artificial limits — unlimited buckets, keys, objects, and nodes.

Buckets & access keys

Create buckets and issue S3 access keys from the panel. No Garage CLI, no config files — buktio talks to the engine over its network APIs.

Object browser

Search, upload and download with progress, copy, move, and rename objects. Presigned URLs for sharing. App-level trash with restore and auto-purge.

CORS & lifecycle rules

Edit CORS in a real UI. Set lifecycle rules for object expiry and aborting incomplete multipart uploads — no hand-written JSON.

Usage & traffic metrics

See storage usage and per-key traffic metering in the panel. A Prometheus /metrics endpoint plugs into your existing monitoring.

Encryption built in

Optional client-side encryption (SSE-C) for objects. Engine secrets are encrypted at rest with AES-256-GCM envelope encryption; passwords use argon2id.

Clusters & website hosting

Run multi-node Garage clusters and multiple clusters, or connect an existing one. Host public static websites straight from a bucket.

REST API & CLI

A Go REST API with Bearer-auth API tokens (PATs), plus a cobra-based CLI: status, logs, restart, doctor, backup, restore, upgrade, cluster.

Backups you control

Manual backups of metadata and config via pg_dump. Backups never include your KEK or object data — keep your encryption key separate, by design.

Modern panel

Next.js + TypeScript + shadcn/ui frontend, PostgreSQL 16 as system of record, Caddy for TLS. A guided first-run wizard creates your admin.

Bring your own storage

One panel over any S3

Use the bundled Garage engine, or point buktio at external S3 backends — managed through the same interface.

GarageBundled default · full control plane
AWS S3Object ops · capability gaps reported
Cloudflare R2$0 egress backend
Backblaze B2Low-cost, cheap egress
SeaweedFSSelf-hosted S3 backend
Ceph RGWSelf-hosted S3 backend

Honest about gaps: on external backends, control-plane features like key management, quotas, cluster health, and website hosting may be unavailable — buktio reports these capability gaps honestly. Object operations work everywhere.

Open core, honest pricing

Free core. Paid team features.

The free core never gains artificial limits. Paid editions add new capabilities for teams and companies — they never remove something that was free. Licensing is offline, with no phone-home.

Free
$0 / forever · Apache-2.0
Self-hosters, homelabbers, and developers who want a real S3 panel.
  • Web panel, buckets, S3 access keys
  • Object browser, trash, presigned URLs
  • CORS editor & lifecycle rules
  • Usage metrics, per-key metering, Prometheus
  • API tokens (PATs) & manual metadata backups
  • Multi-node & multi-cluster Garage
  • Multi-backend, SSE-C, website hosting
  • No artificial limits, ever
Enterprise
Paid / talk to us
Organizations needing hard multi-tenancy, quotas, and compliance.
  • Everything in Pro
  • Hard multi-tenancy via Postgres RLS
  • Tenant suspend/resume & per-org quotas
  • Per-org dedicated clusters
  • SCIM 2.0 provisioning & ABAC policies
  • Tamper-evident hash-chained audit + SIEM
  • White-label branding & custom domains
  • Helm, K8s operator, Terraform, systemd

There is also a Hosted / SaaS edition we operate: self-serve signup, per-tenant cluster provisioning, usage-based billing (storage GB-month + egress + requests), and resumable S3-to-S3 migration.

Quickstart

Up and running with one command

A single Docker Compose stack. No external dependencies to install first.

  1. Clone the repo

    Grab the source from github.com/buktio/buktio.

  2. Go to the compose dir

    Everything lives in deploy/docker-compose.

  3. Bring up the stack

    Run docker compose up -d. Panel, API, Garage, Postgres, and Caddy start together.

  4. Open the panel

    Visit https://localhost (self-signed TLS in local dev) and finish the first-run wizard to create your admin.