MinIO 社区版被故意阉割,Web管理功能全面移除。我来试试国产RustFS

一、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:9001nginx配置如下:

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 项目还处于早期阶段,功能在逐步完善,生产环境部署需做额外验证。

相关推荐
森焱森1 小时前
水下航行器外形分类详解
c语言·单片机·算法·架构·无人机
Piper蛋窝3 小时前
深入 Go 语言垃圾回收:从原理到内建类型 Slice、Map 的陷阱以及为何需要 strings.Builder
后端·go
cui_hao_nan4 小时前
Docker后端部署
运维·docker·容器
六毛的毛5 小时前
Springboot开发常见注解一览
java·spring boot·后端
AntBlack5 小时前
拖了五个月 ,不当韭菜体验版算是正式发布了
前端·后端·python
31535669135 小时前
一个简单的脚本,让pdf开启夜间模式
前端·后端
大苏打seven5 小时前
Docker学习笔记:Docker网络
笔记·学习·docker
uzong6 小时前
curl案例讲解
后端
小张是铁粉6 小时前
docker在Linux的安装遇到的问题
linux·docker·容器
一只叫煤球的猫6 小时前
真实事故复盘:Redis分布式锁居然失效了?公司十年老程序员踩的坑
java·redis·后端