'';
};
- systemd.services.phpfpm-christophe_carpentier_agorakit.preStart = ''
- if [ ! -e ${varDir}/.filled ]; then
- cp -r ${app}/oldvars/* ${varDir}
- chmod -R u+w ${varDir}
- chown -R ${config.services.httpd.Prod.user}:${config.services.httpd.Prod.group} ${varDir}
- touch ${varDir}/.filled
- fi
- '';
- services.phpApplication.apps.christophe_carpentier_agorakit = {
- websiteEnv = "production";
- httpdUser = config.services.httpd.Prod.user;
- httpdGroup = config.services.httpd.Prod.group;
- inherit (app) varDir;
- inherit app;
- serviceDeps = [ "mysql.service" ];
- phpOpenbasedir = [ "/tmp" secretsPath ];
- phpPackage = pkgs.php74.withExtensions ({ enabled, all }: enabled ++ [all.redis]);
- phpPool = {
+ services.phpfpm.pools.christophe_carpentier_agorakit = {
+ user = config.services.httpd.Prod.user;
+ group = config.services.httpd.Prod.group;
+ settings = {
+ "listen.owner" = config.services.httpd.Prod.user;
+ "listen.group" = config.services.httpd.Prod.group;
+ "php_admin_value[open_basedir]" = builtins.concatStringsSep ":" [app app.varDir "/tmp" secretsPath];
"php_admin_value[upload_max_filesize]" = "100M";
"php_admin_value[post_max_size]" = "100M";
"pm" = "dynamic";
"php_admin_value[session.save_handler]" = "redis";
"php_admin_value[session.save_path]" = "'unix:///run/redis-php-sessions/redis.sock?persistent=1&prefix=ChristopheCarpentier:agorakit:'";
};
+ phpOptions = config.services.phpfpm.phpOptions;
+ phpPackage = pkgs.php74.withExtensions ({ enabled, all }: enabled ++ [all.redis]);
+ };
+ systemd.services.phpfpm-christophe_carpentier_agorakit = {
+ after = lib.mkAfter ["mysql.service"];
+ wants = ["mysql.service"];
+ preStart = ''
+ if [ ! -e ${varDir}/.filled ]; then
+ cp -r ${app}/oldvars/* ${varDir}
+ chmod -R u+w ${varDir}
+ chown -R ${config.services.httpd.Prod.user}:${config.services.httpd.Prod.group} ${varDir}
+ touch ${varDir}/.filled
+ fi
+ '';
+ };
+
+ system.activationScripts.christophe_carpentier_agorakit = {
+ deps = [];
+ text = ''
+ install -m 0700 -o ${config.services.httpd.Prod.user} -g ${config.services.httpd.Prod.group} -d ${app.varDir}
+ '';
};
services.cron = {