matrix-synapse: Only run StartPre script when data folder doesn't exist (#17216)

Changed files
+8 -5
lib
nixos
modules
services
pkgs
servers
matrix-synapse
+1
lib/maintainers.nix
···
robberer = "Longrin Wischnewski <robberer@freakmail.de>";
robbinch = "Robbin C. <robbinch33@gmail.com>";
robgssp = "Rob Glossop <robgssp@gmail.com>";
+
roblabla = "Robin Lambertz <robinlambertz+dev@gmail.com>";
roconnor = "Russell O'Connor <roconnor@theorem.ca>";
romildo = "José Romildo Malaquias <malaquias@gmail.com>";
rszibele = "Richard Szibele <richard_szibele@hotmail.com>";
+6 -4
nixos/modules/services/misc/matrix-synapse.nix
···
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
preStart = ''
-
mkdir -p /var/lib/matrix-synapse
-
chmod 700 /var/lib/matrix-synapse
-
chown -R matrix-synapse:matrix-synapse /var/lib/matrix-synapse
-
${cfg.package}/bin/homeserver --config-path ${configFile} --keys-directory /var/lib/matrix-synapse/ --generate-keys
+
if ! test -e /var/lib/matrix-synapse; then
+
mkdir -p /var/lib/matrix-synapse
+
chmod 700 /var/lib/matrix-synapse
+
chown -R matrix-synapse:matrix-synapse /var/lib/matrix-synapse
+
${cfg.package}/bin/homeserver --config-path ${configFile} --keys-directory /var/lib/matrix-synapse/ --generate-keys
+
fi
'';
serviceConfig = {
Type = "simple";
+1 -1
pkgs/servers/matrix-synapse/default.nix
···
homepage = https://matrix.org;
description = "Matrix reference homeserver";
license = licenses.asl20;
-
maintainers = [ maintainers.ralith ];
+
maintainers = [ maintainers.ralith maintainers.roblabla ];
};
}