← all SaaS
Self-host AWS S3
Object storage / blob store
S3 is the de-facto API for storing blobs at any scale. The self-hostable replacements are S3-compatible at the wire level, so most SDKs swap with a single endpoint change — the work shifts to operating the storage cluster yourself.
AWS S3 pricing anchor: $0.023/GB/mo + egress; egress dominates the bill once you serve traffic from S3.
- GitHub
- ★ 60.9k · last commit 2w ago · 81 open issues
- License
-
AGPL-3.0 MinIO relicensed from Apache-2.0 to AGPL-3.0 in 2021; AGPL is fine for internal / private deployments and unmodified self-host.
- Setup time
- 5min docker run
- Monthly cost
- $5 VPS for a few hundred GB; storage cost scales with the disk you attach (e.g. Hetzner $7/mo for 1TB).
Migration sketch. Use `mc mirror` from MinIO Client to copy across: `mc alias set src https://s3.amazonaws.com $AWS_KEY $AWS_SECRET; mc alias set dst https://minio.example.com $MINIO_KEY $MINIO_SECRET; mc mirror src/your-bucket dst/your-bucket`. For app code, change the SDK endpoint to your MinIO URL — bucket names, keys, and IAM-style policies all carry over.
Good fit forTeams that want a drop-in S3 API on their own hardware, with a polished web console.
Weak atErasure-coded multi-node setups need ≥4 drives; AGPL can spook some lawyers.
- GitHub
- ★ 32.2k · last commit today · 728 open issues
- License
-
Apache-2.0 - Setup time
- 15min docker-compose (master + volume + filer)
- Monthly cost
- $5-10 VPS for small deployments; designed to scale to billions of small files cheaply.
Migration sketch. Run a SeaweedFS S3 gateway (`weed s3`); it exposes an S3-compatible endpoint. Copy from S3 with `aws s3 sync s3://your-bucket s3://your-bucket --endpoint-url https://seaweed.example.com:8333` after configuring the destination credentials. App code points its SDK at the gateway URL.
Good fit forWorkloads with billions of small files (thumbnails, IoT events) where MinIO's per-object overhead bites.
Weak atOperational surface is larger (master / volume / filer / S3 components); weaker GUI than MinIO.
- GitHub
- ★ 3.73k · last commit 2d ago · 2 open issues
- License
-
AGPL-3.0 - Setup time
- 20min docker-compose for a 3-node cluster
- Monthly cost
- $15/mo for 3 small VPSes geographically spread; Garage is built for low-end, geo-distributed hardware.
Migration sketch. Stand up Garage with `garage layout` to define your zones; create a bucket and access key with `garage bucket create` + `garage key create`. Mirror from S3 with rclone: `rclone sync s3-prod:your-bucket garage:your-bucket` after defining both as S3-type remotes. Application SDKs point at the Garage S3 endpoint.
Good fit forGeo-replicated storage on cheap, heterogeneous hardware (Garage was written by an internet co-op for exactly this).
Weak atLess polished than MinIO; smaller community; no admin GUI by default.
In a terminal? npx os-alt aws-s3 prints this table —
how the CLI works →