MinIO
S3-compatible object storage you fully control - single node, 20 GB volume, web console included.
One-click deploy, from $7/mo on a Miget plan.
MinIO is the reference implementation of "S3, but yours": the full S3 API - presigned URLs, multipart uploads, versioning, lifecycle (ILM) rules, bucket notifications - in a single Go binary. Every S3 SDK and tool works against it unchanged.
This template runs a single node with a 20 GB volume and the web console as the public entrypoint. Root credentials come from two required variables; create scoped access keys in the console for each app. In-project apps hit http://minio:9000 with path-style addressing - object storage with zero egress fees and LAN latency to your compute.
Worth knowing: Miget has native managed Buckets, which are the lower-ops choice for plain storage. Deploy MinIO when you specifically want MinIO - S3 event hooks driving workflows, ILM rules, or self-managed everything.
Upstream project: MinIO
#what you get
- Full S3 API: presigned URLs, multipart, versioning, ILM lifecycle rules
- Bucket event notifications (webhooks, queues) for event-driven pipelines
- Web console for buckets, browsing, and access-key management
- Scoped access keys and S3-compatible bucket policies
- Works with every S3 SDK, mc, rclone, and backup tooling
- Single node + 20 GB volume; distributed mode is a future variant
#topology
| Service | Role | Public |
|---|---|---|
| minio | S3 API :9000 (project-internal) + console (:5000 public) | console |
#miget sizing
// this stack needs
1 GiB RAM · 20 GB disk · 1 service
Maintenance notice (June 2026): MinIO archived its open source in April 2026; this template pins the last published image (Sep 2025; console reduced to an object browser, one unpatched CVE since). It remains for MinIO-specific needs - new deployments should use the garage template, the actively maintained successor.
Hobby - recommended fit
$7/mo
1 vCPU · 1 GiB · 25 GiB disk
Headroom for your own apps: 2 GiB at $13/mo
Professional - production
$43/mo
2 vCPU · 4 GiB · 25 GiB disk
Dedicated resources, production SLOs - plan details
One Miget plan is a fixed pool of compute - the whole stack (managed databases included) deploys inside it, and anything left over runs your other apps. No per-service or per-seat math.
#vs. the managed service
What the hosted equivalents charge, against the flat Miget plan this stack fits on. Prices as of June 2026, sources linked.
| Service | Plan | Monthly | What you get |
|---|---|---|---|
| MinIO on Miget ★ | 1 GiB plan | $7 | this whole stack, flat - no usage meters, and room left for your own apps |
| AWS S3 | pay-as-you-go | usage-based | ~$1-3/mo at 20 GB + modest requests; egress $0.09/GB past free allowance |
| Cloudflare R2 | pay-as-you-go | usage-based | ~$0.15/mo at 20 GB; zero egress fees by design |
Honest math: at 20 GB, S3/R2 are cheaper than self-hosting. MinIO earns its keep with S3 event hooks, ILM rules, LAN latency to your apps, and zero external dependency - not raw storage price.
#vs. other PaaS
Estimated monthly cost of running this exact stack (1 GiB RAM, 20 GB disk, 1 container) elsewhere, from published June 2026 rates.
| Platform | Est. monthly | Notes |
|---|---|---|
| Miget ★ | $7 flat | compose stacks first-class: one deploy, dedicated vCPU, managed Postgres/Valkey, volumes and TLS all included in the plan |
| Heroku | ~$50 | no volumes; nothing between 1 GB ($50) and 2.5 GB ($250) dynos - 2 GB containers cost far more than shown |
| Render | ~$18 | per-service instances (0.5 GB $7, 2 GB $25) - every container is its own paid service |
| DO App Platform | ~$17 | no persistent volumes - stateful containers need managed DBs/Spaces (base $5 Spaces included here) |
| Railway | ~$13 | usage-based ($10/GB RAM-mo); vCPU billed separately at $20/vCPU-mo on top |
| Fly.io | ~$9 | cheapest sticker price - but burstable shared CPUs (1/16 core; dedicated vCPUs cost ~2-3×), no compose deploys (one app per container, manual wiring), managed DBs billed extra |
Estimates assume RAM fully allocated at published on-demand rates - and sticker price isn't the whole comparison: the cheaper rows buy burstable shared CPUs, per-service wiring instead of a compose deploy, and managed databases billed separately. Heroku and DO App Platform have no persistent volumes at all - stateful stacks like this one need workarounds there.
#deploy it
On Miget
- Create a Compose Stack in app.miget.com pointing at the templates repository
- Set the stack path to
minio -
Set the required variable:
MINIO_ROOT_USER / MINIO_ROOT_PASSWORD, console login + root S3 credentials; mint scoped keys per app
- Deploy. Miget layers
compose.miget.yaml(RAM, privacy, volumes, managed services) automatically
Locally first?
Every template is portable, vanilla Docker Compose - the Miget overrides are ignored locally:
git clone https://github.com/deployable-sh/stacks
cd miget-compose-templates/minio
docker compose up -d Same files, same behavior. The template README covers connection strings and scaling notes.
#faq
When should I use MinIO instead of AWS S3 or R2?
When your compute lives next to it: zero egress fees, sub-millisecond latency, and no external dependency for dev/staging/internal apps. S3/R2 still win for global distribution and eleven-nines durability - single-node MinIO is one volume, so back up what matters.
Do existing S3 SDKs and tools work?
Yes - set the endpoint to http://minio:9000, use path-style addressing, and boto3, the AWS CLI, rclone, and every S3 client behave normally. Presigned URLs work for browser uploads too.
Should I use this or Miget’s native Buckets?
Native Buckets for plain managed storage - less to operate. This template is for MinIO-specific powers: S3 event notifications driving workers, ILM rules, versioning policies, or compliance reasons to self-manage the storage layer.
Can MinIO scale beyond one node?
Upstream MinIO does (distributed mode, 4+ nodes, erasure coding) and a cluster variant is on this catalogue’s roadmap. This template is deliberately single-node - the right shape for app storage measured in gigabytes, not petabytes.
Ship MinIO today
One compose stack, 1 GiB of RAM, from $7/month flat, and it runs on your laptop with the same files.