Cloud Native 5 min read

Why RustFS Is Emerging as the Next‑Gen Open‑Source S3‑Compatible Storage

After MinIO entered maintenance mode in December 2025, RustFS—a Rust‑written, Apache‑2.0 licensed, high‑performance distributed object storage—offers memory‑safe design, cross‑platform Docker deployment, S3 compatibility, and seamless integration with the Webman PHP framework, providing a compelling alternative for cloud‑native environments.

Open Source Tech Hub
Open Source Tech Hub
Open Source Tech Hub
Why RustFS Is Emerging as the Next‑Gen Open‑Source S3‑Compatible Storage

Background

On December 3, 2025 MinIO announced it was moving to maintenance mode, ceasing new feature development and stopping active issue and PR handling, which left many users searching for a replacement.

Introducing RustFS

RustFS is a high‑performance, open‑source, S3‑compatible distributed object storage written in Rust and released under the Apache‑2.0 license. It runs on virtually any operating system and CPU architecture (x86, ARM, etc.) and benefits from Rust’s compile‑time memory‑safety guarantees, eliminating runtime garbage‑collection pauses and memory‑leak risks.

Key Advantages over MinIO

Language: Rust vs. Go.

License: Apache‑2.0 vs. AGPL‑v3.

Web console: Fully retained in RustFS, removed in MinIO.

Docker image: Actively maintained for RustFS.

Performance: Benchmarks show up to 2.3× higher throughput than MinIO.

Peer‑node design: All storage nodes are equal, eliminating single‑point‑of‑failure risk and enabling linear scaling to exabyte capacities, ideal for cloud‑native workloads.

Quick Start with Docker

docker run -d \
  --name rustfs \
  -p 9000:9000 \
  -p 9001:9001 \
  -v /data:/data \
  -e RUSTFS_VOLUMES=/data/rustfs0,/data/rustfs1,/data/rustfs2,/data/rustfs3 \
  -e RUSTFS_ACCESS_KEY=rustfsadmin \
  -e RUSTFS_SECRET_KEY=rustfsadmin \
  -e RUSTFS_CONSOLE_ENABLE=true \
  rustfs/rustfs:latest

After the container starts, open http://localhost:9001 and log in with username rustfsadmin and password rustfsadmin.

Integration with Webman (PHP framework)

Install the storage plugin via Composer: composer require tinywan/storage Install the S3 driver: composer require league/flysystem-aws-s3-v3 Example PHP code to upload a file to RustFS:

use Tinywan\Storage\Storage;

$res = Storage::uploadFile(Storage::MODE_S3);
var_dump(json_encode($res));

Configuration details (replace the endpoint with your RustFS address, e.g., http://192.168.3.29:9000) are illustrated in the image below.

Configuration screenshot
Configuration screenshot
Note: The access domain and endpoint must point to the API service address, such as http://192.168.3.29:9000 .

Sample Upload Response

{
  "code": 0,
  "msg": "ok",
  "data": [
    {
      "key": "file",
      "origin_name": "example.png",
      "save_name": "108b7f4d06ad88f608df22a4888a5ba7.png",
      "save_path": "/108b7f4d06ad88f608df22a4888a5ba7.png",
      "url": "http://192.168.3.29:9000/108b7f4d06ad88f608df22a4888a5ba7.png",
      "unique_id": "108b7f4d06ad88f608df22a4888a5ba7",
      "size": 24556,
      "mime_type": "image/png",
      "extension": "png"
    }
  ]
}

Official installation documentation can be found at https://docs.rustfs.com.cn/installation/docker/.

DockerRustObject StorageS3WebmanRustFS
Open Source Tech Hub
Written by

Open Source Tech Hub

Sharing cutting-edge internet technologies and practical AI resources.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.