55 lines
1.3 KiB
Nix
55 lines
1.3 KiB
Nix
{
|
|
config,
|
|
...
|
|
}:
|
|
let
|
|
port = 5025;
|
|
certloc = "/var/lib/acme/fi33.buzz";
|
|
hostname = "status.fi33.buzz";
|
|
url = "https://${hostname}";
|
|
in
|
|
{
|
|
services = {
|
|
gatus = {
|
|
enable = true;
|
|
environmentFile = config.age.secrets.gatus.path;
|
|
settings = {
|
|
alerting = {
|
|
ntfy = {
|
|
topic = "services";
|
|
url = config.services.ntfy-sh.settings.base-url;
|
|
token = "$NTFY_TOKEN";
|
|
click = url;
|
|
default-alert = {
|
|
description = "Health Check Failed";
|
|
send-on-resolved = true;
|
|
};
|
|
};
|
|
};
|
|
connectivity.checker = {
|
|
target = "1.1.1.1:53";
|
|
interval = "60s";
|
|
};
|
|
ui = {
|
|
title = "Health Dashboard | Fi33Buzz";
|
|
description = "Fi33Buzz health dashboard";
|
|
dashboard-heading = "";
|
|
dashboard-subheading = "";
|
|
header = "Fi33Buzz Status";
|
|
link = "https://home.fi33.buzz/";
|
|
default-sort-by = "group";
|
|
};
|
|
web.port = port;
|
|
};
|
|
};
|
|
|
|
caddy.virtualHosts.${hostname}.extraConfig = ''
|
|
reverse_proxy localhost:${toString port}
|
|
tls ${certloc}/cert.pem ${certloc}/key.pem {
|
|
protocols tls1.3
|
|
}
|
|
'';
|
|
};
|
|
|
|
age.secrets.gatus.file = ../../../secrets/gatus.age;
|
|
}
|