blog.ysicing.net/minio-2025-...
stable-learn.com/zh/minio-de...
使用 OpenMaxIO 恢复 MinIO 社区版的 Web 控制台功能
MinIO 社区版在 2025 年 5 月 24 日的更新中移除了 Web 管理控制台功能,这一改变引发了社区的广泛讨论。许多用户依赖 Web 控制台进行存储桶管理、文件浏览和权限配置等操作,而新版本将这些功能全部移除,仅保留了基本的对象浏览能力。为了弥补这一缺失,社区推出了 OpenMaxIO 项目,它是一个基于 MinIO 的开源分支,旨在恢复被移除的 Web 控制台功能。
本文将介绍如何通过 Docker Compose 部署 OpenMaxIO,以恢复 MinIO 社区版的 Web 控制台功能。
为什么选择 OpenMaxIO?
MinIO 的 Web 控制台功能被移除后,许多用户感到不便,尤其是那些不熟悉命令行工具的非技术用户。OpenMaxIO 是一个由社区驱动的项目,它继承了 MinIO 的 Web 控制台功能,并致力于提供一个功能完整、用户友好的管理界面。通过使用 OpenMaxIO,用户可以继续享受直观的 Web 界面,而无需依赖命令行工具。
这张图是新版的minio提供的web控制台

这张图是新版的OpenMaxIO提供的web控制台

