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
!
services:
minio:
image: quay.io/minio/minio:RELEASE.2022-10-24T18-35-07Z
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_SERVER_URL=https://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"