|
|
|
@ -100,6 +100,7 @@ in { |
|
|
|
|
after = [ "network-online.target" "postgresql.service" ]; |
|
|
|
|
wantedBy = [ "multi-user.target" ]; |
|
|
|
|
restartTriggers = [ config.environment.etc."/pleroma/config.exs".source ]; |
|
|
|
|
environment.RELEASE_COOKIE = "/var/lib/pleroma/.cookie"; |
|
|
|
|
serviceConfig = { |
|
|
|
|
User = cfg.user; |
|
|
|
|
Group = cfg.group; |
|
|
|
@ -116,8 +117,14 @@ in { |
|
|
|
|
# has not been updated. But the no-op process is pretty fast. |
|
|
|
|
# Better be safe than sorry migration-wise. |
|
|
|
|
ExecStartPre = |
|
|
|
|
let preScript = pkgs.writers.writeBashBin "pleromaStartPre" |
|
|
|
|
"${cfg.package}/bin/pleroma_ctl migrate"; |
|
|
|
|
let preScript = pkgs.writers.writeBashBin "pleromaStartPre" '' |
|
|
|
|
if [ ! -f /var/lib/pleroma/.cookie ] |
|
|
|
|
then |
|
|
|
|
echo "Creating cookie file" |
|
|
|
|
dd if=/dev/urandom bs=1 count=16 | hexdump -e '16/1 "%02x"' > /var/lib/pleroma/.cookie |
|
|
|
|
fi |
|
|
|
|
${cfg.package}/bin/pleroma_ctl migrate |
|
|
|
|
''; |
|
|
|
|
in "${preScript}/bin/pleromaStartPre"; |
|
|
|
|
|
|
|
|
|
ExecStart = "${cfg.package}/bin/pleroma start"; |
|
|
|
|