dotfiles/modules/nixos/services/uptime-kuma.nix

40 lines
818 B
Nix
Raw Normal View History

2024-09-14 22:13:13 +00:00
{ config, lib, ... }:
{
options = {
hostnames.status = lib.mkOption {
type = lib.types.str;
description = "Hostname for status page (Uptime-Kuma).";
};
};
config = lib.mkIf config.services.uptime-kuma.enable {
services.uptime-kuma = {
settings = {
PORT = "3033";
};
};
# Allow web traffic to Caddy
caddy.routes = [
{
match = [ { host = [ config.hostnames.status ]; } ];
handle = [
{
handler = "reverse_proxy";
upstreams = [
{ dial = "localhost:${config.services.uptime-kuma.settings.PORT}"; }
];
}
];
}
];
# Configure Cloudflare DNS to point to this machine
services.cloudflare-dyndns.domains = [ config.hostnames.status ];
};
}