minio web console已死,Web管理功能全砍!使用 OpenMaxIO 恢复 MinIO 社区版的 Web 控制台功能!

blog.ysicing.net/minio-2025-...

stable-learn.com/zh/minio-de...

github.com/OpenMaxIO/o...

使用 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

相关推荐
悟纤8 小时前
Docker 操作容器[SpringBoot之Docker实战系列] - 第538篇
spring boot·docker·容器
Tony66668888810 小时前
【基于阿里云上Ubantu系统部署配置docker】
阿里云·docker·云计算
伊成11 小时前
详解docker挂载目录常用方式
docker·容器·eureka
风清再凯11 小时前
docker镜像的构建image
运维·docker·容器
风清再凯11 小时前
docker 网络
网络·docker·容器
饭碗、碗碗香11 小时前
【开发常用命令】:docker常用命令
linux·运维·笔记·学习·docker·容器
天外来物12 小时前
实战分享:用CI/CD实现持续部署
前端·nginx·docker
_板栗_13 小时前
k8s 中 cpu 核数的理解
云原生·容器·kubernetes
谷新龙00113 小时前
docker compose搭建elk 8.6.2
elk·docker·容器