diff options
author | Finn Behrens <me@kloenk.dev> | 2021-12-07 17:32:55 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-12-07 17:32:55 +0100 |
commit | 673ad7eb36ddbc2e2e150aae1d3b7d7778090e92 (patch) | |
tree | 636f49f18348c3bc5a196a9734ec77df609bde04 /nixos | |
parent | 64ed431483d384a50ebb0f515669a6d77d6f2672 (diff) |
nixos/pleroma: create cookie if not existing (#149368)
Diffstat (limited to 'nixos')
-rw-r--r-- | nixos/modules/services/networking/pleroma.nix | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/nixos/modules/services/networking/pleroma.nix b/nixos/modules/services/networking/pleroma.nix index 2f32faf387ca6..9b8382392c0a7 100644 --- a/nixos/modules/services/networking/pleroma.nix +++ b/nixos/modules/services/networking/pleroma.nix @@ -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"; |