From 5b9febcd848fb9c1441bd7116c5cf8da5c68c163 Mon Sep 17 00:00:00 2001 From: h7x4 Date: Wed, 14 Jan 2026 02:48:55 +0900 Subject: [PATCH] {synapse,workers}: restart synapse processes on unexpected exit --- synapse-module/default.nix | 6 +++++- synapse-module/workers.nix | 5 +++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/synapse-module/default.nix b/synapse-module/default.nix index 2ef20d1..d774bb8 100644 --- a/synapse-module/default.nix +++ b/synapse-module/default.nix @@ -443,9 +443,14 @@ in User = "matrix-synapse"; Group = "matrix-synapse"; Slice = "system-matrix-synapse.slice"; + + Restart = "always"; + RestartSec = 3; + WorkingDirectory = cfg.dataDir; StateDirectory = "matrix-synapse"; RuntimeDirectory = "matrix-synapse"; + ExecStartPre = let flags = lib.cli.toCommandLineShellGNU {} { config-path = [ matrix-synapse-common-config ] ++ cfg.extraConfigFiles; @@ -460,7 +465,6 @@ in }; in "${wrapped}/bin/synapse_homeserver ${flags}"; ExecReload = "${lib.getExe' pkgs.coreutils "kill"} -HUP $MAINPID"; - Restart = "on-failure"; AmbientCapabilities = [ "" ]; CapabilityBoundingSet = [ "" ]; diff --git a/synapse-module/workers.nix b/synapse-module/workers.nix index 399a02c..e6e1b83 100644 --- a/synapse-module/workers.nix +++ b/synapse-module/workers.nix @@ -395,9 +395,14 @@ in { User = "matrix-synapse"; Group = "matrix-synapse"; Slice = "system-matrix-synapse.slice"; + + Restart = "always"; + RestartSec = 3; + WorkingDirectory = cfg.dataDir; RuntimeDirectory = "matrix-synapse"; StateDirectory = "matrix-synapse"; + ExecStartPre = pkgs.writers.writeBash "wait-for-synapse" '' # From https://md.darmstadt.ccc.de/synapse-at-work while ! systemctl is-active -q matrix-synapse.service; do