summaryrefslogtreecommitdiff
path: root/Biz/Cloud
diff options
context:
space:
mode:
authorBen Sima <ben@bsima.me>2023-01-04 17:36:15 -0500
committerBen Sima <ben@bsima.me>2023-01-04 17:36:15 -0500
commit47cd029db307d281d66188c62238a91f69170fcd (patch)
tree75373d81732d27c5a58b9f0ab1ab8d2a55321997 /Biz/Cloud
parent52fd37e2ac382a2630d3fe3d22ef86908d67a6b6 (diff)
Deploy nostr relay service
Diffstat (limited to 'Biz/Cloud')
-rw-r--r--Biz/Cloud/NostrRelay.nix41
-rw-r--r--Biz/Cloud/Ports.nix1
-rw-r--r--Biz/Cloud/Web.nix15
3 files changed, 57 insertions, 0 deletions
diff --git a/Biz/Cloud/NostrRelay.nix b/Biz/Cloud/NostrRelay.nix
new file mode 100644
index 0000000..d8ffd3a
--- /dev/null
+++ b/Biz/Cloud/NostrRelay.nix
@@ -0,0 +1,41 @@
+{ config, lib, pkgs, ... }:
+
+let
+ ports = import ./Ports.nix;
+ dataDir = "/var/lib/nostr-rs-relay";
+ # https://git.sr.ht/~gheartsfield/nostr-rs-relay/tree/master/config.toml
+ cfg = pkgs.writeText "config.toml" ''
+ [info]
+ name = "simatime"
+ relay_url = "wss://nostr.simatime.com"
+ description = "yet another nostr relay"
+
+ [database]
+ data_directory = "/var/lib/nostr-rs-relay"
+
+ [network]
+ address = "0.0.0.0"
+ port = ${toString ports.nostr-relay}
+ '';
+in {
+ config.systemd.services.nostr-relay = {
+ path = [ pkgs.nostr-rs-relay ];
+ wantedBy = [ "multi-user.target" ];
+ preStart = ''
+ mkdir -p ${dataDir}
+ cat "${cfg}" > ${dataDir}/config.toml
+ '';
+ script = "nostr-rs-relay --db ${dataDir}";
+ serviceConfig = {
+ Environment = [
+ "RUST_LOG=info,nostr_rs_relay=info"
+ "APP_DATA=${dataDir}"
+ ];
+ WorkingDirectory = dataDir;
+ KillSignal = "INT";
+ Type = "simple";
+ Restart = "always";
+ RestartSec = "1";
+ };
+ };
+}
diff --git a/Biz/Cloud/Ports.nix b/Biz/Cloud/Ports.nix
index 8966fb4..d7ab416 100644
--- a/Biz/Cloud/Ports.nix
+++ b/Biz/Cloud/Ports.nix
@@ -23,6 +23,7 @@
mpd = 6600;
mpd-stream = 8097;
murmur = 64738;
+ nostr-relay = 8084;
radicale = 5232;
sabten = 8080;
ssh = 22;
diff --git a/Biz/Cloud/Web.nix b/Biz/Cloud/Web.nix
index 5f4789a..069062e 100644
--- a/Biz/Cloud/Web.nix
+++ b/Biz/Cloud/Web.nix
@@ -201,6 +201,20 @@ in
locations."/".proxyPass = "http://localhost:${toString ports.botamusique}";
};
+ "nostr.${rootDomain}" = {
+ forceSSL = true;
+ useACMEHost = rootDomain;
+ locations."/" = {
+ proxyPass = "http://localhost:${toString ports.nostr-relay}";
+ extraConfig = ''
+ proxy_http_version 1.1;
+ proxy_set_header Upgrade $http_upgrade;
+ proxy_set_header Connection "Upgrade";
+ proxy_set_header Host $host;
+ '';
+ };
+ };
+
"notebook.${rootDomain}" = {
forceSSL = true;
useACMEHost = rootDomain;
@@ -239,6 +253,7 @@ in
"sabten"
"cal"
"notebook"
+ "nostr"
"reddit"
"old.reddit"
"www.reddit"