mollysocket: init

Add mollysocket so we can use ntfy for molly (signal)
This commit is contained in:
2026-03-30 13:05:22 -04:00
parent 65c13babac
commit 9392749e66
5 changed files with 52 additions and 0 deletions

View File

@@ -69,6 +69,8 @@
./services/ntfy.nix ./services/ntfy.nix
./services/ntfy-alerts.nix ./services/ntfy-alerts.nix
./services/mollysocket.nix
]; ];
services.kmscon.enable = true; services.kmscon.enable = true;

View File

@@ -88,5 +88,11 @@
file = ../secrets/firefox-syncserver-env.age; file = ../secrets/firefox-syncserver-env.age;
mode = "0400"; mode = "0400";
}; };
# MollySocket env (MOLLY_VAPID_PRIVKEY + MOLLY_ALLOWED_UUIDS)
mollysocket-env = {
file = ../secrets/mollysocket-env.age;
mode = "0400";
};
}; };
} }

BIN
secrets/mollysocket-env.age Normal file

Binary file not shown.

View File

@@ -149,6 +149,10 @@ rec {
port = 5000; port = 5000;
proto = "tcp"; proto = "tcp";
}; };
mollysocket = {
port = 8020;
proto = "tcp";
};
}; };
}; };
@@ -219,6 +223,10 @@ rec {
domain = "ntfy.${https.domain}"; domain = "ntfy.${https.domain}";
}; };
mollysocket = {
domain = "mollysocket.${https.domain}";
};
livekit = { livekit = {
domain = "livekit.${https.domain}"; domain = "livekit.${https.domain}";
}; };

36
services/mollysocket.nix Normal file
View File

@@ -0,0 +1,36 @@
{
config,
service_configs,
lib,
...
}:
{
imports = [
(lib.serviceMountWithZpool "mollysocket" service_configs.zpool_ssds [
"/var/lib/private/mollysocket"
])
(lib.serviceFilePerms "mollysocket" [
"Z /var/lib/private/mollysocket 0700 root root"
])
];
services.mollysocket = {
enable = true;
settings = {
host = "127.0.0.1";
port = service_configs.ports.private.mollysocket.port;
# Explicitly allow our self-hosted ntfy instance.
# Local-network endpoints are denied by default for security.
allowed_endpoints = [ "https://${service_configs.ntfy.domain}" ];
# allowed_uuids set via MOLLY_ALLOWED_UUIDS in environmentFile
};
environmentFile = config.age.secrets.mollysocket-env.path;
};
services.caddy.virtualHosts."${service_configs.mollysocket.domain}".extraConfig = ''
reverse_proxy h2c://127.0.0.1:${builtins.toString service_configs.ports.private.mollysocket.port}
'';
}