From 7c5c172df8718cde5e7017b22131a329d09714c5 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 7bdf260..fe5dae0 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 48d2fab..9f522a2 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