diff --git a/nixos/hosts/olympus/default.nix b/nixos/hosts/olympus/default.nix index edc663c..693b568 100644 --- a/nixos/hosts/olympus/default.nix +++ b/nixos/hosts/olympus/default.nix @@ -163,6 +163,11 @@ ip = "10.42.42.31"; mac = "96:61:03:16:63:98"; } + { + hostname = "ntfy"; + ip = "10.42.42.32"; + mac = "7A:17:9E:80:72:01"; + } { hostname = "nuc"; ip = "10.42.42.42"; diff --git a/nixos/hosts/olympus/nginx/configuration.nix b/nixos/hosts/olympus/nginx/configuration.nix index cc6fa7f..517b3cb 100644 --- a/nixos/hosts/olympus/nginx/configuration.nix +++ b/nixos/hosts/olympus/nginx/configuration.nix @@ -53,6 +53,7 @@ in { virtualHosts."grafana.0x76.dev" = proxy "http://victoriametrics.olympus:2342"; virtualHosts."outline.0x76.dev" = proxy "http://outline.olympus:3000"; virtualHosts."id.0x76.dev" = proxy "http://keycloak.olympus:80"; + virtualHosts."ntfy.0x76.dev" = proxy "http://ntfy.olympus:80"; virtualHosts."pass.0x76.dev" = { enableACME = true; forceSSL = true; diff --git a/nixos/hosts/olympus/ntfy/configuration.nix b/nixos/hosts/olympus/ntfy/configuration.nix new file mode 100644 index 0000000..7dcb516 --- /dev/null +++ b/nixos/hosts/olympus/ntfy/configuration.nix @@ -0,0 +1,35 @@ +# Edit this configuration file to define what should be installed on +# your system. Help is available in the configuration.nix(5) man page +# and in the NixOS manual (accessible by running ‘nixos-help’). + +{ config, pkgs, ... }: + +{ + imports = [ ]; + + # This value determines the NixOS release from which the default + # settings for stateful data, like file locations and database versions + # on your system were taken. It‘s perfectly fine and recommended to leave + # this value at the release version of the first install of this system. + # Before changing this value read the documentation for this option + # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). + system.stateVersion = "22.11"; # Did you read the comment? + + # Additional packages + environment.systemPackages = with pkgs; [ ntfy-sh ]; + + networking.firewall.allowedTCPPorts = [ 80 ]; + + services.ntfy-sh = let datadir = "/var/lib/ntfy"; in { + enable = true; + settings = { + base-url = "https://ntfy.0x76.dev"; + listen-http = ":80"; + cache-file = "${datadir}/cache.db"; + auth-file = "${datadir}/user.db"; + auth-default-access = "deny-all"; + behind-proxy = true; + attachment-cache-dir = "${datadir}/attachments"; + }; + }; +}