]> git.immae.eu Git - perso/Immae/Config/Nix.git/blobdiff - modules/private/websites/isabelle/aten_production.nix
Migrate php sessions to redis
[perso/Immae/Config/Nix.git] / modules / private / websites / isabelle / aten_production.nix
index ff7e306e57b32bfc56e2a88c50a03f0674b8c6c1..dc7165f3b31d9ceae6242a0c0639fa40eacb70b2 100644 (file)
@@ -6,7 +6,6 @@ let
   phpRoot = "${ftpRoot}/php";
   webRoot = "${phpRoot}/public";
   varDir = "${ftpRoot}/var";
-  sessionDir = "${ftpRoot}/sessions";
   packagePath = "/var/lib/ftp/release.immae.eu/buildbot/IsabelleAten";
   branch = "master";
 in {
@@ -25,7 +24,8 @@ in {
           config.secrets.fullPaths."websites/isabelle/aten_production"
           "/tmp"
         ];
-        "php_admin_value[session.save_path]" = sessionDir;
+        "php_admin_value[session.save_handler]" = "redis";
+        "php_admin_value[session.save_path]" = "'unix:///run/redis-php-sessions/redis.sock?persistent=1&prefix=Isabelle:AtenProduction:'";
         "php_admin_value[upload_max_filesize]" = "20M";
         "php_admin_value[post_max_size]" = "20M";
         #"php_admin_flag[log_errors]" = "on";
@@ -35,7 +35,7 @@ in {
         "pm.min_spare_servers" = "1";
         "pm.max_spare_servers" = "3";
       };
-      phpPackage = pkgs.php72;
+      phpPackage = pkgs.php72.withExtensions ({ enabled, all }: enabled ++ [all.redis]);
     };
     systemd.services."phpfpm-isabelle_aten_production" = {
       after = lib.mkAfter ["postgresql.service"];
@@ -84,7 +84,7 @@ in {
     system.activationScripts.isabelle_aten_production = {
       deps = ["users"];
       text = ''
-        install -m 0700 -o ${config.services.httpd.Prod.user} -g ${config.services.httpd.Prod.group} -d ${ftpRoot} ${sessionDir}
+        install -m 0700 -o ${config.services.httpd.Prod.user} -g ${config.services.httpd.Prod.group} -d ${ftpRoot}
       '';
     };