minio treafik docker-compose

16 min read
version: '3.7'

networks:
  default:
    external:
      name: proxy

services:
  static:
    image: nginx
    container_name: static
    restart: unless-stopped
    volumes:
        - ./nginx/conf.d/:/etc/nginx/conf.d/
        - ./data/blog:/usr/share/nginx/html:ro

    labels:
      - traefik.enable=true
      # - traefik.http.services.image-minio.loadbalancer.server.port=9000
      - traefik.http.routers.image-minio.rule=Host(`images.test.com`)
      - traefik.http.routers.image-minio.entrypoints=websecure
      - traefik.http.middlewares.image-minio.compress=true
      # - traefik.http.routers.image-minio.service=static

  minio:
    image: minio/minio
    container_name: minio
    restart: unless-stopped
    command: server /data --console-address ":9001"
    expose:
      - 9000
      - 9001
    volumes:
        - ./data:/data
        - /volume1/docker/acme.sh/test.com:/etc/ssl/certs:ro
    environment:
      MINIO_ROOT_USER: panw3i
      MINIO_ROOT_PASSWORD: Pw656386
      MINIO_BROWSER_REDIRECT_URL: http://console.test.com:52080
      MINIO_SERVER_URL: http://minio.test.com:52080
    labels:
      - traefik.enable=true
      - traefik.http.services.minio.loadbalancer.server.port=9000
      - traefik.http.routers.minio.rule=Host(`minio.test.com`)
      - traefik.http.routers.minio.entrypoints=web
      - traefik.http.routers.minio.service=minio

      - traefik.http.services.minio-console.loadbalancer.server.port=9001
      - traefik.http.routers.minio-console.rule=Host(`console.test.com`)
      - traefik.http.routers.minio-console.entrypoints=web
      - traefik.http.routers.minio-console.service=minio-console