diff --git a/devices/ellaca/options.nix b/devices/ellaca/options.nix index 6eba26b..ce84511 100644 --- a/devices/ellaca/options.nix +++ b/devices/ellaca/options.nix @@ -2,7 +2,7 @@ conf = { ssh.enable = true; nginx.enable = true; - netdata.enable = true; + grafana.enable = true; mail.enable = false; # broken website.enable = true; fedi.enable = true; diff --git a/modules/default.nix b/modules/default.nix index 55bd068..8735f6f 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -9,11 +9,11 @@ in { ./fonts ./games ./git + ./grafana ./home ./layout ./mail ./matrix - ./netdata ./networking ./nginx ./niri diff --git a/modules/grafana/default.nix b/modules/grafana/default.nix new file mode 100644 index 0000000..92f9816 --- /dev/null +++ b/modules/grafana/default.nix @@ -0,0 +1,30 @@ +{ lib, pkgs, config, ... }: let + inherit (lib) mkIf; + inherit (config) conf; + cfg = config.services.grafana.settings.server; +in mkIf conf.grafana.enable { + services.nginx = { + virtualHosts = { + "grafana.twoneis.site" = { + useACMEHost = "twoneis.site"; + forceSSL = true; + locations."/" = { + proxyPass = "http://${toString cfg.http_addr}:${toString cfg.http_port}"; + proxyWebsockets = true; + recommendedProxySettings = true; + }; + }; + }; + }; + + services.grafana = { + enable = true; + settings = { + server = { + http_addr = "127.0.0.1"; + http_port = 3000; + domain = "grafana.twoneis.site"; + }; + }; + }; +} diff --git a/modules/netdata/default.nix b/modules/netdata/default.nix deleted file mode 100644 index 5f6ff92..0000000 --- a/modules/netdata/default.nix +++ /dev/null @@ -1,25 +0,0 @@ -{ lib, pkgs, config, ... }: let - inherit (lib) mkIf; - inherit (config) conf; -in mkIf conf.netdata.enable { - services.nginx = { - virtualHosts = { - "netdata.twoneis.site" = { - useACMEHost = "twoneis.site"; - forceSSL = true; - locations."/".proxyPass = "http://localhost:19999"; - }; - }; - }; - - services.netdata = { - enable = true; - package = pkgs.netdata.override { withCloudUI = true; }; - config = { - global = { - "memory mode" = "ram"; - "error log" = "syslog"; - }; - }; - }; -} diff --git a/options.nix b/options.nix index 644124d..27418b9 100644 --- a/options.nix +++ b/options.nix @@ -18,7 +18,7 @@ in { # Generally server options ssh.enable = mkEnableOption "Install my public key to allow accessing this machine via ssh."; nginx.enable = mkEnableOption "Enable nginx. All the following options expect this to be enabled."; - netdata.enable = mkEnableOption "Enable netdata metrics tool."; + grafana.enable = mkEnableOption "Enable grafana dashboarding tool."; mail.enable = mkEnableOption "Enable mail server."; website.enable = mkEnableOption "Serve website through nginx."; fedi.enable = mkEnableOption "Host a fedi server on this machine.";