一个可用的 Traefik 和 docker-compose minio 设置(带控制台)

注意:我尚未更新此配置以使用 xlxl-single 存储后端,因此版本锁定在 RELEASE.2022-10-24T18-35-07Z

以下配置通过使用两个域工作:minio.mydomain.comconsole.minio.mydomain.com

关于此基础 Traefik 设置,请参阅使用 Lets Encrypt Cloudflare DNS-01 和 TLS-ALPN-01 和 HTTP-01 挑战的简单 Traefik docker-compose 设置。关于此设置,重要的部分是启用 docker 自动发现和定义证书解析器(我们使用 ALPN 解析器)。

确保选择随机的 MINIO_ROOT_PASSWORD

minio_docker_compose.yml
services:
   minio:
      image: quay.io/minio/minio:RELEASE.2025-07-23T15-54-02Z
      command: server --console-address ":9001" /data
      volumes:
         - ./data:/data
         - ./config:/root/.minio
      environment:
         - MINIO_ROOT_USER=minioadmin
         - MINIO_ROOT_PASSWORD=uikui5choRith0ZieV2zohN5aish5r
         - MINIO_DOMAIN=minio.mydomain.com
         - MINIO_BROWSER_REDIRECT_URL=https://console.minio.mydomain.com
      labels:
         - "traefik.enable=true"
         # 控制台
         - "traefik.http.routers.minio-console.rule=Host(`console.minio.mydomain.com`)"
         - "traefik.http.routers.minio-console.entrypoints=websecure"
         - "traefik.http.routers.minio-console.tls.certresolver=alpn"
         - "traefik.http.routers.minio-console.service=minio-console"
         - "traefik.http.services.minio-console.loadbalancer.server.port=9001"
         # API
         - "traefik.http.routers.minio.rule=Host(`minio.mydomain.com`)"
         - "traefik.http.routers.minio.entrypoints=websecure"
         - "traefik.http.routers.minio.tls.certresolver=alpn"
         - "traefik.http.routers.minio.service=minio"
         - "traefik.http.services.minio.loadbalancer.server.port=9000"

Check out similar posts by category: Container, Docker, S3, Traefik