Stacks / Backend
MinIO / Garage
Object storage you host. MinIO is AGPL-3.0; Garage is AGPL-3.0 — Amazon S3 without the bucket in someone else's region.
The problem
Amazon S3 is object storage you rent. You wanted an S3-shaped API on a volume you own. MinIO is AGPL-3.0 and speaks the S3 API. Garage is AGPL-3.0 (Deuxfleurs) if you want a smaller geo-distributed store. This is not every AWS IAM policy, Glacier tier, or CloudFront edge. Nextcloud is files for humans — /replace/google-drive.
Replaces
Amazon S3
Estimated SaaS saved
$1,200
per year, small team, before lock-in
Start on RailwayNextcloud if people need a Drive UI, not an S3 API
Placeholder: MinIO (or Garage) plus a volume for blobs. Bind the S3 API and the console. No one-click template in this repo yet — Start on Railway. Human file suites stay on /stacks/nextcloud-files.
The stack
Cost table
| You stop paying | Typical / year | Self-host instead |
|---|---|---|
| Amazon S3 (small team) | $1,200 | MinIO or Garage + a volume |
Agent setup prompt
Replace Amazon S3 with MinIO (preferred) or Garage. - Persist blobs on a volume. Bind the S3 API. Create one bucket, one access key, put and get one object. - Point one existing S3 client at the new endpoint. Write AGENT_PROMPT.md. - Do not claim Glacier, CloudFront, or every IAM condition.
Also as markdown: /stacks/minio-object.md
FAQ
- MinIO or Garage?
- MinIO if you want the common S3 client docs. Garage if you want a smaller multi-node store. Pick one.
- Why not Nextcloud?
- Nextcloud is the Drive UI. This page is the S3 API apps already speak.