commit 3891b1b52bd6365689378c416a5bc917f062993e parent ef5658510d38a7ac48f4f47e65ca8de2d59e720f Author: Silas Brack <silasbrack@gmail.com> Date: Tue, 5 May 2026 22:03:35 +0200 fix(simple-web-app): systemd permissions Diffstat:
| M | modules/simple-web-app.nix | | | 18 | ++++++++++-------- |
1 file changed, 10 insertions(+), 8 deletions(-)
diff --git a/modules/simple-web-app.nix b/modules/simple-web-app.nix @@ -59,15 +59,17 @@ in WorkingDirectory = "/var/lib/simple-web-app-trailbase"; DynamicUser = true; StateDirectory = "simple-web-app-trailbase"; + StateDirectoryMode = "0755"; + # Run setup as root before dropping to DynamicUser (+ prefix = run as root) + ExecStartPre = let + setupScript = pkgs.writeShellScript "simple-web-app-trailbase-setup" '' + 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/ + chmod -R 755 /var/lib/simple-web-app-trailbase + ''; + in "+${setupScript}"; }; - preStart = '' - # Create traildepot directory structure - mkdir -p /var/lib/simple-web-app-trailbase/traildepot/migrations - # Copy config (always overwrite to pick up changes) - cp ${cfg.traildepotPath}/config.textproto /var/lib/simple-web-app-trailbase/traildepot/ - # Copy migrations - cp -r ${cfg.traildepotPath}/migrations/* /var/lib/simple-web-app-trailbase/traildepot/migrations/ - ''; }; # Run simple web app service