DevOps

Self-hosted S3 in 2026: what it really costs to run your own object storage

Self-hosted S3 is cheap per terabyte only once you count the reads. Store data you rarely touch on a small cluster and Amazon S3 will usually cost less. Read that data every month and the math flips fast, because a cluster you run doesn’t bill you per gigabyte for using your own data.

This post works through what self-hosting S3 actually costs, with a worked example built on our own order-form prices (checked October 16, 2026) against Amazon S3’s list prices. We sell the servers in the example, so weigh that, but every number links to a page you can check.

What you’re paying for

The software is free. Everything around it isn’t:

  • Raw drives you can’t use. S3 servers keep extra copies or parity so a dead drive doesn’t lose data. Ceph’s default three-way replication leaves about a third of raw capacity usable. Erasure coding in a 4+2 layout keeps about two thirds, but it wants six or more nodes.
  • Headroom. Clusters get unhappy as disks fill. Plan to run at around 80% and add capacity before you hit it.
  • Servers, network and bandwidth. Nodes, a private network for replication traffic, and a public port for reads.
  • Your time. Upgrades, failed drives, rebalancing and the 2 a.m. alert. This is the cost people leave out of the spreadsheet.

The software

MinIO used to be the default answer. Its open-source edition was archived in April 2026, so new builds go elsewhere: Ceph’s RADOS Gateway for scale, SeaweedFS for something lighter, Garage for small clusters that don’t need Object Lock. We compared them in MinIO alternatives in 2026. If the cluster holds backups, pick one with Object Lock.

A worked example: three nodes

A starter cluster on our storage servers, using order-form prices:

ItemPer nodeThree nodes
Xeon D-1541 server, 30 TB transfer included$248$744
Three 14 TB enterprise HDDs at $79$237$711
10 Gbps private network$20$60
Total per month$505$1,515

That’s 126 TB raw. With three-way replication you get 42 TB usable, and with headroom you’d plan to store about 34 TB. So call it roughly $45 per TB of real data per month, and the three servers include 90 TB of transfer between them.

Now the same 34 TB in Amazon S3 Standard, at list price in us-east-1:

ScenarioAmazon S3Three-node cluster
Store 34 TB, read almost nothingAbout $800$1,515
Store 34 TB, read it all once a monthAbout $3,800$1,515
Store 34 TB, read it twice a monthAbout $6,500$1,515

The S3 numbers are $0.023 per GB-month for storage plus internet egress at $0.09 per GB for the first 10 TB and $0.085 after that, before request fees. The cluster numbers assume the reads fit in the included transfer.

The break-even at this size is about 8 TB of reads a month. Below that, S3 is cheaper and you don’t run anything. Above it, the cluster wins, and the gap grows with every read.

One more lever. If the servers that read the data are in the same building as the cluster, those reads travel over the private network and don’t count against your transfer at all. Training jobs, media transcoding and analytics usually sit right there, so their reads are effectively free once the cluster is paid for.

What the comparison leaves out

Two things cut the other way, and it’s fair to say so.

Amazon S3 also bills per request: $0.005 per 1,000 PUTs and $0.0004 per 1,000 GETs in us-east-1. For most workloads that’s small, tens of dollars a month even at a hundred million reads, but millions of tiny objects can change that. A cluster you run has no request fees at all.

S3 also spreads every object across several data centers in a region, and AWS runs it for you. A three-node cluster in one building protects you from a dead drive or a dead server, not from losing the building. If you need that, you need a second site, and the cost of a second cluster. Backups of the important data should live somewhere else either way.

It gets cheaper per TB as you grow

Double the cluster to six of the same nodes and switch to 4+2 erasure coding. That’s $3,030 a month for 252 TB raw, about 168 TB usable and about 134 TB you’d actually fill. Per stored TB that’s roughly $23, about half the three-node figure.

At that size the cluster costs about the same as Amazon S3 does just to store 134 TB, around $3,070 a month, and you haven’t read a byte yet. Every read after that is the difference. The six servers also include 180 TB of transfer.

Past a few hundred terabytes, high-density storage chassis beat three-bay servers on cost per TB, and owning drives in colocation can go lower still. Those builds are quoted rather than listed, so they’re not in the table.

The cost nobody budgets: running it

A self-hosted cluster needs someone who knows it. Ceph in particular rewards experience and punishes guesswork. On rented servers we replace failed hardware under our SLA (2 hours, 1 hour on managed plans), but the storage software is yours: upgrades, rebalancing after a node change, capacity planning and the alert that fires on a holiday.

If your team already runs Linux at scale, it’s manageable once the cluster settles down. If it doesn’t, count the learning curve as a real cost, because the first bad week usually comes before anyone has learned the tools.

When self-hosting S3 makes sense

  • You read your data a lot: training sets, media libraries, analytics, anything read more than once a month.
  • Your compute is next to it: servers in the same building read over the private network, not the internet.
  • You need control: a known building, your own encryption and retention rules, no surprise price changes.
  • You have the skills, or want to build them.

If the data mostly sits still and nobody on the team wants to own a cluster, don’t self-host. That’s not a close call.

The middle option

There’s a third path between Amazon S3 and running Ceph yourself. Our S3-compatible object storage is a cluster we run in Ashburn, Chicago and Los Angeles, next to your own dedicated servers or VPS. Reads inside your plan cost nothing extra, and Object Lock is available for immutable backups. It’s quoted per deployment and starts at 10 TB.

FAQ

Is self-hosted S3 cheaper than Amazon S3?

For data you read often, usually yes. In our three-node example the break-even is about 8 TB of reads a month. For data that just sits there, a small cluster costs more than S3 storage alone.

How many servers do I need?

Three for Ceph with replication, so it can keep three copies on three machines. Six or more to use 4+2 erasure coding across nodes. SeaweedFS and RustFS can start on one server, without the redundancy.

What software should I run?

Ceph RADOS Gateway for scale and Object Lock, SeaweedFS for a lighter setup. See our MinIO alternatives comparison.

Can I store backups on it?

Yes, if the software supports Object Lock and you turn it on when you create the bucket. That’s what keeps ransomware from deleting the copies.