MinIO is an S3-compatible object store written in Go. A single binary speaks the full Amazon S3 REST API — including multipart upload, versioning, bucket policies, object lock (WORM), SSE-KMS encryption, and the Select API — so applications and tools built for S3 run against MinIO unchanged.
MinIO scales out in “server pools” using erasure coding rather than replication. Objects are split into data and parity shards (the default 4+4 gives 50% usable capacity and tolerates half the drives failing) and written across drives with MinIO’s own BitRot protection via HighwayHash. A MinIO cluster has no metadata server; placement is derived from object names and the fixed pool topology, which keeps the control path simple and the data path fast. Site replication, bucket replication, and tiering to other S3 endpoints or cold cloud storage are built in, as are an IAM system, OIDC and LDAP integration, and a Prometheus metrics endpoint.
MinIO runs on bare metal, in Docker, and on Kubernetes via the DirectPV CSI driver and its operator, and is used as the storage backend for Loki, Thanos, Mimir, and countless data-lake stacks. It competes with Ceph RGW, SeaweedFS, and Garage on the self-hosted side, and with AWS S3 and GCS in hybrid deployments.