部署 OpenMaxIO
以下是一个基于 Docker Compose 的部署方案,用于将 OpenMaxIO 与 MinIO 社区版集成,恢复 Web 控制台功能。
1.准备工作
确保你已经安装了 Docker 和 Docker Compose。如果没有安装,请参考以下链接进行安装:
• Docker 安装指南:docs.docker.com/get-docker/
• Docker Compose 安装指南:docs.docker.com/compose/ins...
2.创建 Docker Compose 文件
创建一个名为docker-compose.yml
的文件,并将以下内容粘贴进去。请将CONSOLE_MINIO_SERVER
的值替换为你需要管理的 MinIO 服务的 endpoint。
yml
version: "3.6"
services:
openmaxio-object-browser:
command:
- "sh"
- "-c"
- "./console server --port 9090"
container_name: "openmaxio-object-browser"
environment:
- "PATH=/app:/opt/bitnami/minio-object-browser/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
- "OS_ARCH=amd64"
- "APP_VERSION=2.0.1"
- "BITNAMI_APP_NAME=minio-object-browser"
- "CONSOLE_MINIO_SERVER=http://127.0.0.1:19000" # 替换为你的 MinIO endpoint
expose:
- "9090/tcp"
hostname: "fnos"
image: "registry.cn-hangzhou.aliyuncs.com/masx200/openmaxio-object-browser:1.7.6"
ipc: "private"
labels:
com.vmware.cp.artifact.flavor: "sha256:c50c90cfd9d12b445b011e6ad529f1ad3daea45c26d20b00732fae3cd71f6a83"
io.buildah.version: "1.40.0"
org.opencontainers.image.base.name: "scratch"
org.opencontainers.image.created: "2025-06-06T02:59:49Z"
org.opencontainers.image.description: "Application packaged by Broadcom, Inc."
org.opencontainers.image.ref.name: "2.0.1-debian-12-r1"
org.opencontainers.image.title: "minio-object-browser"
org.opencontainers.image.vendor: "Broadcom, Inc."
org.opencontainers.image.version: "2.0.1"
logging:
driver: "json-file"
options:
max-file: "5"
max-size: "100m"
network_mode: "host"
privileged: true
restart: "always"
security_opt:
- "label=disable"
stdin_open: true
tty: true
user: "0:0"
working_dir: "/app"
3.启动服务
在包含docker-compose.yml
文件的目录中运行以下命令,启动 OpenMaxIO 服务:
bash
docker-compose up -d
此命令会拉取 OpenMaxIO 的 Docker 镜像并启动容器。
4.访问 Web 控制台
启动完成后,OpenMaxIO 的 Web 控制台将在默认端口9090
上运行。你可以通过浏览器访问http://<你的服务器IP>:9090
来使用 Web 控制台。
配置 MinIO 用户权限
为了使 OpenMaxIO 能够正常访问和管理 MinIO 服务,你需要在 MinIO 中创建一个具有管理员权限的用户,并将其凭据配置到 OpenMaxIO 中。
• 创建用户和策略
使用 MinIO 的命令行工具mc
创建一个用户并为其分配管理员权限。以下是示例命令:
bash
mc admin user add myminio/ console <SECRET_KEY>
创建一个策略文件admin.json
,内容如下:
json
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"admin:*"
],
"Effect": "Allow",
"Sid": ""
},
{
"Action": [
"s3:*"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::*"
],
"Sid": ""
}
]
}
然后运行以下命令创建策略并将其附加到用户:
bash
mc admin policy create myminio/ consoleAdmin admin.json
mc admin policy attach myminio consoleAdmin --user=console
• 配置 OpenMaxIO
将 MinIO 的访问密钥和密钥配置到 OpenMaxIO 的环境变量中。你可以在docker-compose.yml
文件中添加以下环境变量:
yml
services:
minio:
command:
- "while true; do minio server --console-address \":19001\" --address \":19000\" /vol1/data1 /vol2/data2 /vol3/data3 /mnt/3649864b-cf05-4162-942a-48bc2c312132/data4; sleep 10 ;done"
container_name: "minio"
entrypoint:
- "sh"
- "-c"
environment:
- "MINIO_ROOT_USER=minioadmin"
- "OPENAI_API_KEY=sk-xxxxxx"
- "TZ=Asia/Shanghai"
- "MINIO_ROOT_PASSWORD=<password>"
- "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
- "MINIO_ACCESS_KEY_FILE=access_key"
- "MINIO_SECRET_KEY_FILE=secret_key"
- "MINIO_ROOT_USER_FILE=access_key"
- "MINIO_ROOT_PASSWORD_FILE=secret_key"
- "MINIO_KMS_SECRET_KEY_FILE=kms_master_key"
- "MINIO_UPDATE_MINISIGN_PUBKEY=RWTx5Zr1tiHQLwG9keckT0c45M3AGeHD6IvimQHpyRywVWGbP1aVSGav"
- "MINIO_CONFIG_ENV_FILE=config.env"
- "MC_CONFIG_DIR=/tmp/.mc"
expose:
- "9000/tcp"
hostname: "ZimaOS"
image: "minio/minio:RELEASE.2025-05-24T17-08-30Z"
ipc: "private"
labels:
architecture: "x86_64"
build-date: "2025-05-15T14:21:56"
com.docker.compose.config-hash: "a6acfbfc7166ea63aa7fb72e46b8ed483c6e52567a45fbf556ec2379597fdd23"
com.docker.compose.container-number: "1"
com.docker.compose.depends_on: ""
com.docker.compose.image: "sha256:8dfb5411d43a1e59fbf9e355d8d229525f0ff0e22ba12797eaad5d4db4c0708c"
com.docker.compose.oneoff: "False"
com.docker.compose.project: "refreshing_max"
com.docker.compose.project.config_files: "/var/lib/casaos/apps/refreshing_max/docker-compose.yml"
com.docker.compose.project.working_dir: "/var/lib/casaos/apps/refreshing_max"
com.docker.compose.service: "main_app"
com.docker.compose.version: ""
com.redhat.component: "ubi9-micro-container"
com.redhat.license_terms: "https://www.redhat.com/en/about/red-hat-end-user-license-agreements#UBI"
description: "MinIO object storage is fundamentally different. Designed for performance and the\
\ S3 API, it is 100% open-source. MinIO is ideal for large, private cloud environments with stringent\
\ security requirements and delivers mission-critical availability across a diverse range of workloads."
distribution-scope: "public"
icon: "https://icon.casaos.io/main/all/minio.png"
io.buildah.version: "1.39.0-dev"
io.k8s.description: "Very small image which doesn't install the package manager."
io.k8s.display-name: "Red Hat Universal Base Image 9 Micro"
io.openshift.expose-services: ""
maintainer: "MinIO Inc <[email protected]>"
name: "MinIO"
release: "RELEASE.2025-05-24T17-08-30Z"
summary: "MinIO is a High Performance Object Storage, API compatible with Amazon S3 cloud storage\
\ service."
url: "https://www.redhat.com"
vcs-ref: "1594a07d6a09f2cbf4e16dd944306eca07749a2a"
vcs-type: "git"
vendor: "MinIO Inc <[email protected]>"
version: "RELEASE.2025-05-24T17-08-30Z"
logging:
driver: "json-file"
options:
max-file: "3"
max-size: "10m"
network_mode: "host"
privileged: true
restart: "always"
security_opt:
- "label=disable"
stdin_open: true
tty: true
volumes:
- "/vol1/data1:/vol1/data1"
- "/vol2/data2:/vol2/data2"
- "/vol3/data3:/vol3/data3"
- "/mnt/3649864b-cf05-4162-942a-48bc2c312132/data4:/mnt/3649864b-cf05-4162-942a-48bc2c312132/data4"
working_dir: "/"
version: "3.6"
重新启动服务以应用更改:
bash
docker-compose down
docker-compose up -d
总结
通过使用 OpenMaxIO,你可以轻松恢复 MinIO 社区版的 Web 控制台功能。OpenMaxIO 提供了一个功能完整且用户友好的界面,帮助用户更好地管理和监控 MinIO 服务。社区驱动的项目如 OpenMaxIO 体现了开源精神的力量,它为用户提供了一个替代方案,以应对 MinIO 社区版功能削减带来的不便。
如果你对 OpenMaxIO 项目感兴趣,或者希望贡献代码,可以访问其 GitHub 仓库:OpenMaxIO/openmaxio-object-browser。