rustfs/rustfs
🚀2.3x faster than MinIO for 4KB object payloads. RustFS is an open-source, S3-compatible high-performance object storage system supporting migration and coexistence with other S3-compatible platforms such as MinIO and Ceph.
RustFS – High‑Performance Distributed Object Storage (Rust)
What it is – RustFS is an open‑source, Apache‑2.0‑licensed object‑storage system written in Rust. It aims to combine the ease‑of‑use of MinIO with Rust’s memory‑safety and speed, offering S3‑compatible APIs, OpenStack Swift support, and a web console for managing buckets and objects.
Why it matters for AI / data‑intensive workloads – The README calls out “optimized for data lakes, AI, and big‑data workloads.” Object storage is the backbone for training data, model checkpoints, and inference results. RustFS’s focus on raw performance, low‑overhead networking, and bit‑rot protection makes it a viable on‑prem or edge alternative to cloud‑hosted S3 services.
Core Features (as of the README)
| Feature | Status |
|---|---|
| High‑performance core (Rust, low‑level I/O) | ✅ Available |
| Distributed mode (fault‑tolerant, multi‑node) | 🚧 Under testing |
| S3 API compatibility (core features, versioning, multipart upload, etc.) | ✅ Available |
| OpenStack Swift API & Keystone auth | ✅ Available |
| Bitrot protection | ✅ Available |
| Bucket replication & lifecycle management | ✅ Available / 🚧 Under testing |
| Single‑node mode (quick local dev) | ✅ Available |
| Kubernetes Helm charts | ✅ Available |
| RustFS‑KMS (encryption key management) | 🚧 Under testing |
| Multi‑tenancy | ✅ Available |
| Event notifications & webhook integration | ✅ Available |
| Logging & monitoring (Grafana, Prometheus, Jaeger containers) | ✅ Available |
Typical Use Cases
- AI data lake – Store large training datasets, model artifacts, and experiment logs with S3‑compatible tools (e.g.,
aws s3,boto3). - Edge / IoT gateways – Rust’s low memory footprint and the “Strong Edge Support” claim make it suitable for on‑prem storage on constrained devices.
- Hybrid cloud – Run RustFS on‑prem while keeping the same S3 API used by cloud services, easing data migration.
- Compliance‑focused deployments – No telemetry, GDPR/CCPA/APPI‑compatible, and permissive licensing for commercial use.
Quick‑Start Options (from the README)
- One‑click script –
curl -O https://rustfs.com/install_rustfs.sh && bash install_rustfs.sh - Docker – Run the official image as a non‑root user (UID/GID
10001). Example:
Port 9000 = S3 API, 9001 = web console (default credsmkdir -p data logs && chown -R 10001:10001 data logs docker run -d -p 9000:9000 -p 9001:9001 \ -v $(pwd)/data:/data -v $(pwd)/logs:/logs rustfs/rustfs:latestrustfsadmin/rustfsadmin). - Docker‑Compose – Use the provided
docker-compose-simple.ymlwhich also spins up Grafana, Prometheus, and Jaeger for observability. - Helm chart – Deploy to Kubernetes via the chart at
https://charts.rustfs.com/. - Build from source – Multi‑arch Docker images can be built locally with
./docker-buildx.shor viamake docker-buildx*. - Nix Flake / x‑cmd – One‑liner commands for those ecosystems are also listed.
Authentication & Identity
- Supports OpenStack Keystone (X‑Auth‑Token) and OIDC (e.g., Microsoft Entra ID). A
roles_claimcan be mapped to policy conditions, enabling fine‑grained admin or bucket permissions.
Documentation & Community
- Docs site – https://docs.rustfs.com (installation, configuration, operation guides).
- Community – Discord, GitHub Discussions, and a public issue tracker.
- Observability – Built‑in Prometheus metrics, Jaeger tracing, and Grafana dashboards.
License
- Apache 2.0 – permissive, business‑friendly, no “viral” clauses.
Bottom line – RustFS is a genuine, production‑grade object‑storage system written in Rust, positioned as an AI‑friendly, on‑prem alternative to cloud S3 services. It offers a full S3/Swift API, container/Kubernetes deployment paths, and features (bit‑rot protection, replication, multi‑tenancy) that make it relevant for teams building large‑scale data pipelines or edge AI solutions.
Related
- Project
- Project
- Project
- Project
- Dispatch