diff --git a/dns.tf b/dns.tf index 46dda7e..9880742 100644 --- a/dns.tf +++ b/dns.tf @@ -80,6 +80,14 @@ resource "hetznerdns_record" "jellyfin_a" { ttl = 600 } +resource "hetznerdns_record" "status_banditlair_a" { + zone_id = data.hetznerdns_zone.banditlair_zone.id + name = "status" + value = hcloud_server.backend1.ipv4_address + type = "A" + ttl = 600 +} + resource "hetznerdns_record" "jitsi_a" { zone_id = data.hetznerdns_zone.froidmont_zone.id name = "jitsi" @@ -96,6 +104,14 @@ resource "hetznerdns_record" "mastodon_a" { ttl = 600 } +resource "hetznerdns_record" "uptime_a" { + zone_id = data.hetznerdns_zone.froidmont_zone.id + name = "uptime" + value = hcloud_server.backend1.ipv4_address + type = "A" + ttl = 600 +} + resource "hetznerdns_record" "elefan-test_a" { zone_id = data.hetznerdns_zone.froidmont_zone.id name = "elefan-test" diff --git a/profiles/backend.nix b/profiles/backend.nix index 50e9b45..30415e5 100644 --- a/profiles/backend.nix +++ b/profiles/backend.nix @@ -97,6 +97,24 @@ }; }; + services.uptime-kuma = { + enable = true; + settings = { + PORT = "3001"; + }; + }; + + services.nginx.virtualHosts."uptime.froidmont.org" = { + serverAliases = [ "status.${config.networking.domain}" ]; + forceSSL = true; + enableACME = true; + + locations."/" = { + proxyPass = "http://127.0.0.1:${config.services.uptime-kuma.settings.PORT}"; + proxyWebsockets = true; + }; + }; + networking.firewall.allowedTCPPorts = [ 80 443 64738 ]; networking.firewall.allowedUDPPorts = [ 64738 ]; networking.firewall.interfaces."eth1".allowedTCPPorts = [ config.services.prometheus.exporters.node.port 9000 ];