diff options
Diffstat (limited to 'hosts/flora')
-rw-r--r-- | hosts/flora/configuration.nix | 1 | ||||
-rw-r--r-- | hosts/flora/services/grafana.nix | 41 |
2 files changed, 42 insertions, 0 deletions
diff --git a/hosts/flora/configuration.nix b/hosts/flora/configuration.nix index d45175e..6aac996 100644 --- a/hosts/flora/configuration.nix +++ b/hosts/flora/configuration.nix @@ -9,6 +9,7 @@ ./services/pleroma.nix ./services/cgit.nix ./services/surveys.nix + ./services/grafana.nix #./services/picarones.nix ]; diff --git a/hosts/flora/services/grafana.nix b/hosts/flora/services/grafana.nix new file mode 100644 index 0000000..15fd254 --- /dev/null +++ b/hosts/flora/services/grafana.nix @@ -0,0 +1,41 @@ +{ 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.virtualHosts."scrape.stuebinm.eu" = { + locations."/" = { + proxyPass = "http://localhost:5000"; + proxyWebsockets = true; + }; + enableACME = true; + forceSSL = true; + }; + + networking.firewall.allowedTCPPorts = [ 80 443 ]; +} |