{ config, pkgs, ... }: { services.prometheus = { enable = true; port = 9001; scrapeConfigs = [ { job_name = "lmucast-docker"; static_configs = [ { targets = [ "cast.itunes.uni-muenchen.de:9101" ]; } ]; } ]; }; services.grafana = { enable = true; port = 5000; addr = "[::]"; rootUrl = "https://scrape.stuebinm.eu/"; auth.anonymous.enable = true; provision = { enable = true; datasources = [ { name = "lmucast"; type = "prometheus"; url = "http://localhost:9001"; } ]; }; }; services.nginx.enable = true; services.nginx.virtualHosts."scrape.stuebinm.eu" = { locations."/" = { proxyPass = "http://localhost:5000"; proxyWebsockets = true; }; enableACME = true; forceSSL = true; }; networking.firewall.allowedTCPPorts = [ 80 443 ]; }