commit 412ef17159b556b051b5a538d7c11166882c12fe
parent e7f28b599104bff875e060bd610bd3cf801f391c
Author: Silas Brack <silasbrack@gmail.com>
Date: Sun, 7 Jun 2026 13:53:53 +0200
feat: add email verification for trailbase simple-web-app
Configure SMTP via localhost:25 (local mailserver) and set
--public-url for correct verification email links.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Diffstat:
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/modules/simple-web-app.nix b/modules/simple-web-app.nix
@@ -55,7 +55,7 @@ in
after = [ "network.target" ];
serviceConfig = {
Type = "simple";
- ExecStart = "${cfg.trailbasePackage}/bin/trail run --address 127.0.0.1:${builtins.toString cfg.trailbasePort}";
+ ExecStart = "${cfg.trailbasePackage}/bin/trail --public-url https://simple.fnarglebeast.com run --address 127.0.0.1:${builtins.toString cfg.trailbasePort}";
WorkingDirectory = "/var/lib/simple-web-app-trailbase";
DynamicUser = true;
StateDirectory = "simple-web-app-trailbase";
@@ -66,6 +66,10 @@ in
mkdir -p /var/lib/simple-web-app-trailbase/traildepot/migrations
cp ${cfg.traildepotPath}/config.textproto /var/lib/simple-web-app-trailbase/traildepot/
cp -r ${cfg.traildepotPath}/migrations/* /var/lib/simple-web-app-trailbase/traildepot/migrations/
+
+ # Configure SMTP for email verification via local mailserver
+ ${pkgs.gnused}/bin/sed -i 's|email {}|email {\n smtp_host: "localhost"\n smtp_port: 25\n smtp_encryption: SMTP_ENCRYPTION_NONE\n sender_name: "SimpleWebApp"\n sender_address: "noreply@silasbrack.com"\n}|' /var/lib/simple-web-app-trailbase/traildepot/config.textproto
+
chmod -R 755 /var/lib/simple-web-app-trailbase
'';
in "+${setupScript}";