{ project.name = "minio"; networks.dmz = { name = "dmz"; external = true; }; services = { minio.service = { image = "bitnami/minio:2024.5.10"; container_name = "minio"; labels = { "traefik.enable" = "true"; # API "traefik.http.routers.minio.rule" = "Host(`files.ghoscht.com`)"; "traefik.http.routers.minio.service" = "minio"; "traefik.http.routers.minio.entrypoints" = "websecure"; "traefik.http.services.minio.loadbalancer.server.port" = "9000"; "traefik.http.routers.minio.tls" = "true"; "traefik.http.routers.minio.tls.certresolver" = "letsencrypt"; # Dashboard "traefik.http.routers.minio-dash.rule" = "Host(`minio.ghoscht.com`)"; "traefik.http.routers.minio-dash.service" = "minio-dash"; "traefik.http.routers.minio-dash.entrypoints" = "websecure"; "traefik.http.services.minio-dash.loadbalancer.server.port" = "9001"; "traefik.http.routers.minio-dash.tls" = "true"; "traefik.http.routers.minio-dash.tls.certresolver" = "letsencrypt"; }; volumes = [ "/storage/dataset/docker/minio/minio_data:/data" ]; environment = { MINIO_DATA_DIR = "/data"; MINIO_BROWSER_REDIRECT_URL = "https://minio.ghoscht.com"; }; env_file = [ "/home/ghoscht/.docker/minio/minio.env" ]; restart = "unless-stopped"; networks = [ "dmz" ]; }; }; }