{ config, pkgs, ... }: let inherit (import ./lib.nix config) localHostRule; inherit (import ./secrets.nix) minioAdminPassword; in { virtualisation.oci-containers.containers.minio = { image = "minio/minio"; autoStart = true; volumes = [ "/tank/minio:/data" ]; cmd = [ "server" "/data" "--console-address" ":9001" ]; environment = { MINIO_BROWSER_REDIRECT_URL = "https://console.minio.havenisms.com/"; MINIO_ROOT_USER = "minioadmin"; MINIO_ROOT_PASSWORD = minioAdminPassword; }; extraOptions = [ "-l=traefik.enable=true" "-l=traefik.http.routers.minio.rule=${localHostRule "minio"}" "-l=traefik.http.routers.minio.service=minio" "-l=traefik.http.services.minio.loadbalancer.server.port=9000" "-l=traefik.http.routers.minio-console.rule=${localHostRule "console.minio"}" "-l=traefik.http.routers.minio-console.service=minio-console" "-l=traefik.http.services.minio-console.loadbalancer.server.port=9001" "-l=homepage.group=Infra" "-l=homepage.name=Minio" "-l=homepage.icon=mino.svg" "-l=homepage.href=https://minio-admin.${config.domainName}" "-l=homepage.description=Reverse proxy" ]; }; }