diff --git a/hosts/nixedo/modules/acme.nix b/hosts/nixedo/modules/acme.nix index 1e91f18b..8ebfb456 100644 --- a/hosts/nixedo/modules/acme.nix +++ b/hosts/nixedo/modules/acme.nix @@ -31,6 +31,7 @@ "rebuilding-symfony.oliverdavies.uk" "tailwindcss-demo.oliverdavies.uk" "talking-drupal-tailwindcss.oliverdavies.uk" + "uptime.oliverdavies.uk" "wp-tailwind.oliverdavies.uk" "www.oliverdavies.uk" "zet.oliverdavies.uk" diff --git a/hosts/nixedo/services/default.nix b/hosts/nixedo/services/default.nix index 5ac48e3c..1921dcd2 100644 --- a/hosts/nixedo/services/default.nix +++ b/hosts/nixedo/services/default.nix @@ -2,5 +2,6 @@ imports = [ ./homepage ./samba.nix + ./uptime-kuma.nix ]; } diff --git a/hosts/nixedo/services/homepage/services.nix b/hosts/nixedo/services/homepage/services.nix index b524a010..bd261c2a 100644 --- a/hosts/nixedo/services/homepage/services.nix +++ b/hosts/nixedo/services/homepage/services.nix @@ -34,6 +34,15 @@ { "Services" = [ + { + "Uptime Kuma" = { + description = "A fancy self-hosted monitoring tool"; + href = "https://uptime.oliverdavies.uk"; + icon = "uptime-kuma"; + siteMonitor = "http://localhost:${toString config.services.uptime-kuma.settings.PORT}"; + }; + } + { "Paperless-ngx" = let diff --git a/hosts/nixedo/services/uptime-kuma.nix b/hosts/nixedo/services/uptime-kuma.nix new file mode 100644 index 00000000..6d022d2d --- /dev/null +++ b/hosts/nixedo/services/uptime-kuma.nix @@ -0,0 +1,17 @@ +{ config, ... }: + +{ + services = { + uptime-kuma.enable = true; + + nginx.virtualHosts."uptime.oliverdavies.uk" = { + forceSSL = true; + useACMEHost = "oliverdavies.uk"; + + locations."/" = { + proxyPass = "http://localhost:${toString config.services.uptime-kuma.settings.PORT}"; + recommendedProxySettings = true; + }; + }; + }; +}