]> git.immae.eu Git - perso/Immae/Config/Nix.git/blobdiff - virtual/eldiron.nix
Refactor a bit the php-fpm module
[perso/Immae/Config/Nix.git] / virtual / eldiron.nix
index fa5cb5123c95b9b5609fddb3ffc03e77993c3562..c9075cfcd89bdbadf7e583937dcd82a3b7249161 100644 (file)
@@ -4,6 +4,9 @@
     enableRollback = true;
   };
 
+  # Full backup:
+  # The star after /var/lib/* avoids deleting all folders in case of problem
+  # rsync -e "ssh -i /root/.ssh/id_charon_vpn" -aAXvz --delete --numeric-ids --super --rsync-path="sudo rsync" /var/lib/* immae@immae.eu:
   eldiron = { config, pkgs, mylibs, myconfig, ... }:
     with mylibs;
     let
@@ -29,6 +32,7 @@
       ./modules/gitweb.nix
       ./modules/databases.nix
       ./modules/websites
+      ./modules/websites/phpfpm
     ];
     services.myGitolite.enable = true;
     services.myGitweb.enable = true;
@@ -70,8 +74,8 @@
         cd ${mypkgs.nextcloud.webRoot}
         NEXTCLOUD_CONFIG_DIR="${mypkgs.nextcloud.webRoot}/config" \
           exec \
-          ${config.services.phpfpm.phpPackage}/bin/php \
-          -c ${config.services.phpfpm.phpPackage}/etc/php.ini \
+          ${pkgs.php}/bin/php \
+          -c ${pkgs.php}/etc/php.ini \
           occ $*
         '';
     in [
 
     services.ympd = mypkgs.ympd.config // { enable = false; };
 
-    services.phpfpm = {
-      # FIXME: move session files to separate dirs
-      # /!\ phppackage is used in nextcloud configuation
+    services.myPhpfpm = {
+      phpPackage = pkgs.php;
       phpOptions = ''
         session.save_path = "/var/lib/php/sessions"
         session.gc_maxlifetime = 60*60*24*15
         session.cache_expire = 60*24*30
-        ; For nextcloud
-        extension=${pkgs.phpPackages.redis}/lib/php/extensions/redis.so
-        ; For nextcloud
-        extension=${pkgs.phpPackages.apcu}/lib/php/extensions/apcu.so
-        ; For nextcloud
-        zend_extension=${pkgs.php}/lib/php/extensions/opcache.so
         '';
       extraConfig = ''
         log_level = notice
         '';
+      poolPhpConfigs = {
+        nextcloud = mypkgs.nextcloud.phpFpm.phpConfig;
+      };
       poolConfigs = {
         adminer = mypkgs.adminer.phpFpm.pool;
         nextcloud = mypkgs.nextcloud.phpFpm.pool;