summaryrefslogtreecommitdiff
path: root/Omni/Cloud/NostrRelay.nix
diff options
context:
space:
mode:
Diffstat (limited to 'Omni/Cloud/NostrRelay.nix')
-rw-r--r--Omni/Cloud/NostrRelay.nix39
1 files changed, 39 insertions, 0 deletions
diff --git a/Omni/Cloud/NostrRelay.nix b/Omni/Cloud/NostrRelay.nix
new file mode 100644
index 0000000..0be8a6f
--- /dev/null
+++ b/Omni/Cloud/NostrRelay.nix
@@ -0,0 +1,39 @@
+{ config, 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";
+ };
+ };
+}