diff options
Diffstat (limited to 'hosts/chaski')
-rw-r--r-- | hosts/chaski/configuration.nix | 1 | ||||
-rw-r--r-- | hosts/chaski/services/grafana.nix | 39 |
2 files changed, 40 insertions, 0 deletions
diff --git a/hosts/chaski/configuration.nix b/hosts/chaski/configuration.nix index 14b297b..671bc13 100644 --- a/hosts/chaski/configuration.nix +++ b/hosts/chaski/configuration.nix @@ -10,6 +10,7 @@ ./hardware-configuration.nix ./services/coturn.nix ./services/cgit.nix + ./services/grafana.nix ]; hexchen.deploy = { diff --git a/hosts/chaski/services/grafana.nix b/hosts/chaski/services/grafana.nix new file mode 100644 index 0000000..d520b20 --- /dev/null +++ b/hosts/chaski/services/grafana.nix @@ -0,0 +1,39 @@ +{ 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; + }; +} |