Papa Kojo
Papa Kojo

Reputation: 813

Minio install behind Traefik

I had the previous version (from last yr) of minio running well behind traefik and on portainer with no issues. I attempted an upgrade 4 days ago to the new version and it's been downhill since then. I get the login page but it won't accept credentials; Error: {"code":500,"detailedMessage":"Post \"https://storage.example.com/\": dial tcp <ip>:443: i/o timeout","message":"invalid Login"} I suspect it has something to do with the TLS certificate.

Below is my compose file, I've generated the certs as required; any assistance is is welcomed:

 minio:
image: minio/minio
container_name: minio
restart: unless-stopped
command: server /data --certs-dir "./minio-data/certs" --address ":9000" --console-address ":9001"
networks:
  - traefik-proxy2
expose:
  - "9000"
  - "9001"
volumes:
  - ./minio-data:/data

environment:
  - "MINIO_ROOT_USER=love"
  - "MINIO_ROOT_PASSWORD=love1234"
  - "MINIO_BROWSER_REDIRECT_URL=https://stash.example.com"
  - "MINIO_SERVER_URL=https://storage.example.com"
labels:
  - "traefik.enable=true"
  - "traefik.http.services.minio.loadbalancer.server.port=9000"
  - "traefik.http.routers.minio.rule=Host(`storage.example.com`)"
  - "traefik.http.middlewares.minio-https-redirect.redirectscheme.scheme=https"
  - "traefik.http.routers.minio.middlewares=minio-https-redirect"
  - "traefik.http.routers.minio.entrypoints=https"
  - "traefik.http.routers.minio.service=minio"
  - "traefik.http.routers.minio.tls=true"
  - "traefik.http.routers.minio.tls.certresolver=http"
  - "traefik.http.services.minio-console.loadbalancer.server.port=9001"
  - "traefik.http.routers.minio-console.rule=Host(`stash.example.com`)"

Upvotes: 3

Views: 10865

Answers (1)

masp
masp

Reputation: 126

I was getting the same Invalid Login error: Post "http://minio.localhost/": dial tcp: lookup minio.localhost on 127.0.0.11:53: no such host.

The following docker-compose.yml works. The solution is NOT to use MINIO_DOMAIN or MINIO_SERVER_URL. See # comments at environment: variables.

version: "3.3"

services:
  minio:
    # Please use fixed versions :D
    image: minio/minio:RELEASE.2021-10-06T23-36-31Z
    networks:
      - traefik-proxy2
    volumes:
      - minio-data:/data
    command:
      - server
      - /data
      - --console-address
      - ":9001"
    environment:
      - MINIO_ROOT_USER=love
      - MINIO_ROOT_PASSWORD=love1234
      # Do NOT use MINIO_DOMAIN or MINIO_SERVER_URL with Traefik.
      # All Routing is done by Traefik, just tell minio where to redirect to.
      - MINIO_BROWSER_REDIRECT_URL=http://stash.localhost
    deploy:
      labels:
        - traefik.enable=true
        - traefik.docker.network=traefik-proxy2
        - traefik.constraint-label=traefik-proxy2
        - traefik.http.routers.minio.service=minio
        - traefik.http.routers.minio.rule=Host(`storage.localhost`)
        - traefik.http.services.minio.loadbalancer.server.port=9000
        - traefik.http.routers.minio-console.service=minio-console
        - traefik.http.routers.minio-console.rule=Host(`stash.localhost`)
        - traefik.http.services.minio-console.loadbalancer.server.port=9001

volumes:
  minio-data:

networks:
  traefik-proxy2:
    external: true

Upvotes: 11

Related Questions