A working Traefik & docker-compose minio setup with console

Note: I have not updated this config to use the xl or xl-single storage backends, hence the version is locked at RELEASE.2022-10-24T18-35-07Z

The following config works by using two domains: minio.mydomain.com and console.minio.mydomain.com.

For the basic Traefik setup this is based on, see Simple Traefik docker-compose setup with Lets Encrypt Cloudflare DNS-01 & TLS-ALPN-01 & HTTP-01 challenges. Regarding this setup, the important part is to enabled the docker autodiscovery and defining the certificate resolve (we’re using the ALPN resolver).

Be sure to choose a random 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"
         # Console
         - "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