diff --git a/hosts/rico0/services/apps/prometheus.nix b/hosts/rico0/services/apps/prometheus.nix index 2c21ae1..bff5424 100644 --- a/hosts/rico0/services/apps/prometheus.nix +++ b/hosts/rico0/services/apps/prometheus.nix @@ -30,6 +30,14 @@ in } ]; scrapeConfigs = [ + { + job_name = "ntfy"; + scheme = "https"; + metrics_path = "/ntfy-metrics"; + static_configs = [ + { targets = [ "wynne.labs.adtya.xyz" ]; } + ]; + } { job_name = "caddy"; scheme = "https"; diff --git a/hosts/wynne/services/apps/ntfy.nix b/hosts/wynne/services/apps/ntfy.nix index 49d4d21..7a90fc1 100644 --- a/hosts/wynne/services/apps/ntfy.nix +++ b/hosts/wynne/services/apps/ntfy.nix @@ -1,15 +1,23 @@ -_: +{ lib, config, ... }: let inherit (import ../../../shared/caddy-helpers.nix) logFormat; domainName = "ntfy.acomputer.lol"; in { services = { - caddy.virtualHosts."${domainName}" = { - logFormat = logFormat domainName; - extraConfig = '' - reverse_proxy 127.0.0.1:8080 - ''; + caddy.virtualHosts = { + "${domainName}" = { + logFormat = logFormat domainName; + extraConfig = '' + reverse_proxy 127.0.0.1:8080 + ''; + }; + "${config.networking.hostName}.labs.adtya.xyz" = { + logFormat = logFormat domainName; + extraConfig = '' + reverse_proxy /ntfy-metrics 127.0.0.1:8081 + ''; + }; }; frp.settings.proxies = [ @@ -33,6 +41,7 @@ in settings = { base-url = "https://${domainName}"; listen-http = "127.0.0.1:8080"; + metrics-listen-http = "127.0.0.1:8081"; auth-file = "/mnt/data/ntfy-sh/user.db"; attachment-cache-dir = "/mnt/data/ntfy-sh/attachments"; cache-file = "/mnt/data/ntfy-sh/cache-file.db"; @@ -42,5 +51,11 @@ in }; }; systemd.services.ntfy-sh.unitConfig.RequiresMountsFor = [ "/mnt/data" ]; - systemd.services.ntfy-sh.serviceConfig.WorkingDirectory = [ "/mnt/data/ntfy-sh" ]; + systemd.services.ntfy-sh.serviceConfig.WorkingDirectory = "/mnt/data/ntfy-sh"; + systemd.services.ntfy-sh.serviceConfig.User = "ntfy-sh"; + systemd.services.ntfy-sh.serviceConfig.Group = "ntfy-sh"; + systemd.services.ntfy-sh.serviceConfig.DynamicUser = lib.mkForce false; + users.users.ntfy-sh.home = "/mnt/data/ntfy-sh"; + users.users.ntfy-sh.createHome = true; + }