[Fresh Produce] Deploy MinIO object storage in a multi-node configuration on Fly.io

I recently went through the process of setting up a multi-node MinIO deployment on Fly.io for a side project, so I thought I’d extend our existing docs to explain how it can be done. Check it out here!

What’s MinIO, what’s multi-node, and why would I want it?

MinIO is an S3-compatible object store. We had a guide explaining how to deploy MinIO, but only on a single node. Running on a single Machine leaves you vulnerable to single-host failures. Recoverable failures, granted. But if you want high availability, they’re a dealbreaker.

Deploying MinIO in a multi-node configuration solves the availability problem. A multi-node configuration involves deploying multiple Machines (the guide uses 3) and having them talk to each other to ensure data is replicated between them. This way, if one goes down, the others can pick up the slack whilst you troubleshoot the problem.

Hopefully this guide enables more people to run their own object storage with confidence on Fly.io! Take a look if you’re interested.