Introduction
RustFS is an open-source object storage server written in Rust that implements the S3 API. It was built to address performance bottlenecks in existing solutions, particularly for small-object workloads where traditional stores struggle. RustFS aims to be a drop-in replacement for MinIO and other S3-compatible services while delivering higher throughput.
What RustFS Does
- Provides full S3 API compatibility for storing and retrieving objects
- Delivers optimized performance for small (4KB-64KB) object payloads
- Supports erasure coding and data replication for durability
- Offers a web-based console for bucket and user management
- Enables seamless migration from MinIO, Ceph, and other S3-compatible stores
Architecture Overview
RustFS is implemented as a single statically-linked Rust binary. It uses an async I/O model powered by Tokio for handling concurrent requests. The storage engine writes objects directly to the local filesystem with configurable erasure coding for fault tolerance. A built-in gateway layer translates S3 API calls into internal operations, and the optional web console provides a management UI served on a separate port.
Self-Hosting & Configuration
- Deploy as a single binary or Docker container on Linux, macOS, or Windows
- Configure root credentials via environment variables (RUSTFS_ROOT_USER, RUSTFS_ROOT_PASSWORD)
- Set storage paths with the
server /dataargument pointing to your disk or volume - Enable distributed mode by specifying multiple server endpoints for clustering
- Use the built-in web console on port 9001 for visual bucket and policy management
Key Features
- Written in Rust for memory safety and high concurrency without a garbage collector
- S3 API compatible — works with existing AWS SDKs, CLI tools, and applications
- Significantly faster than alternatives for small-object workloads
- Supports multi-cloud migration with coexistence mode for gradual transitions
- Lightweight single-binary deployment with minimal resource requirements
Comparison with Similar Tools
- MinIO — The established S3-compatible store; RustFS offers better small-object throughput
- Ceph (RGW) — Full-featured distributed storage; heavier to operate, broader protocol support
- SeaweedFS — Go-based distributed storage with FUSE mount; different architecture trade-offs
- GarageHQ — Rust-based S3 store for geo-distributed setups; targets different deployment model
- LakeFS — Git-like versioning layer over S3; complementary rather than competing
FAQ
Q: Can I migrate from MinIO to RustFS without downtime? A: RustFS supports coexistence mode where it can run alongside MinIO. You can gradually migrate buckets and switch traffic once validated.
Q: Does RustFS support erasure coding? A: Yes. RustFS implements configurable erasure coding to protect against disk failures while minimizing storage overhead.
Q: Is RustFS production-ready? A: RustFS is actively developed and used in production environments. Check the release notes for the latest stability status before deploying critical workloads.
Q: What S3 features are supported? A: RustFS supports core S3 operations including multipart uploads, pre-signed URLs, bucket policies, and lifecycle rules. Some advanced features like S3 Select may not be available yet.