{ lib, config, ... }: { traefik = { rule = "Host(`traefik.procopius.dk`)"; service = "traefik"; entryPoints = [ "websecure" ]; middlewares = [ "internal-whitelist" ]; tls = { certResolver = "letsencrypt"; }; }; proxmox = { rule = "Host(`proxmox.procopius.dk`)"; service = "proxmox"; entryPoints = [ "websecure" ]; tls = { certResolver = "letsencrypt"; }; }; forgejo = { rule = "Host(`git.procopius.dk`)"; service = "forgejo"; entryPoints = [ "websecure" ]; tls = { certResolver = "letsencrypt"; }; }; prometheus = { rule = "Host(`prometheus.procopius.dk`)"; service = "prometheus"; entryPoints = [ "websecure" ]; middlewares = [ "internal-whitelist" ]; tls = { certResolver = "letsencrypt"; }; }; grafana = { rule = "Host(`grafana.procopius.dk`)"; service = "grafana"; entryPoints = [ "websecure" ]; middlewares = [ "internal-whitelist" ]; tls = { certResolver = "letsencrypt"; }; }; alertmanager = { rule = "Host(`alertmanager.procopius.dk`)"; service = "alertmanager"; entryPoints = [ "websecure" ]; middlewares = [ "internal-whitelist" ]; tls = { certResolver = "letsencrypt"; }; }; jellyfin = { rule = "Host(`jellyfin.procopius.dk`)"; service = "jellyfin"; entryPoints = [ "websecure" ]; tls = { certResolver = "letsencrypt"; }; }; sonarr = { rule = "Host(`sonarr.procopius.dk`)"; service = "sonarr"; entryPoints = [ "websecure" ]; tls = { certResolver = "letsencrypt"; }; }; radarr = { rule = "Host(`radarr.procopius.dk`)"; service = "radarr"; entryPoints = [ "websecure" ]; tls = { certResolver = "letsencrypt"; }; }; ente = { rule = "Host(`ente.procopius.dk`)"; service = "ente"; entryPoints = [ "websecure" ]; tls = { certResolver = "letsencrypt"; }; }; photos = { rule = "Host(`photos.procopius.dk`)"; service = "photos"; entryPoints = [ "websecure" ]; tls = { certResolver = "letsencrypt"; }; }; minio = { rule = "Host(`minio.procopius.dk`)"; service = "minio"; entryPoints = [ "websecure" ]; tls = { certResolver = "letsencrypt"; }; }; minio-api = { rule = "Host(`minio-api.procopius.dk`)"; service = "minio-api"; entryPoints = [ "websecure" ]; tls = { certResolver = "letsencrypt"; }; }; account = { rule = "Host(`account.procopius.dk`)"; service = "account"; entryPoints = [ "websecure" ]; tls = { certResolver = "letsencrypt"; }; }; auth = { rule = "Host(`auth.procopius.dk`)"; service = "auth"; entryPoints = [ "websecure" ]; tls = { certResolver = "letsencrypt"; }; }; nas = { rule = "Host(`nas.procopius.dk`)"; service = "nas"; entryPoints = [ "websecure" ]; tls = { certResolver = "letsencrypt"; }; }; umami = { rule = "Host(`umami.procopius.dk`)"; service = "umami"; entryPoints = [ "websecure" ]; tls = { certResolver = "letsencrypt"; }; }; mesterjakob = { rule = "Host(`mester.jakobblum.dk`)"; service = "mesterjakob"; entryPoints = [ "websecure" ]; tls = { certResolver = "letsencrypt"; }; }; catchAll = { rule = "HostRegexp(`.+`)"; service = "nginx"; entryPoints = [ "websecure" ]; tls = { certResolver = "letsencrypt"; }; }; }