Drop-in Binary Replacement: Migrate from MinIO to RustFS

We are releasing a key feature in our latest release (1.0.0-alpha.89): users can now migrate from existing MinIO instances to RustFS through a direct, in-place binary replacement.
MinIO has recently archived its open-source repository. However, there are still millions of instances worldwide running older open-source versions that no longer receive security updates. As time goes on, the security risks associated with these legacy instances continue to grow.
RustFS is an S3-compatible distributed object storage system written in Rust (Apache License 2.0) with over 23k stars. It is designed to serve as a high-performance, fully compatible replacement for MinIO.
Benefits of In-Place Migration
- Cost Savings: You don't need to provision new infrastructure or migrate data over the network. Existing MinIO data directories can be reused directly, saving massive storage and bandwidth costs for users with hundreds of gigabytes or petabytes of data.
- Security Assurance: RustFS is actively maintained. By migrating, your storage infrastructure will receive timely security patches and updates.
- Seamless Integration: Fully S3-compatible. The conversion does not introduce breaking changes to existing client workflows or API calls.
How to Migrate
⚠️ WARNING: Although this is a direct replacement, we strongly recommend backing up your data and configurations before performing any migration on production environments.
1. For Binary Installations
If your MinIO instance was started with a command like this:
minio server /data/minio --console-address ":9001"
Step 1: Download the latest version
curl -O [https://github.com/rustfs/rustfs/releases/download/1.0.0-alpha.89/rustfs-linux-x86_64-gnu-latest.zip](https://github.com/rustfs/rustfs/releases/download/1.0.0-alpha.89/rustfs-linux-x86_64-gnu-latest.zip)
Step 2: Extract and prepare the binary
unzip rustfs-linux-x86_64-gnu-latest.zip
chmod +x rustfs
Step 3: Start the RustFS instance using the MinIO data directory
./rustfs /data/minio \
--address ":9000" \
--console-enable \
--console-address ":9001" \
--access-key "rustfsadmin" \
--secret-key "rustfsadmin"
After booting, you can verify the migration by accessing the console at http://<your-ip>:9001.
2. For Docker Installations
If your instance is managed via docker-compose.yml, simply replace the image and update the environment variables to match RustFS.
Before (MinIO):
services:
minio:
image: minio/minio:RELEASE.2025-04-22T22-12-26Z
command: server --console-address ":9001" /data{1...4}
ports:
- "9000:9000"
- "9001:9001"
environment:
MINIO_ROOT_USER: admin
MINIO_ROOT_PASSWORD: password
volumes:
- data1:/data1
- data2:/data2
- data3:/data3
- data4:/data4
After (Migrated to RustFS):
services:
rustfs:
image: rustfs/rustfs:1.0.0-alpha.89
container_name: rustfs
environment:
- RUSTFS_VOLUMES=/data{1...4}
- RUSTFS_ADDRESS=0.0.0.0:9000
- RUSTFS_CONSOLE_ENABLE=true
- RUSTFS_CONSOLE_ADDRESS=0.0.0.0:9001
- RUSTFS_ACCESS_KEY=admin
- RUSTFS_SECRET_KEY=password
ports:
- "9000:9000" # API endpoint
- "9001:9001" # Console
volumes:
- data1:/data1
- data2:/data2
- data3:/data3
- data4:/data4
Migration Compatibility
Due to differences in internal on-disk data formats, not all MinIO configurations can be migrated automatically yet.
Currently Supported:
Currently Not Supported:
If you encounter any issues during the migration, please reply directly in this thread with your logs.
RustFS Roadmap
Currently, RustFS is in Alpha. Our upcoming timeline:
- Beta: Planned for April 2026.
- GA (General Availability): Planned for July 2026.
Moving forward, our goal is to build RustFS as the foundational storage system for AI infrastructure, with native support for RDMA and DPUs.
Get Started:
Disclaimer: "MinIO" is a registered trademark of MinIO, Inc. Any references to MinIO in this post are strictly for comparative and compatibility-demonstration purposes. RustFS is an independent open-source project and has no affiliation, sponsorship, or endorsement from MinIO, Inc.
Drop-in Binary Replacement: Migrate from MinIO to RustFS
We are releasing a key feature in our latest release (
1.0.0-alpha.89): users can now migrate from existing MinIO instances to RustFS through a direct, in-place binary replacement.MinIO has recently archived its open-source repository. However, there are still millions of instances worldwide running older open-source versions that no longer receive security updates. As time goes on, the security risks associated with these legacy instances continue to grow.
RustFS is an S3-compatible distributed object storage system written in Rust (Apache License 2.0) with over 23k stars. It is designed to serve as a high-performance, fully compatible replacement for MinIO.
Benefits of In-Place Migration
How to Migrate
1. For Binary Installations
If your MinIO instance was started with a command like this:
minio server /data/minio --console-address ":9001"Step 1: Download the latest version
Step 2: Extract and prepare the binary
Step 3: Start the RustFS instance using the MinIO data directory
After booting, you can verify the migration by accessing the console at
http://<your-ip>:9001.2. For Docker Installations
If your instance is managed via
docker-compose.yml, simply replace the image and update the environment variables to match RustFS.Before (MinIO):
After (Migrated to RustFS):
Migration Compatibility
Due to differences in internal on-disk data formats, not all MinIO configurations can be migrated automatically yet.
Currently Supported:
Currently Not Supported:
If you encounter any issues during the migration, please reply directly in this thread with your logs.
RustFS Roadmap
Currently, RustFS is in Alpha. Our upcoming timeline:
Moving forward, our goal is to build RustFS as the foundational storage system for AI infrastructure, with native support for RDMA and DPUs.
Get Started:
https://github.com/rustfs/rustfs/releases/tag/1.0.0-alpha.89