about summary refs log tree commit diff
path: root/nixos/modules
diff options
context:
space:
mode:
authorTom Hubrecht <tom@hubrecht.ovh>2023-06-05 20:49:16 +0200
committerTom Hubrecht <tom@hubrecht.ovh>2023-06-05 20:49:16 +0200
commit953ee5df829e7dc1e4d7823078c4f564365732e7 (patch)
tree642c16c3bd7775bd8affad04af3446f6ce87bf16 /nixos/modules
parent7a9b483dd8600970d49480b73d37b202da46b21f (diff)
downloadnixlib-953ee5df829e7dc1e4d7823078c4f564365732e7.tar
nixlib-953ee5df829e7dc1e4d7823078c4f564365732e7.tar.gz
nixlib-953ee5df829e7dc1e4d7823078c4f564365732e7.tar.bz2
nixlib-953ee5df829e7dc1e4d7823078c4f564365732e7.tar.lz
nixlib-953ee5df829e7dc1e4d7823078c4f564365732e7.tar.xz
nixlib-953ee5df829e7dc1e4d7823078c4f564365732e7.tar.zst
nixlib-953ee5df829e7dc1e4d7823078c4f564365732e7.zip
nixos/pixelfed: Fix missing permissions for nginx serving files
Also fixes the service `pixelfed-cron` StateDirectory and uses the nginx user instead of group to define nginx appartenance to pixelfed's group
Diffstat (limited to 'nixos/modules')
-rw-r--r--nixos/modules/services/web-apps/pixelfed.nix8
1 files changed, 6 insertions, 2 deletions
diff --git a/nixos/modules/services/web-apps/pixelfed.nix b/nixos/modules/services/web-apps/pixelfed.nix
index 430a368650ec..b0c92aac979f 100644
--- a/nixos/modules/services/web-apps/pixelfed.nix
+++ b/nixos/modules/services/web-apps/pixelfed.nix
@@ -356,7 +356,8 @@ in {
         ExecStart = "${pixelfed-manage}/bin/pixelfed-manage schedule:run";
         User = user;
         Group = group;
-        StateDirectory = cfg.dataDir;
+        StateDirectory =
+          lib.mkIf (cfg.dataDir == "/var/lib/pixelfed") "pixelfed";
       };
     };
 
@@ -391,6 +392,9 @@ in {
         rsync -av --no-perms ${pixelfed}/storage-static/ ${cfg.dataDir}/storage
         chmod -R +w ${cfg.dataDir}/storage
 
+        chmod g+x ${cfg.dataDir}/storage ${cfg.dataDir}/storage/app
+        chmod -R g+rX ${cfg.dataDir}/storage/app/public
+
         # Link the app.php in the runtime folder.
         # We cannot link the cache folder only because bootstrap folder needs to be writeable.
         ln -sf ${pixelfed}/bootstrap-static/app.php ${cfg.runtimeDir}/app.php
@@ -441,7 +445,7 @@ in {
     ];
 
     # Enable NGINX to access our phpfpm-socket.
-    users.users."${config.services.nginx.group}".extraGroups = [ cfg.group ];
+    users.users."${config.services.nginx.user}".extraGroups = [ cfg.group ];
     services.nginx = mkIf (cfg.nginx != null) {
       enable = true;
       virtualHosts."${cfg.domain}" = mkMerge [