SmallestBusiness Less lock-in, simpler tools, predictable cost

Migrate off MinIO: the production alternatives (and what they actually cost)

TL;DR. MinIO’s open-source community server has effectively been wound down — the web console was stripped through 2025 and the community repository went read-only / archived in early 2026, as the company pushed users toward its commercial AIStor product. If you self-host object storage on MinIO, you are now on a frozen project. The two clean self-hosted replacements are SeaweedFS and Garage; the two clean managed replacements (no servers, low or zero egress) are Cloudflare R2 and Backblaze B2. All four speak the S3 API, so application code rarely changes. Below: what fits which situation, and the real monthly cost — egress included.

(Status note, June 2026: confirm MinIO’s current repo/release status before relying on this — we keep this page dated on purpose. The advice below holds regardless: a stalled dependency under your data is a risk to remove on your schedule, not in a panic.)


What actually happened to MinIO

MinIO was, for years, the default answer to “I want S3 on my own servers.” That changed:

Nothing breaks the day a repo is archived. The risk is slower and worse: no more security patches, no bug fixes, no new-OS compatibility under a system that holds your data. That is exactly the kind of dependency you migrate off calmly, on your own timeline — not after an incident.

Does this affect you? (when to act)

The replacements — two honest paths

Path A — keep self-hosting (you own the hardware and the savings)

Tool What it is Best for Watch out for
SeaweedFS Apache-2.0, Go. The mainstream post-MinIO pick. Strong S3 layer; exceptional at billions of small files. Most self-hosters replacing MinIO; mixed/large object counts; teams wanting an active community. More moving parts than MinIO’s single binary; read the docs on the filer + volume design.
Garage AGPL, Rust. Single static binary, zero external dependencies, built to replicate across geographically separate small nodes. Multi-site setups (offices/shops + a fallback server); simplicity; self-healing geo-redundancy. Deliberately lean — fewer features than SeaweedFS; check S3 API coverage for your exact calls.

Both are S3-compatible, run on a cheap flat-rate box (OVH/Hetzner) or your own hardware, and charge you nothing per gigabyte — the marginal cost of serving the ten-thousandth file is electricity.

Path B — stop self-hosting storage entirely (managed, but cheap and egress-sane)

Service Storage Egress Best for
Cloudflare R2 ~$0.015/GB-mo (~$15/TB) $0 — zero egress fees Egress-heavy serving; teams who never want to run a storage server; pairs with Cloudflare’s CDN.
Backblaze B2 ~$6/TB-mo (~$0.006/GB) Free up to 3× your stored data, then ~$0.01/GB (and free via the Cloudflare CDN path) Cheapest raw storage; backups and archives; still S3-compatible.

Managed is the right call when you don’t have ops capacity or the data volume doesn’t justify running a server. You give up some control and pay a bit more per terabyte stored — but you also stop being on call for it.

What it costs — a worked example

Scenario: 5 TB stored, 10 TB/month egress (a small media/SaaS or multi-site backup-and-serve workload). Prices as of June 2026 — verify before quoting.

Option Storage / mo Egress / mo All-in / mo Notes
Amazon S3 ~$115 ~$895 ~$1,010 Egress is ~89% of the bill and grows with traffic
Cloudflare R2 ~$75 $0 ~$75–90 + small per-operation fees; zero egress is the headline
Backblaze B2 ~$30 $0 (10 TB ≤ 3× of 5 TB stored = within free allowance) ~$30 Cheapest managed; verify the 3× free-egress rule for your ratio
SeaweedFS / Garage on a flat box rent of one box w/ disks (~$50–90) $0 (flat/unmetered) ~$50–90 + your ops time No per-GB anything; but you run it

The honest line self-hosting pitches leave out: that ~$50–90/month box is not the true cost. Running it — patching, backups, monitoring, the occasional 3 a.m. — is real work. Priced at engineer rates, a self-hosted store realistically costs $250–500/month all-in. It still beats S3’s ~$1,010 here, and the gap widens as traffic grows — but if your volume is small, R2 or B2 managed is often the smarter answer than self-hosting.

Which should you pick?

How the migration actually goes

  1. Stand up the target (a SeaweedFS/Garage box, or an R2/B2 bucket).
  2. Copy the data with an S3-aware tool — rclone or mc — bucket to bucket. Both speak S3 to MinIO and to the target, so it’s a straight copy.
  3. Point your app at the new endpoint. Because all of these are S3-compatible, this is usually a config change (endpoint URL + credentials), not a code rewrite. Check any MinIO-specific admin/API calls.
  4. Dual-write or verify, then cut over. Confirm object counts and checksums, then flip reads.
  5. Keep MinIO read-only as a fallback for a short window, then decommission.

The S3 API is the reason this is low-drama — it’s the same reason you’re not locked to any one of these for the next move either.


Run object storage that doesn’t bill you for growing? That’s exactly the kind of line I tear apart in a Cloud-Exit Assessment — or send me a recent cloud bill and I’ll break out the egress and estimate your savings in 24 hours, free.