From f0bdbb1caff9e072c8f3dea73ff25986c3a05718 Mon Sep 17 00:00:00 2001 From: Nguyễn Gia Phong Date: Mon, 2 Jan 2023 02:36:25 +0900 Subject: Serve ntfy --- configuration.nix | 1 + push.nix | 37 +++++++++++++++++++++++++++++++++++++ static.nix | 2 +- 3 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 push.nix diff --git a/configuration.nix b/configuration.nix index 4f86d2a..c06952d 100644 --- a/configuration.nix +++ b/configuration.nix @@ -34,6 +34,7 @@ ./ipfs.nix ./mail.nix ./matrix.nix + ./push.nix ./static.nix ./vpsadminos.nix ]; diff --git a/push.nix b/push.nix new file mode 100644 index 0000000..235cbcd --- /dev/null +++ b/push.nix @@ -0,0 +1,37 @@ +# Push notification setup +# Copyright (C) 2023 Nguyễn Gia Phong +# +# This file is part of loang configuration. +# +# Loang configuration is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published +# by the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Loang configuration is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with loang configuration. If not, see . + +{ config, ... }: +let address = "localhost:21840"; +in { + services = { + ntfy-sh = { + enable = true; + settings.listen-http = address; + }; + + nginx.virtualHosts."tin.${config.networking.domain}" = { + enableACME = true; + forceSSL = true; + locations."/" = { + proxyPass = "http://${address}"; + proxyWebsockets = true; + }; + }; + }; +} diff --git a/static.nix b/static.nix index b1f736e..2f794fa 100644 --- a/static.nix +++ b/static.nix @@ -16,7 +16,7 @@ # You should have received a copy of the GNU Affero General Public License # along with loang configuration. If not, see . -{ config, lib, ... }: +{ config, lib, pkgs, ... }: let certs = config.security.acme.certs.${domain}; domain = config.networking.domain; -- cgit 1.4.1