Path to application’s vardir.
'';
};
+ varDirPaths = mkOption {
+ type = attrsOf str;
+ default = {};
+ description = ''
+ Map of additional folders => mode to create under varDir
+ '';
+ };
mode = mkOption {
type = str;
default = "0700";
listen.group = ${icfg.httpdGroup}
${optionalString (icfg.phpSession) ''
php_admin_value[session.save_path] = "${icfg.varDir}/phpSessions"''}
- php_admin_value[open_basedir] = "${builtins.concatStringsSep ":" ([icfg.app icfg.varDir] ++ icfg.phpOpenbasedir)}"
+ php_admin_value[open_basedir] = "${builtins.concatStringsSep ":" ([icfg.app icfg.varDir] ++ icfg.phpWatchFiles ++ icfg.phpOpenbasedir)}"
'' + icfg.phpPool;
phpOptions = config.services.phpfpm.phpOptions + icfg.phpOptions;
}
(if icfg.webappName == null then name else icfg.webappName) icfg.webRoot
) (attrsets.filterAttrs (n: v: !isNull v.webRoot) cfg.apps);
+ services.filesWatcher = attrsets.mapAttrs' (name: icfg: attrsets.nameValuePair
+ "phpfpm-${name}" {
+ restart = true;
+ paths = icfg.phpWatchFiles;
+ }
+ ) (attrsets.filterAttrs (n: v: builtins.length v.phpWatchFiles > 0) cfg.apps);
+
systemd.services = attrsets.mapAttrs' (name: icfg: attrsets.nameValuePair
"phpfpm-${name}" {
after = lib.mkAfter icfg.serviceDeps;
install -m ${icfg.mode} -o ${icfg.httpdUser} -g ${icfg.httpdGroup} -d ${icfg.varDir}
'' + optionalString (icfg.phpSession) ''
install -m 0700 -o ${icfg.httpdUser} -g ${icfg.httpdGroup} -d ${icfg.varDir}/phpSessions
- '';
+ '' + builtins.concatStringsSep "\n" (attrsets.mapAttrsToList (n: v: ''
+ install -m ${v} -o ${icfg.httpdUser} -g ${icfg.httpdGroup} -d ${icfg.varDir}/${n}
+ '') icfg.varDirPaths);
}
) cfg.apps;
};