Alternatives to MinIO for single-node local S3
-
Context & Motivation:
- Following the MinIO company's decision to shift away from maintaining the open-source release, developers and demo creators needed alternative local S3 emulators.
- The author's criteria focused strictly on single-node, local testing/demo environments: ready-to-use Docker images, S3 compatibility, open-source licensing (per OSI), simple configuration, and active community/backing.
- Testing baseline used a minimal Docker Compose setup: DuckDB reading and writing Apache Iceberg data backed by local S3 storage.
-
Evaluated Solutions:
- S3Proxy:
- Lightweight, highly compatible, and very easy to set up (
ππ). - Noted downside: Depends on Apache jclouds, which was retired to the Apache Attic in mid-2025.
- Lightweight, highly compatible, and very easy to set up (
- RustFS:
- Easy setup with an included GUI and strong S3 compliance (
ππ). - Drawbacks: Currently in alpha release and recently experienced a notable security vulnerability.
- Easy setup with an included GUI and strong S3 compliance (
- SeaweedFS:
- Mature open-source project with solid S3 compatibility and a built-in UI (
π). - Slight initial hurdle regarding auth config files in Docker Compose, though the maintainer promptly pushed changes to streamline single-node setup.
- Mature open-source project with solid S3 compatibility and a built-in UI (
- Zenko CloudServer:
- Formerly known as S3 Server (by Scality); straightforward replacement (
π). - Downsides include confusing branding across Scality/Zenko/CloudServer and outdated Docker Hub images referenced in documentation.
- Formerly known as S3 Server (by Scality); straightforward replacement (
- Garage:
- Lightweight distributed-focused object store with an AGPL license.
- Steep setup curve for simple single-node demos due to custom initialization, mandatory key ID format constraints, and external TOML configuration requirements (
π¬).
- Apache Ozone & Ceph Object Gateway:
- Deemed too heavyweight and complex for lightweight single-node demo stacks (Ozone required at least four nodes; Ceph required extensive setup).
- S3Proxy:
-
Author's Takeaway:
- Recommended choices for local demos: SeaweedFS and S3Proxy (with RustFS as a potential future candidate once matured).
- Reminded users to weigh project governance (foundation vs. single maintainer) and bus factor when selecting tools.
Hacker News Discussion
- MinIO Fork (pgsty/silo):
- A prominent fork created by Ruohang Feng (originally
pgsty/minio, renamed topgsty/silo) was highlighted by multiple commenters as the most seamless drop-in replacement that requires zero config or code changes for existing MinIO users.
- A prominent fork created by Ruohang Feng (originally
- VersityGW as a Popular Alternative:
- Several users strongly recommended
versitygwfor homelabs and local testing, highlighting its stability and ability to map S3 buckets directly to standard POSIX directories without complex overhead.
- Several users strongly recommended
- Garage Experience & Caveats:
- Commenters noted that Garage v2.3.0 added a
--single-node --default-bucketflag that significantly simplifies single-node setups compared to earlier versions. - However, technical drawbacks were emphasized: Garage relies on eventual consistency and lacks strict conditional PUT semantics, making it unsuitable for workloads like Apache Iceberg or Litestream-style lock guarantees.
- Commenters noted that Garage v2.3.0 added a
- SeaweedFS Community Input:
- The SeaweedFS maintainer actively participated in the thread, clarifying performance benchmarks, welcoming issue reports for concurrency or documentation gaps, and pointing to updated documentation and broad S3 feature coverage.
- Other Noteworthy Mentions:
- HS5: A lightweight object store designed specifically for local S3 simulation with integrated DuckDB support and strict ETag / conditional request compliance.
- Filestash S3 Gateway: Mentioned as a flexible proxy translating S3 requests across diverse backend storages (SFTP, SMB, NFS).
- Incus: Noted that the LXD successor project recently adopted its own native S3 service to drop MinIO dependencies.