]> git.immae.eu Git - perso/Immae/Config/Nix.git/blobdiff - virtual/packages/nextcloud.nix
Refactor a bit the php-fpm module
[perso/Immae/Config/Nix.git] / virtual / packages / nextcloud.nix
index d332a1047e9e85c3481386e270fe28445c0c1bb0..b8d8e5941a14f9949185fe3fc88a48cb44651305 100644 (file)
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, checkEnv, writeText, lib }:
+{ stdenv, fetchurl, checkEnv, writeText, lib, phpPackages, php }:
 let
   nextcloud = let
     # FIXME: initial sync
@@ -115,7 +115,7 @@ let
         'dbtype' => 'pgsql',
         'version' => '15.0.0.10',
         'dbname' => 'webapps',
-        'dbhost' => '/tmp',
+        'dbhost' => '/run/postgresql',
         'dbtableprefix' => 'oc_',
         'dbuser' => '${builtins.getEnv "NIXOPS_NEXTCLOUD_DB_USER"}',
         'dbpassword' => '${builtins.getEnv "NIXOPS_NEXTCLOUD_DB_PASSWORD"}',
@@ -198,6 +198,7 @@ let
       deps = [ ];
       text = ''
         install -m 0755 -o ${apache.user} -g ${apache.group} -d ${varDir}
+        install -m 0750 -o ${apache.user} -g ${apache.group} -d ${varDir}/phpSessions
       '';
     };
     apache = {
@@ -230,6 +231,11 @@ let
         [ webRoot varDir config ]
         ++ lib.attrsets.mapAttrsToList (name: value: value) apps);
       socket = "/var/run/phpfpm/nextcloud.sock";
+      phpConfig = ''
+        extension=${phpPackages.redis}/lib/php/extensions/redis.so
+        extension=${phpPackages.apcu}/lib/php/extensions/apcu.so
+        zend_extension=${php}/lib/php/extensions/opcache.so
+        '';
       pool = ''
         listen = ${socket}
         user = ${apache.user}
@@ -243,7 +249,7 @@ let
         php_admin_value[output_buffering] = 0
         php_admin_value[max_execution_time] = 1800
         php_admin_value[zend_extension] = "opcache"
-        ;php_value[opcache.enable] = 1
+        php_value[opcache.enable] = 1
         php_value[opcache.enable_cli] = 1
         php_value[opcache.interned_strings_buffer] = 8
         php_value[opcache.max_accelerated_files] = 10000
@@ -253,6 +259,7 @@ let
         php_admin_value[memory_limit] = 512M
 
         php_admin_value[open_basedir] = "${basedir}:/proc/meminfo:/dev/urandom:/proc/self/fd:/tmp"
+        php_admin_value[session.save_path] = "${varDir}/phpSessions"
         '';
     };
   };