nixos-config/modules/services/ntfy.nix

39 lines
975 B
Nix

let
hostname = "notify.liv.town";
port = 2586;
url = "https://" + hostname;
in
{
services = {
ntfy-sh = {
enable = true;
settings = {
base-url = url;
listen-http = "127.0.0.1:${toString port}";
behind-proxy = true;
visitor-attachment-daily-bandwidth-limit = "10M";
visitor-request-limit-burst = 15;
visitor-request-limit-replenish = "15s";
};
};
nginx.virtualHosts.${hostname} = {
forceSSL = true;
sslCertificate = "/var/lib/acme/liv.town/cert.pem";
sslCertificateKey = "/var/lib/acme/liv.town/key.pem";
locations."/" = {
proxyPass = "http://127.0.0.1:${toString port}";
proxyWebsockets = true;
};
};
frp.settings.proxies = [
{
name = "http";
type = "tcp";
localIP = "localhost";
localPort = port;
remotePort = port;
}
];
};
networking.firewall.allowedTCPPorts = [ port ];
}