一、MinIO 牺牲开源精神走向商业利益
今天部署好minio
后打开web
界面发现只剩下纯对象存储:

(图来源于小众软件 )
原因 是今年2月26号的一个PR以"精简控制台"为由删了114736行代码:

而官方这么说: "对于需要图形界面完成管理的场景,请迁移到我们的商业产品(AiStor
),社区用户则可以使用 mc
命令行 "。网友对此表示强烈谴责 :)
二、寻找平替,尝试RustFS
RustFS 是一个用 Rust 语言构建的高性能分布式对象存储系统 ,定位为 MinIO
的替代方案。 Rust的安全性和高性能 以及Apache 2.0的开源协议 是我将它作为MinIO
的平替的主要原因。
因为RustFS
是比较新的项目,按照官网的docker部署命令有点问题。
但官方在相关 issue 中已经给了解决方案,下面我结合该方案并使用docker-compose
部署成功的实操记录:
2.1. 准备好以下目录结构:
js
/mnt/rustfs/
├── data/
└── docker-compose.yml
docker-compose.yml
文件内容:
yml
services:
rustfs:
image: quay.io/rustfs/rustfs:latest
container_name: rustfs
restart: unless-stopped
ports:
- "9000:9000" # API 端口
- "9001:9001" # Console 端口
volumes:
- ./data:/data # 数据存储
networks:
- rustfs-network
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:7000/rustfs/health/live"]
interval: 30s
timeout: 10s
retries: 3
networks:
rustfs-network:
driver: bridge
2.2 /mnt/rustfs/
目录下启动。
docker-compose up -d
启动容器

docker compose ps
查看状态:

2.3 开放安全组
如果访问不了记得新增安全组,开放9000/9001
的端口:

2.4 测试访问
控制台页面访问9001端口:
默认的账号密码:rustfsadmin/rustfsadmin


2.5 配置https
因为端口是9001
不支持https
访问,这里我选择创建一个子域名 rustfs.yourdomain.cn
映射到 yourdomain.cn:9001
,nginx
配置如下:
cong
upstream rustfs_console {
server localhost:9001;
}
upstream rustfs_api {
server localhost:9000;
}
# RustFS Console (Web UI)
server {
listen 443 ssl;
server_name rustfs.yourdomain.cn;
ssl_certificate /etc/letsencrypt/live/yourdomain.cn-0001/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/yourdomain.cn-0001/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
location / {
proxy_pass http://rustfs_console;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Port $server_port;
# WebSocket 支持
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
# RustFS API
server {
listen 443 ssl;
server_name rustfsapi.yourdomain.cn;
ssl_certificate /etc/letsencrypt/live/yourdomain.cn-0001/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/yourdomain.cn-0001/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
location / {
proxy_pass http://rustfs_api;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
# HTTP 重定向到 HTTPS
server {
listen 80;
server_name rustfs.yourdomain.cn rustfsapi.yourdomain.cn;
return 301 https://$server_name$request_uri;
}
测试https
访问:

总结
随着 MinIO 社区版自 2024 年 2 月起全面移除 Web 管理界面 ,标志着其加速向商业化闭源演进,对广大习惯图形化管理的用户来说无疑是一种"背刺"。
尽管 MinIO 声称 CLI(如
mc
)功能更专业,但对中小企业、个人开发者甚至初学者而言,图形界面不可或缺。
同时,RustFS 作为国产、开源、Rust 编写的分布式对象存储项目 ,凭借以下优势,已具备成为 MinIO
替代品的潜力:
对比项 | MinIO(社区版) | RustFS |
---|---|---|
开源协议 | AGPL v3(限制较多) | Apache 2.0(更宽松) |
管理界面 | ✅ 已被移除(需付费) | ✅ 自带 Web 控制台 |
命令行支持 | mc |
REST API + 后续工具支持 |
部署复杂度 | 简单 | 较简单,支持 Docker Compose |
性能与安全性 | 高,但维护封闭 | Rust 架构,天生安全高效 |
中文社区与生态支持 | 较少(商业倾向) | 正在建设中 |
注意 : RustFS
项目还处于早期阶段,功能在逐步完善,生产环境部署需做额外验证。