
Who rustfs is for#
Data engineering teams building AI training infrastructure
RustFS provides S3-compatible object storage where training datasets live on-premise or in a private cloud, avoiding per-request egress fees when repeatedly pulling data into training jobs. ILM tiering moves cold data to remote S3 targets automatically once models are trained.
Skip if:
Your training data already lives in a well-managed cloud bucket and cost is not a concern. Adding another storage layer creates operational overhead without benefit when the problem you are solving is data access, not data residency or cost.
Platform teams replacing MinIO for Apache 2.0 compliance
Teams running MinIO that need to comply with internal IP policies rejecting AGPL, or startups building hosted services, can switch to RustFS for a compatible S3 API under Apache 2.0. The S3 wire protocol compatibility means most clients work without reconfiguration.
Skip if:
You rely on MinIO's encrypted on-disk format for in-place migration. That path requires S3-level replication rather than in-place conversion, which may be impractical for very large datasets.
DevOps teams self-hosting S3-compatible backup storage
RustFS works as a backup target for tools that speak S3, including Restic, Velero, and most database backup agents. Running it on a dedicated host eliminates per-gigabyte cloud storage charges for backups that grow predictably over time.
Skip if:
The backup volume is small and the operational overhead of running a distributed storage server outweighs the cost savings. A managed service is simpler when storage needs are modest and infrastructure capacity is limited.
Regulated industries requiring data residency controls
Teams in healthcare, finance, or government that cannot store data outside specific jurisdictions can run RustFS on infrastructure they control, with server-side encryption and audit logging enabled. OIDC/SSO integration connects to existing identity providers for access control.
Skip if:
Your regulatory posture already covers a specific commercial storage provider through a BAA, DPA, or equivalent compliance agreement. Adding self-hosted storage introduces operational risk without compliance benefit in that case.
The problem it solves#
Object storage on commercial cloud platforms charges for every API request, every gigabyte transferred, and every gigabyte stored. For teams running data lakes, AI model training, or large-scale backup pipelines, those fees compound quickly. A team repeatedly pulling training data or scanning billions of objects for analytics can easily spend thousands of dollars monthly on egress alone.
Beyond cost, commercial platforms mean your data lives in a jurisdiction outside your control. Teams subject to GDPR, CCPA, or internal data-residency policies cannot always accept that tradeoff. Air-gapped deployments, regulated industries, and teams that have been surprised by unexpected cloud storage bills share the same underlying pain: they need S3-compatible object storage that runs where they decide, at a cost they can predict.
How it solves it#
S3 core feature set with tracked compatibility
RustFS implements versioning, object lock (WORM), server-side encryption, S3 Select, lifecycle management (ILM), and event notifications. Coverage is tracked in a public S3 compatibility matrix so teams can verify specific operations before migrating. Existing S3 SDKs and CLI tools connect without code changes.
Erasure coding with background bitrot detection
Data is distributed across drives using erasure coding, providing fault tolerance when drives fail. A background scanner runs bitrot detection across stored objects and heals corrupted data automatically. Pool expansion grows capacity by appending new drive sets to the existing cluster topology without downtime.
Apache 2.0 license with no copyleft restrictions
Licensed under Apache 2.0, not AGPL. Teams can build services on top of RustFS, offer it internally, or include it in a product without triggering copyleft obligations. This is the primary licensing difference from MinIO, which moved to AGPL-3.0 and restricts managed service offerings.
Multi-protocol access beyond S3
In addition to S3, RustFS exposes OpenStack Swift API with Keystone authentication, FTPS, WebDAV, and SFTP. Swift and SFTP are opt-in cargo features. IAM, OIDC, and SSO provide identity integration with existing authentication systems, including multi-tenancy and bucket quota controls.
Kubernetes-native deployment with observability
Official Helm charts are published at charts.rustfs.com for Kubernetes deployments. The Docker image runs as a non-root user (UID/GID 10001) by default. The Docker Compose reference configuration bundles Grafana, Prometheus, and Jaeger for observability without additional setup.
S3 Tables with Iceberg REST Catalog (preview)
S3 Tables ships as an opt-in Iceberg REST Catalog with automated PyIceberg and DuckDB query coverage, bringing table-format queries directly to the object store. This feature is in preview with bounded compatibility claims; not all Iceberg engines are covered. Verify against the S3 Tables support matrix for your specific engine.
Strengths and trade-offs#
Strengths
- Apache 2.0 vs MinIO's AGPL-3.0MinIO shifted to AGPL-3.0, which requires companies offering MinIO as a hosted or managed service to release their source code under AGPL. RustFS is Apache 2.0 with no such restriction. Teams building products, startups offering internal hosted storage, and enterprises with IP policies that reject copyleft can use RustFS without legal review overhead.
- Rust memory model eliminates garbage-collector pausesGo-based storage servers experience latency spikes when the garbage collector runs. Rust's ownership model eliminates GC pauses at the language level. The README documents a stress test comparing RustFS to MinIO on equivalent hardware (2-core Intel Xeon, 4GB RAM, 4x40GB drives, 15 Gbps network) with results in a linked benchmark video.
- No telemetry with explicit compliance documentationRustFS claims no outbound telemetry and lists GDPR (EU/UK), CCPA (US), and APPI (Japan) compliance in its feature documentation. For teams with data-residency requirements, running storage on owned infrastructure eliminates the compliance surface that comes with managed cloud platforms.
Trade-offs
- -MinIO on-disk migration is in preview and incompleteThe MinIO file-format compatibility mode (rio-v2 feature flag) is not part of the default build, and objects encrypted by MinIO cannot be read by RustFS. Migrating an existing MinIO deployment requires using S3 replication to copy objects rather than doing an in-place format migration.
- -Single-node single-drive deployments cannot expand in placeA single-node single-drive (SNSD) deployment cannot be converted to a multi-drive topology without creating a new cluster and migrating data over S3. Teams that start small should plan their initial drive topology for the target count from the beginning, as in-place expansion is not supported for this configuration.
- -S3 Tables support is gated and carries bounded claimsS3 Tables ships as an opt-in Iceberg REST Catalog, not enabled in the default build. Not all Iceberg engines or vendor profiles are covered, and each carries individual compatibility limitations documented in the S3 Tables support matrix. Teams requiring broad Iceberg compatibility should verify before building on this feature.
rustfs vs alternatives#
RustFS vs Amazon S3
Amazon S3 is the reference implementation of cloud object storage. RustFS implements the same API for teams that want to self-host rather than pay per-operation. The decision is about deployment model: managed cloud versus owned infrastructure.
| Feature | RustFS | Amazon S3 |
|---|---|---|
| License | Apache 2.0 | Proprietary |
| Deployment | Self-hosted | AWS managed |
| Pricing model | Server cost only | Per-request, per-GB egress |
| Data residency | Your infrastructure | AWS regions |
| S3 compatibility | Broad, matrix tracked | Reference implementation |
RustFS is the better choice when egress volume is high, when data must stay on specific infrastructure for compliance reasons, or when you need air-gapped storage with no external dependencies. Amazon S3 is the better choice when you want zero infrastructure management, need the full AWS ecosystem (Lambda triggers, Athena, CloudFront), or when your team lacks the operational capacity to run distributed storage servers. RustFS does not replicate every S3 API extension; teams that depend on S3-specific advanced features should check the public compatibility matrix before migrating.
RustFS vs Cloudflare R2
Cloudflare R2 is a managed S3-compatible service with no egress fees, targeting teams primarily concerned with bandwidth costs. Both R2 and RustFS skip per-egress charges, but through different models: R2 is fully managed while RustFS requires you to operate the server.
| Feature | RustFS | Cloudflare R2 |
|---|---|---|
| License | Apache 2.0 | Proprietary |
| Deployment | Self-hosted | Cloudflare managed |
| Egress fees | None (self-hosted) | None |
| Data residency | Your infrastructure | Cloudflare's network |
| Protocol support | S3, Swift, FTPS, WebDAV, SFTP | S3 compatible |
RustFS is the better option when data must stay on infrastructure you own, when you need protocols beyond S3 (Swift, SFTP, WebDAV), or when you are deploying in an air-gapped or private network environment. R2 is the better option when you want no-egress managed storage with zero operational overhead. Running a distributed storage cluster requires server capacity, monitoring, and operational knowledge that R2 avoids entirely.
Quick start#
Deploy RustFS with Docker after preparing the data directories with the required ownership.
```bash
mkdir -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:latest
```What it's built on#
- Languages
- PythonRust
- Cache
- Redis
FAQ#
Is RustFS a drop-in replacement for MinIO?
For most use cases, yes. RustFS implements the S3 core feature set that MinIO-compatible clients expect, including bucket operations, versioning, object lock, and IAM policies. The primary incompatibility is on-disk format: if you have MinIO-encrypted objects, those cannot be read by RustFS, so migration requires copying data over S3 rather than doing an in-place swap.
What is the difference between RustFS and Amazon S3?
Amazon S3 is a managed cloud service; you pay per-request, per-gigabyte stored, and per-gigabyte transferred out. RustFS is self-hosted software that implements the same S3 API. You pay for the hardware or VMs instead of per-operation fees. Teams with high-throughput workloads or data-residency requirements typically find self-hosting cheaper and more controllable at scale.
Does RustFS support Kubernetes?
Yes. Official Helm charts are published at charts.rustfs.com. The Docker image is multi-arch (amd64 and arm64) and runs as a non-root user by default. The provided Docker Compose reference configuration also includes Grafana, Prometheus, and Jaeger for observability integration.
What license does RustFS use?
Apache 2.0. This differs from MinIO, which uses AGPL-3.0. Apache 2.0 allows commercial use, modification, and distribution without requiring source code disclosure and without restricting managed service offerings. The README explicitly positions this as a key advantage over AGPL-licensed object storage alternatives.
Is RustFS production-ready?
Core S3 features, distributed mode, erasure coding, bitrot protection, versioning, and object lock are marked as available and covered by CI gates in the feature matrix. Features in preview include S3 Tables (Iceberg REST Catalog) and MinIO on-disk compatibility; these carry bounded compatibility claims. The repo has been actively maintained since November 2023 with commits through September 2026.
Similar open-source tools#
seaweedfs
One cluster: S3 store, POSIX files, and Iceberg tables
Spinifex
Run AWS workloads on your own hardware, free and open-source.
Storj
Decentralized S3 storage with end-to-end client-side encryption
MinIO AIStor
Hyperscale S3-compatible object storage for AI workloads
FckSignups
Open-source tools that work instantly, no signup required
portabase
Self-hosted backup tool for PostgreSQL, MySQL, MongoDB, and 7 more

