nichts/modules/services/grafana/module.nix
2025-04-18 14:44:08 +02:00

52 lines
1.1 KiB
Nix

{
config,
lib,
pkgs,
...
}: let
inherit (lib.modules) mkIf;
inherit (lib.options) mkEnableOption;
cfg = config.modules.system.services.grafana;
in {
options.modules.system.services.grafana.enable = mkEnableOption "Grafana, a graphing service";
config = mkIf cfg.enable {
networking.firewall.allowedTCPPorts = [config.services.grafana.settings.server.http_port];
modules.system.services.database.postgresql.enable = true;
services.grafana = {
enable = true;
package = pkgs.grafana;
port = 4021;
domain = "localhost";
settings = {
server = {
http_addr = "127.0.0.1";
http_port = 4021;
root_url = "https://info.copeberg.org";
domain = "info.copeberg.org";
enforce_domain = true;
};
database = {
type = "postgres";
host = "/run/postgresql";
name = "grafana";
user = "grafana";
ssl_mode = "disable";
};
analytics = {
reporting_enabled = false;
check_for_updates = false;
};
# users.allow_signup = false;
};
};
};
}