{ ... }:
{
  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";
    };
  };
}