diff --git a/flake.lock b/flake.lock index 0481a44..1bef1ba 100644 --- a/flake.lock +++ b/flake.lock @@ -1210,11 +1210,11 @@ "locked": { "lastModified": 1, "narHash": "sha256-Hripi5dnBGegbRPwCt1+a3oH6b1AQxEoJXodiLE8KKw=", - "path": "/nix/store/p41r2cwi8fpx0n2d6gzxjvrnxphl8f7p-source/home-manager", + "path": "/nix/store/wxq3cg9kq18xfd5q2p760xl3g0gsqnwi-source/home-manager", "type": "path" }, "original": { - "path": "/nix/store/p41r2cwi8fpx0n2d6gzxjvrnxphl8f7p-source/home-manager", + "path": "/nix/store/wxq3cg9kq18xfd5q2p760xl3g0gsqnwi-source/home-manager", "type": "path" } }, @@ -1766,11 +1766,11 @@ "locked": { "lastModified": 1, "narHash": "sha256-QahOuoQdXshu38W5uO7hLhG/yFkT7S2l8Dxicq0wdGk=", - "path": "/nix/store/yd5wj77giibg3pkcrnfm8ssjq4zlrkxn-source/programs", + "path": "/nix/store/lw4k0khy5i7wx0jcahbhvq1b2d2pmk3m-source/programs", "type": "path" }, "original": { - "path": "/nix/store/yd5wj77giibg3pkcrnfm8ssjq4zlrkxn-source/programs", + "path": "/nix/store/lw4k0khy5i7wx0jcahbhvq1b2d2pmk3m-source/programs", "type": "path" } }, @@ -1838,11 +1838,11 @@ "locked": { "lastModified": 1, "narHash": "sha256-0Ztx5DVQ2I7hvCK/qjGa4XTdRgbzM8rhf19m0al8lVM=", - "path": "/nix/store/yd5wj77giibg3pkcrnfm8ssjq4zlrkxn-source/services/sddm", + "path": "/nix/store/lw4k0khy5i7wx0jcahbhvq1b2d2pmk3m-source/services/sddm", "type": "path" }, "original": { - "path": "/nix/store/yd5wj77giibg3pkcrnfm8ssjq4zlrkxn-source/services/sddm", + "path": "/nix/store/lw4k0khy5i7wx0jcahbhvq1b2d2pmk3m-source/services/sddm", "type": "path" } }, @@ -1873,12 +1873,12 @@ }, "locked": { "lastModified": 1, - "narHash": "sha256-a7OFyjVwahPj0DPHmCJyeUDThRDxHFiQYP8UGIvhCyk=", - "path": "/nix/store/p41r2cwi8fpx0n2d6gzxjvrnxphl8f7p-source/system-config", + "narHash": "sha256-aOVRQVw4ske+yp25MVXijztq8NDAmxv6ZER0g5myumo=", + "path": "/nix/store/wxq3cg9kq18xfd5q2p760xl3g0gsqnwi-source/system-config", "type": "path" }, "original": { - "path": "/nix/store/p41r2cwi8fpx0n2d6gzxjvrnxphl8f7p-source/system-config", + "path": "/nix/store/wxq3cg9kq18xfd5q2p760xl3g0gsqnwi-source/system-config", "type": "path" } }, diff --git a/system-config/configuration/homebox/default.nix b/system-config/configuration/homebox/default.nix index 10d852d..a229b6a 100644 --- a/system-config/configuration/homebox/default.nix +++ b/system-config/configuration/homebox/default.nix @@ -262,6 +262,7 @@ gitlab.enable = true; + ntfy.enable = true; }; }; }; diff --git a/system-config/services/containers/default.nix b/system-config/services/containers/default.nix index 5bd7b9d..58a94ab 100644 --- a/system-config/services/containers/default.nix +++ b/system-config/services/containers/default.nix @@ -8,5 +8,6 @@ ./jellyfin ./pihole ./nextcloud + ./ntfy ]; } diff --git a/system-config/services/containers/ntfy/default.nix b/system-config/services/containers/ntfy/default.nix new file mode 100644 index 0000000..fe04297 --- /dev/null +++ b/system-config/services/containers/ntfy/default.nix @@ -0,0 +1,43 @@ +{ config, lib, ... }: { + + options.sysconfig.opts.virtualization.ntfy.enable = lib.mkOption { + type = lib.types.bool; + default = false; + }; + + config = lib.mkIf config.sysconfig.opts.virtualization.ntfy.enable { + + containers.ntfy = { + + autoStart = true; + privateNetwork = true; + hostAddress = "192.168.100.10"; + localAddress = "192.168.100.19"; + + config = { + + services.ntfy-sh = { + + enable = true; + + settings = { + + base-url = "https://ntfy.blunkall.us"; + + listen-http = ":80"; + + behind-proxy = true; + + upstream-base-url = "https://ntfy.sh"; + + auth-default-access = "deny-all"; + }; + }; + + networking.firewall.allowedTCPPorts = [ 80 ]; + + system.stateVersion = "24.05"; + }; + }; + }; +} diff --git a/system-config/services/containers/traefik/default.nix b/system-config/services/containers/traefik/default.nix index 8d62c61..17aacec 100644 --- a/system-config/services/containers/traefik/default.nix +++ b/system-config/services/containers/traefik/default.nix @@ -191,6 +191,13 @@ middlewares = [ "authentik" ]; }; + ntfy = { + entryPoints = [ "websecure" ]; + rule = "Host(`ntfy.blunkall.us`)"; + service = "ntfy"; + tls.certResolver = "cloudflare"; + }; + /*pihole = { entryPoints = [ "localsecure" ]; rule = "Host(`pihole.blunkall.us`)"; @@ -239,6 +246,8 @@ novnc.loadBalancer.servers = [ { url = "http://192.168.100.10:6080"; } ]; nextcloud.loadBalancer.servers = [ { url = "http://192.168.100.15:80"; } ]; + + ntfy.loadBalancer.servers = [ { url = "http://192.168.100.19"; } ]; }; }; };