{ ... }: { services.nginx.virtualHosts."jellyfin.grzb.de" = { listen = [{ addr = "0.0.0.0"; port = 80; }]; locations."^~ /.well-known/acme-challenge/" = { proxyPass = "http://jellyfin.vs.grzb.de:80"; }; }; services.nginx.virtualHosts."mail-1.grzb.de" = { listen = [{ addr = "0.0.0.0"; port = 80; }]; locations."^~ /.well-known/acme-challenge/" = { proxyPass = "http://mail-1.vs.grzb.de:80"; }; }; services.nginx.virtualHosts."matrix.nekover.se" = { listen = [{ addr = "0.0.0.0"; port = 80; }]; locations."^~ /.well-known/acme-challenge/" = { proxyPass = "http://matrix.vs.grzb.de:80"; }; }; services.nginx.virtualHosts."netbox.grzb.de" = { listen = [{ addr = "0.0.0.0"; port = 80; }]; locations."^~ /.well-known/acme-challenge/" = { proxyPass = "http://netbox.vs.grzb.de:80"; }; }; services.nginx.virtualHosts."grafana.grzb.de" = { listen = [{ addr = "0.0.0.0"; port = 80; }]; locations."^~ /.well-known/acme-challenge/" = { proxyPass = "http://metrics.vs.grzb.de:80"; }; }; services.nginx.virtualHosts."turn.nekover.se" = { listen = [{ addr = "0.0.0.0"; port = 80; }]; locations."^~ /.well-known/acme-challenge/" = { proxyPass = "http://coturn.vs.grzb.de:80"; }; }; }