aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/private/tasks/default.nix1
-rw-r--r--modules/private/websites/chloe/integration.nix3
-rw-r--r--modules/private/websites/chloe/production.nix3
-rw-r--r--modules/private/websites/connexionswing/integration.nix2
-rw-r--r--modules/private/websites/connexionswing/production.nix2
-rw-r--r--modules/private/websites/default.nix4
-rw-r--r--modules/private/websites/denise/evariste.nix4
-rw-r--r--modules/private/websites/florian/app.nix2
-rw-r--r--modules/private/websites/isabelle/aten_integration.nix2
-rw-r--r--modules/private/websites/isabelle/aten_production.nix2
-rw-r--r--modules/private/websites/isabelle/iridologie.nix3
-rw-r--r--modules/private/websites/jerome/naturaloutil.nix3
-rw-r--r--modules/private/websites/leila/production.nix1
-rw-r--r--modules/private/websites/ludivine/integration.nix2
-rw-r--r--modules/private/websites/ludivine/production.nix2
-rw-r--r--modules/private/websites/papa/maison_bbc.nix3
-rw-r--r--modules/private/websites/piedsjaloux/integration.nix2
-rw-r--r--modules/private/websites/piedsjaloux/production.nix2
-rw-r--r--modules/private/websites/richie/production.nix3
-rw-r--r--modules/private/websites/telio_tortay/production.nix3
-rw-r--r--modules/private/websites/tools/cloud/default.nix14
-rw-r--r--modules/private/websites/tools/dav/default.nix1
-rw-r--r--modules/private/websites/tools/git/default.nix1
-rw-r--r--modules/private/websites/tools/mail/default.nix11
-rw-r--r--modules/private/websites/tools/mail/rainloop.nix4
-rw-r--r--modules/private/websites/tools/mail/roundcubemail.nix6
-rw-r--r--modules/private/websites/tools/tools/default.nix29
-rw-r--r--modules/websites/php-application.nix9
28 files changed, 87 insertions, 37 deletions
diff --git a/modules/private/tasks/default.nix b/modules/private/tasks/default.nix
index 89b7664..5e1ac1e 100644
--- a/modules/private/tasks/default.nix
+++ b/modules/private/tasks/default.nix
@@ -190,6 +190,7 @@ in {
190 phpEnv = { 190 phpEnv = {
191 PATH = "/etc/profiles/per-user/${user}/bin"; 191 PATH = "/etc/profiles/per-user/${user}/bin";
192 }; 192 };
193 phpPackage = pkgs.php72;
193 }; 194 };
194 }; 195 };
195 196
diff --git a/modules/private/websites/chloe/integration.nix b/modules/private/websites/chloe/integration.nix
index 6d16a86..e07c5bb 100644
--- a/modules/private/websites/chloe/integration.nix
+++ b/modules/private/websites/chloe/integration.nix
@@ -56,8 +56,9 @@ in {
56 "pm.process_idle_timeout" = "60"; 56 "pm.process_idle_timeout" = "60";
57 }; 57 };
58 phpOptions = config.services.phpfpm.phpOptions + '' 58 phpOptions = config.services.phpfpm.phpOptions + ''
59 extension=${pkgs.php}/lib/php/extensions/mysqli.so 59 extension=${pkgs.php72}/lib/php/extensions/mysqli.so
60 ''; 60 '';
61 phpPackage = pkgs.php72;
61 }; 62 };
62 system.activationScripts.chloe_integration = { 63 system.activationScripts.chloe_integration = {
63 deps = [ "wrappers" ]; 64 deps = [ "wrappers" ];
diff --git a/modules/private/websites/chloe/production.nix b/modules/private/websites/chloe/production.nix
index 067e8e7..5cfc40c 100644
--- a/modules/private/websites/chloe/production.nix
+++ b/modules/private/websites/chloe/production.nix
@@ -60,8 +60,9 @@ in {
60 "pm.max_spare_servers" = "3"; 60 "pm.max_spare_servers" = "3";
61 }; 61 };
62 phpOptions = config.services.phpfpm.phpOptions + '' 62 phpOptions = config.services.phpfpm.phpOptions + ''
63 extension=${pkgs.php}/lib/php/extensions/mysqli.so 63 extension=${pkgs.php72}/lib/php/extensions/mysqli.so
64 ''; 64 '';
65 phpPackage = pkgs.php72;
65 }; 66 };
66 system.activationScripts.chloe_production = { 67 system.activationScripts.chloe_production = {
67 deps = [ "wrappers" ]; 68 deps = [ "wrappers" ];
diff --git a/modules/private/websites/connexionswing/integration.nix b/modules/private/websites/connexionswing/integration.nix
index b4de4e1..f5b1a16 100644
--- a/modules/private/websites/connexionswing/integration.nix
+++ b/modules/private/websites/connexionswing/integration.nix
@@ -2,6 +2,7 @@
2let 2let
3 secrets = config.myEnv.websites.connexionswing.integration; 3 secrets = config.myEnv.websites.connexionswing.integration;
4 app = pkgs.callPackage ./app { 4 app = pkgs.callPackage ./app {
5 composerEnv = pkgs.composerEnv.override { php = pkgs.php72; };
5 environment = secrets.environment; 6 environment = secrets.environment;
6 varDir = "/var/lib/connexionswing_integration"; 7 varDir = "/var/lib/connexionswing_integration";
7 secretsPath = config.secrets.fullPaths."websites/connexionswing/integration"; 8 secretsPath = config.secrets.fullPaths."websites/connexionswing/integration";
@@ -43,6 +44,7 @@ in {
43 phpWatchFiles = [ 44 phpWatchFiles = [
44 config.secrets.fullPaths."websites/connexionswing/integration" 45 config.secrets.fullPaths."websites/connexionswing/integration"
45 ]; 46 ];
47 phpPackage = pkgs.php72;
46 }; 48 };
47 49
48 secrets.keys = [ 50 secrets.keys = [
diff --git a/modules/private/websites/connexionswing/production.nix b/modules/private/websites/connexionswing/production.nix
index 119a15e..45991ac 100644
--- a/modules/private/websites/connexionswing/production.nix
+++ b/modules/private/websites/connexionswing/production.nix
@@ -2,6 +2,7 @@
2let 2let
3 secrets = config.myEnv.websites.connexionswing.production; 3 secrets = config.myEnv.websites.connexionswing.production;
4 app = pkgs.callPackage ./app { 4 app = pkgs.callPackage ./app {
5 composerEnv = pkgs.composerEnv.override { php = pkgs.php72; };
5 environment = secrets.environment; 6 environment = secrets.environment;
6 varDir = "/var/lib/connexionswing_production"; 7 varDir = "/var/lib/connexionswing_production";
7 secretsPath = config.secrets.fullPaths."websites/connexionswing/production"; 8 secretsPath = config.secrets.fullPaths."websites/connexionswing/production";
@@ -43,6 +44,7 @@ in {
43 phpWatchFiles = [ 44 phpWatchFiles = [
44 config.secrets.fullPaths."websites/connexionswing/production" 45 config.secrets.fullPaths."websites/connexionswing/production"
45 ]; 46 ];
47 phpPackage = pkgs.php72;
46 }; 48 };
47 49
48 secrets.keys = [ 50 secrets.keys = [
diff --git a/modules/private/websites/default.nix b/modules/private/websites/default.nix
index a3dcbb9..186a155 100644
--- a/modules/private/websites/default.nix
+++ b/modules/private/websites/default.nix
@@ -101,8 +101,6 @@ in
101 networking.firewall.allowedTCPPorts = [ 80 443 ]; 101 networking.firewall.allowedTCPPorts = [ 80 443 ];
102 102
103 nixpkgs.overlays = [ (self: super: rec { 103 nixpkgs.overlays = [ (self: super: rec {
104 #openssl = self.openssl_1_1;
105 php = php72;
106 php72 = (super.php72.override { 104 php72 = (super.php72.override {
107 config.php.mysqlnd = true; 105 config.php.mysqlnd = true;
108 config.php.mysqli = false; 106 config.php.mysqli = false;
@@ -118,7 +116,6 @@ in
118 # ext/mysqli/mysqli.c ext/mysqli/mysqli_prop.c 116 # ext/mysqli/mysqli.c ext/mysqli/mysqli_prop.c
119 # ''; 117 # '';
120 }); 118 });
121 phpPackages = super.php72Packages.override { inherit php; };
122 }) ]; 119 }) ];
123 120
124 secrets.keys = [{ 121 secrets.keys = [{
@@ -148,7 +145,6 @@ in
148 }; 145 };
149 146
150 services.phpfpm = { 147 services.phpfpm = {
151 phpPackage = pkgs.php;
152 phpOptions = '' 148 phpOptions = ''
153 session.save_path = "/var/lib/php/sessions" 149 session.save_path = "/var/lib/php/sessions"
154 post_max_size = 20M 150 post_max_size = 20M
diff --git a/modules/private/websites/denise/evariste.nix b/modules/private/websites/denise/evariste.nix
index 460302b..42f9b2e 100644
--- a/modules/private/websites/denise/evariste.nix
+++ b/modules/private/websites/denise/evariste.nix
@@ -1,4 +1,4 @@
1{ lib, config, ... }: 1{ lib, config, pkgs, ... }:
2let 2let
3 cfg = config.myServices.websites.denise.evariste; 3 cfg = config.myServices.websites.denise.evariste;
4 nsiVarDir = "/var/lib/ftp/denise/nsievariste"; 4 nsiVarDir = "/var/lib/ftp/denise/nsievariste";
@@ -36,6 +36,7 @@ in {
36 "php_admin_value[open_basedir]" = "/var/lib/php/sessions/denise_nsievariste:${nsiVarDir}:/tmp"; 36 "php_admin_value[open_basedir]" = "/var/lib/php/sessions/denise_nsievariste:${nsiVarDir}:/tmp";
37 "php_admin_value[session.save_path]" = "/var/lib/php/sessions/denise_nsievariste"; 37 "php_admin_value[session.save_path]" = "/var/lib/php/sessions/denise_nsievariste";
38 }; 38 };
39 phpPackage = pkgs.php72;
39 }; 40 };
40 services.websites.env.production.vhostConfs.denise_nsievariste = { 41 services.websites.env.production.vhostConfs.denise_nsievariste = {
41 certName = "denise_evariste"; 42 certName = "denise_evariste";
@@ -75,6 +76,7 @@ in {
75 "php_admin_value[open_basedir]" = "/var/lib/php/sessions/denise_stmgevariste:${stmgVarDir}:/tmp"; 76 "php_admin_value[open_basedir]" = "/var/lib/php/sessions/denise_stmgevariste:${stmgVarDir}:/tmp";
76 "php_admin_value[session.save_path]" = "/var/lib/php/sessions/denise_stmgevariste"; 77 "php_admin_value[session.save_path]" = "/var/lib/php/sessions/denise_stmgevariste";
77 }; 78 };
79 phpPackage = pkgs.php72;
78 }; 80 };
79 services.websites.env.production.vhostConfs.denise_stmgevariste = { 81 services.websites.env.production.vhostConfs.denise_stmgevariste = {
80 certName = "denise_evariste"; 82 certName = "denise_evariste";
diff --git a/modules/private/websites/florian/app.nix b/modules/private/websites/florian/app.nix
index 19a88b0..14358d8 100644
--- a/modules/private/websites/florian/app.nix
+++ b/modules/private/websites/florian/app.nix
@@ -3,6 +3,7 @@ let
3 adminer = pkgs.callPackage ../commons/adminer.nix { inherit config; }; 3 adminer = pkgs.callPackage ../commons/adminer.nix { inherit config; };
4 secrets = config.myEnv.websites.tellesflorian.integration; 4 secrets = config.myEnv.websites.tellesflorian.integration;
5 app = pkgs.callPackage ./app { 5 app = pkgs.callPackage ./app {
6 composerEnv = pkgs.composerEnv.override { php = pkgs.php72; };
6 environment = secrets.environment; 7 environment = secrets.environment;
7 varDir = "/var/lib/florian_app"; 8 varDir = "/var/lib/florian_app";
8 secretsPath = config.secrets.fullPaths."websites/florian/app"; 9 secretsPath = config.secrets.fullPaths."websites/florian/app";
@@ -42,6 +43,7 @@ in {
42 phpWatchFiles = [ 43 phpWatchFiles = [
43 config.secrets.fullPaths."websites/florian/app" 44 config.secrets.fullPaths."websites/florian/app"
44 ]; 45 ];
46 phpPackage = pkgs.php72;
45 }; 47 };
46 48
47 secrets.keys = [ 49 secrets.keys = [
diff --git a/modules/private/websites/isabelle/aten_integration.nix b/modules/private/websites/isabelle/aten_integration.nix
index 61c35cc..6f8f985 100644
--- a/modules/private/websites/isabelle/aten_integration.nix
+++ b/modules/private/websites/isabelle/aten_integration.nix
@@ -2,6 +2,7 @@
2let 2let
3 secrets = config.myEnv.websites.isabelle.aten_integration; 3 secrets = config.myEnv.websites.isabelle.aten_integration;
4 app = pkgs.callPackage ./aten_app { 4 app = pkgs.callPackage ./aten_app {
5 composerEnv = pkgs.composerEnv.override { php = pkgs.php72; };
5 environment = secrets.environment; 6 environment = secrets.environment;
6 varDir = "/var/lib/isabelle_aten_integration"; 7 varDir = "/var/lib/isabelle_aten_integration";
7 }; 8 };
@@ -37,6 +38,7 @@ in {
37 phpEnv = { 38 phpEnv = {
38 SYMFONY_DEBUG_MODE = "\"yes\""; 39 SYMFONY_DEBUG_MODE = "\"yes\"";
39 }; 40 };
41 phpPackage = pkgs.php72;
40 }; 42 };
41 43
42 secrets.keys = [{ 44 secrets.keys = [{
diff --git a/modules/private/websites/isabelle/aten_production.nix b/modules/private/websites/isabelle/aten_production.nix
index e34d659..4fa3622 100644
--- a/modules/private/websites/isabelle/aten_production.nix
+++ b/modules/private/websites/isabelle/aten_production.nix
@@ -2,6 +2,7 @@
2let 2let
3 secrets = config.myEnv.websites.isabelle.aten_production; 3 secrets = config.myEnv.websites.isabelle.aten_production;
4 app = pkgs.callPackage ./aten_app { 4 app = pkgs.callPackage ./aten_app {
5 composerEnv = pkgs.composerEnv.override { php = pkgs.php72; };
5 environment = secrets.environment; 6 environment = secrets.environment;
6 varDir = "/var/lib/isabelle_aten_production"; 7 varDir = "/var/lib/isabelle_aten_production";
7 }; 8 };
@@ -37,6 +38,7 @@ in {
37 "pm.min_spare_servers" = "1"; 38 "pm.min_spare_servers" = "1";
38 "pm.max_spare_servers" = "3"; 39 "pm.max_spare_servers" = "3";
39 }; 40 };
41 phpPackage = pkgs.php72;
40 }; 42 };
41 43
42 secrets.keys = [{ 44 secrets.keys = [{
diff --git a/modules/private/websites/isabelle/iridologie.nix b/modules/private/websites/isabelle/iridologie.nix
index 560e605..740a3c6 100644
--- a/modules/private/websites/isabelle/iridologie.nix
+++ b/modules/private/websites/isabelle/iridologie.nix
@@ -62,8 +62,9 @@ in {
62 "pm.max_spare_servers" = "3"; 62 "pm.max_spare_servers" = "3";
63 }; 63 };
64 phpOptions = config.services.phpfpm.phpOptions + '' 64 phpOptions = config.services.phpfpm.phpOptions + ''
65 extension=${pkgs.php}/lib/php/extensions/mysqli.so 65 extension=${pkgs.php72}/lib/php/extensions/mysqli.so
66 ''; 66 '';
67 phpPackage = pkgs.php72;
67 }; 68 };
68 system.activationScripts.isabelle_iridologie = { 69 system.activationScripts.isabelle_iridologie = {
69 deps = [ "wrappers" ]; 70 deps = [ "wrappers" ];
diff --git a/modules/private/websites/jerome/naturaloutil.nix b/modules/private/websites/jerome/naturaloutil.nix
index 8bbb49e..fd853bc 100644
--- a/modules/private/websites/jerome/naturaloutil.nix
+++ b/modules/private/websites/jerome/naturaloutil.nix
@@ -62,8 +62,9 @@ in {
62 BDD_CONNECT = secretsPath; 62 BDD_CONNECT = secretsPath;
63 }; 63 };
64 phpOptions = config.services.phpfpm.phpOptions + '' 64 phpOptions = config.services.phpfpm.phpOptions + ''
65 extension=${pkgs.php}/lib/php/extensions/mysqli.so 65 extension=${pkgs.php72}/lib/php/extensions/mysqli.so
66 ''; 66 '';
67 phpPackage = pkgs.php72;
67 }; 68 };
68 services.websites.env.production.modules = adminer.apache.modules ++ [ "proxy_fcgi" ]; 69 services.websites.env.production.modules = adminer.apache.modules ++ [ "proxy_fcgi" ];
69 services.websites.env.production.vhostConfs.jerome_naturaloutil = { 70 services.websites.env.production.vhostConfs.jerome_naturaloutil = {
diff --git a/modules/private/websites/leila/production.nix b/modules/private/websites/leila/production.nix
index b48da6f..4fcc2d3 100644
--- a/modules/private/websites/leila/production.nix
+++ b/modules/private/websites/leila/production.nix
@@ -21,6 +21,7 @@ in {
21 21
22 "php_admin_value[open_basedir]" = "${varDir}:/tmp"; 22 "php_admin_value[open_basedir]" = "${varDir}:/tmp";
23 }; 23 };
24 phpPackage = pkgs.php72;
24 }; 25 };
25 26
26 services.webstats.sites = [ 27 services.webstats.sites = [
diff --git a/modules/private/websites/ludivine/integration.nix b/modules/private/websites/ludivine/integration.nix
index 4e37c0c..4357b93 100644
--- a/modules/private/websites/ludivine/integration.nix
+++ b/modules/private/websites/ludivine/integration.nix
@@ -2,6 +2,7 @@
2let 2let
3 secrets = config.myEnv.websites.ludivine.integration; 3 secrets = config.myEnv.websites.ludivine.integration;
4 app = pkgs.callPackage ./app { 4 app = pkgs.callPackage ./app {
5 composerEnv = pkgs.composerEnv.override { php = pkgs.php72; };
5 environment = secrets.environment; 6 environment = secrets.environment;
6 varDir = "/var/lib/ludivine_integration"; 7 varDir = "/var/lib/ludivine_integration";
7 secretsPath = config.secrets.fullPaths."websites/ludivine/integration"; 8 secretsPath = config.secrets.fullPaths."websites/ludivine/integration";
@@ -46,6 +47,7 @@ in {
46 phpWatchFiles = [ 47 phpWatchFiles = [
47 config.secrets.fullPaths."websites/ludivine/integration" 48 config.secrets.fullPaths."websites/ludivine/integration"
48 ]; 49 ];
50 phpPackage = pkgs.php72;
49 }; 51 };
50 52
51 secrets.keys = [ 53 secrets.keys = [
diff --git a/modules/private/websites/ludivine/production.nix b/modules/private/websites/ludivine/production.nix
index 47450c5..b30f488 100644
--- a/modules/private/websites/ludivine/production.nix
+++ b/modules/private/websites/ludivine/production.nix
@@ -2,6 +2,7 @@
2let 2let
3 secrets = config.myEnv.websites.ludivine.production; 3 secrets = config.myEnv.websites.ludivine.production;
4 app = pkgs.callPackage ./app { 4 app = pkgs.callPackage ./app {
5 composerEnv = pkgs.composerEnv.override { php = pkgs.php72; };
5 environment = secrets.environment; 6 environment = secrets.environment;
6 varDir = "/var/lib/ludivine_production"; 7 varDir = "/var/lib/ludivine_production";
7 secretsPath = config.secrets.fullPaths."websites/ludivine/production"; 8 secretsPath = config.secrets.fullPaths."websites/ludivine/production";
@@ -48,6 +49,7 @@ in {
48 pkgs.imagemagick pkgs.sass pkgs.ruby 49 pkgs.imagemagick pkgs.sass pkgs.ruby
49 ]; 50 ];
50 }; 51 };
52 phpPackage = pkgs.php72;
51 }; 53 };
52 54
53 secrets.keys = [ 55 secrets.keys = [
diff --git a/modules/private/websites/papa/maison_bbc.nix b/modules/private/websites/papa/maison_bbc.nix
index d94a027..ec5673b 100644
--- a/modules/private/websites/papa/maison_bbc.nix
+++ b/modules/private/websites/papa/maison_bbc.nix
@@ -25,8 +25,9 @@ in {
25 }; 25 };
26 phpOptions = config.services.phpfpm.phpOptions + '' 26 phpOptions = config.services.phpfpm.phpOptions + ''
27 date.timezone = 'Europe/Paris' 27 date.timezone = 'Europe/Paris'
28 extension=${pkgs.php}/lib/php/extensions/mysqli.so 28 extension=${pkgs.php72}/lib/php/extensions/mysqli.so
29 ''; 29 '';
30 phpPackage = pkgs.php72;
30 }; 31 };
31 32
32 services.websites.env.production.modules = [ "proxy_fcgi" ]; 33 services.websites.env.production.modules = [ "proxy_fcgi" ];
diff --git a/modules/private/websites/piedsjaloux/integration.nix b/modules/private/websites/piedsjaloux/integration.nix
index d8790cc..dc98900 100644
--- a/modules/private/websites/piedsjaloux/integration.nix
+++ b/modules/private/websites/piedsjaloux/integration.nix
@@ -2,6 +2,7 @@
2let 2let
3 secrets = config.myEnv.websites.piedsjaloux.integration; 3 secrets = config.myEnv.websites.piedsjaloux.integration;
4 app = pkgs.callPackage ./app { 4 app = pkgs.callPackage ./app {
5 composerEnv = pkgs.composerEnv.override { php = pkgs.php72; };
5 environment = secrets.environment; 6 environment = secrets.environment;
6 varDir = "/var/lib/piedsjaloux_integration"; 7 varDir = "/var/lib/piedsjaloux_integration";
7 secretsPath = config.secrets.fullPaths."websites/piedsjaloux/integration"; 8 secretsPath = config.secrets.fullPaths."websites/piedsjaloux/integration";
@@ -48,6 +49,7 @@ in {
48 phpWatchFiles = [ 49 phpWatchFiles = [
49 app.secretsPath 50 app.secretsPath
50 ]; 51 ];
52 phpPackage = pkgs.php72;
51 }; 53 };
52 54
53 secrets.keys = [ 55 secrets.keys = [
diff --git a/modules/private/websites/piedsjaloux/production.nix b/modules/private/websites/piedsjaloux/production.nix
index 4b2c056..03b9ec5 100644
--- a/modules/private/websites/piedsjaloux/production.nix
+++ b/modules/private/websites/piedsjaloux/production.nix
@@ -2,6 +2,7 @@
2let 2let
3 secrets = config.myEnv.websites.piedsjaloux.production; 3 secrets = config.myEnv.websites.piedsjaloux.production;
4 app = pkgs.callPackage ./app { 4 app = pkgs.callPackage ./app {
5 composerEnv = pkgs.composerEnv.override { php = pkgs.php72; };
5 environment = secrets.environment; 6 environment = secrets.environment;
6 varDir = "/var/lib/piedsjaloux_production"; 7 varDir = "/var/lib/piedsjaloux_production";
7 secretsPath = config.secrets.fullPaths."websites/piedsjaloux/production"; 8 secretsPath = config.secrets.fullPaths."websites/piedsjaloux/production";
@@ -50,6 +51,7 @@ in {
50 phpWatchFiles = [ 51 phpWatchFiles = [
51 app.secretsPath 52 app.secretsPath
52 ]; 53 ];
54 phpPackage = pkgs.php72;
53 }; 55 };
54 56
55 secrets.keys = [ 57 secrets.keys = [
diff --git a/modules/private/websites/richie/production.nix b/modules/private/websites/richie/production.nix
index d6d19c8..94c0ca0 100644
--- a/modules/private/websites/richie/production.nix
+++ b/modules/private/websites/richie/production.nix
@@ -72,8 +72,9 @@ in
72 }; 72 };
73 phpOptions = config.services.phpfpm.phpOptions + '' 73 phpOptions = config.services.phpfpm.phpOptions + ''
74 date.timezone = 'Europe/Paris' 74 date.timezone = 'Europe/Paris'
75 extension=${pkgs.php}/lib/php/extensions/mysqli.so 75 extension=${pkgs.php72}/lib/php/extensions/mysqli.so
76 ''; 76 '';
77 phpPackage = pkgs.php72;
77 }; 78 };
78 services.websites.env.production.modules = [ "proxy_fcgi" ]; 79 services.websites.env.production.modules = [ "proxy_fcgi" ];
79 services.websites.env.production.vhostConfs.richie_production = { 80 services.websites.env.production.vhostConfs.richie_production = {
diff --git a/modules/private/websites/telio_tortay/production.nix b/modules/private/websites/telio_tortay/production.nix
index cdc61fa..2338f91 100644
--- a/modules/private/websites/telio_tortay/production.nix
+++ b/modules/private/websites/telio_tortay/production.nix
@@ -39,8 +39,9 @@ in {
39 }; 39 };
40 phpOptions = config.services.phpfpm.phpOptions + '' 40 phpOptions = config.services.phpfpm.phpOptions + ''
41 disable_functions = "mail" 41 disable_functions = "mail"
42 extension=${pkgs.php}/lib/php/extensions/mysqli.so 42 extension=${pkgs.php72}/lib/php/extensions/mysqli.so
43 ''; 43 '';
44 phpPackage = pkgs.php72;
44 }; 45 };
45 services.websites.env.production.modules = adminer.apache.modules ++ [ "proxy_fcgi" ]; 46 services.websites.env.production.modules = adminer.apache.modules ++ [ "proxy_fcgi" ];
46 services.websites.env.production.vhostConfs.telio_tortay = { 47 services.websites.env.production.vhostConfs.telio_tortay = {
diff --git a/modules/private/websites/tools/cloud/default.nix b/modules/private/websites/tools/cloud/default.nix
index b9bb32f..73a837f 100644
--- a/modules/private/websites/tools/cloud/default.nix
+++ b/modules/private/websites/tools/cloud/default.nix
@@ -11,9 +11,9 @@ let
11 [ nextcloud varDir ] 11 [ nextcloud varDir ]
12 ++ builtins.attrValues pkgs.webapps.nextcloud-apps); 12 ++ builtins.attrValues pkgs.webapps.nextcloud-apps);
13 phpConfig = '' 13 phpConfig = ''
14 extension=${pkgs.phpPackages.redis}/lib/php/extensions/redis.so 14 extension=${pkgs.php72Packages.redis}/lib/php/extensions/redis.so
15 extension=${pkgs.phpPackages.apcu}/lib/php/extensions/apcu.so 15 extension=${pkgs.php72Packages.apcu}/lib/php/extensions/apcu.so
16 zend_extension=${pkgs.php}/lib/php/extensions/opcache.so 16 zend_extension=${pkgs.php72}/lib/php/extensions/opcache.so
17 ''; 17 '';
18 pool = { 18 pool = {
19 "listen.owner" = "wwwrun"; 19 "listen.owner" = "wwwrun";
@@ -38,6 +38,7 @@ let
38 "php_admin_value[open_basedir]" = "/run/wrappers/bin/sendmail:${basedir}:/proc/meminfo:/dev/urandom:/proc/self/fd:/tmp"; 38 "php_admin_value[open_basedir]" = "/run/wrappers/bin/sendmail:${basedir}:/proc/meminfo:/dev/urandom:/proc/self/fd:/tmp";
39 "php_admin_value[session.save_path]" = "${varDir}/phpSessions"; 39 "php_admin_value[session.save_path]" = "${varDir}/phpSessions";
40 }; 40 };
41 phpPackage = pkgs.php72;
41 }; 42 };
42in { 43in {
43 options.myServices.websites.tools.cloud = { 44 options.myServices.websites.tools.cloud = {
@@ -141,8 +142,8 @@ in {
141 cd ${nextcloud} 142 cd ${nextcloud}
142 NEXTCLOUD_CONFIG_DIR="${nextcloud}/config" \ 143 NEXTCLOUD_CONFIG_DIR="${nextcloud}/config" \
143 exec \ 144 exec \
144 sudo -u wwwrun ${pkgs.php}/bin/php \ 145 sudo -u wwwrun ${pkgs.php72}/bin/php \
145 -c ${pkgs.php}/etc/php.ini \ 146 -c ${pkgs.php72}/etc/php.ini \
146 occ $* 147 occ $*
147 ''; 148 '';
148 in [ occ ]; 149 in [ occ ];
@@ -172,6 +173,7 @@ in {
172 group = "wwwrun"; 173 group = "wwwrun";
173 settings = phpFpm.pool; 174 settings = phpFpm.pool;
174 phpOptions = config.services.phpfpm.phpOptions + phpFpm.phpConfig; 175 phpOptions = config.services.phpfpm.phpOptions + phpFpm.phpConfig;
176 phpPackage = pkgs.php72;
175 }; 177 };
176 178
177 services.cron = { 179 services.cron = {
@@ -181,7 +183,7 @@ in {
181 #! ${pkgs.stdenv.shell} 183 #! ${pkgs.stdenv.shell}
182 export LOCALE_ARCHIVE=/run/current-system/sw/lib/locale/locale-archive 184 export LOCALE_ARCHIVE=/run/current-system/sw/lib/locale/locale-archive
183 export PATH=/run/wrappers/bin:$PATH 185 export PATH=/run/wrappers/bin:$PATH
184 ${pkgs.php}/bin/php -d memory_limit=512M -f ${nextcloud}/cron.php 186 ${pkgs.php72}/bin/php -d memory_limit=512M -f ${nextcloud}/cron.php
185 ''; 187 '';
186 in [ 188 in [
187 '' 189 ''
diff --git a/modules/private/websites/tools/dav/default.nix b/modules/private/websites/tools/dav/default.nix
index 14e4069..f53cf58 100644
--- a/modules/private/websites/tools/dav/default.nix
+++ b/modules/private/websites/tools/dav/default.nix
@@ -47,6 +47,7 @@ in {
47 user = config.services.httpd.Tools.user; 47 user = config.services.httpd.Tools.user;
48 group = config.services.httpd.Tools.group; 48 group = config.services.httpd.Tools.group;
49 settings = davical.phpFpm.pool; 49 settings = davical.phpFpm.pool;
50 phpPackage = pkgs.php72;
50 }; 51 };
51 }; 52 };
52 53
diff --git a/modules/private/websites/tools/git/default.nix b/modules/private/websites/tools/git/default.nix
index 55f9ecb..8b1afa8 100644
--- a/modules/private/websites/tools/git/default.nix
+++ b/modules/private/websites/tools/git/default.nix
@@ -43,6 +43,7 @@ in {
43 user = config.services.httpd.Tools.user; 43 user = config.services.httpd.Tools.user;
44 group = config.services.httpd.Tools.group; 44 group = config.services.httpd.Tools.group;
45 settings = mantisbt.phpFpm.pool; 45 settings = mantisbt.phpFpm.pool;
46 phpPackage = pkgs.php72;
46 }; 47 };
47 }; 48 };
48 }; 49 };
diff --git a/modules/private/websites/tools/mail/default.nix b/modules/private/websites/tools/mail/default.nix
index dda2d45..217ef1a 100644
--- a/modules/private/websites/tools/mail/default.nix
+++ b/modules/private/websites/tools/mail/default.nix
@@ -4,7 +4,9 @@ let
4 inherit (pkgs.webapps) roundcubemail roundcubemail-plugins roundcubemail-skins; 4 inherit (pkgs.webapps) roundcubemail roundcubemail-plugins roundcubemail-skins;
5 env = config.myEnv.tools.roundcubemail; 5 env = config.myEnv.tools.roundcubemail;
6 }; 6 };
7 rainloop = pkgs.callPackage ./rainloop.nix {}; 7 rainloop = pkgs.callPackage ./rainloop.nix {
8 rainloop = pkgs.rainloop-community;
9 };
8 cfg = config.myServices.websites.tools.email; 10 cfg = config.myServices.websites.tools.email;
9 pcfg = config.services.phpfpm.pools; 11 pcfg = config.services.phpfpm.pools;
10in 12in
@@ -60,12 +62,17 @@ in
60 user = "wwwrun"; 62 user = "wwwrun";
61 group = "wwwrun"; 63 group = "wwwrun";
62 settings = roundcubemail.phpFpm.pool; 64 settings = roundcubemail.phpFpm.pool;
63 phpOptions = config.services.phpfpm.phpOptions + roundcubemail.phpFpm.phpConfig; 65 phpOptions = config.services.phpfpm.phpOptions + ''
66 date.timezone = 'CET'
67 extension=${pkgs.php72Packages.imagick}/lib/php/extensions/imagick.so
68 '';
69 phpPackage = pkgs.php72;
64 }; 70 };
65 services.phpfpm.pools.rainloop = { 71 services.phpfpm.pools.rainloop = {
66 user = "wwwrun"; 72 user = "wwwrun";
67 group = "wwwrun"; 73 group = "wwwrun";
68 settings = rainloop.phpFpm.pool; 74 settings = rainloop.phpFpm.pool;
75 phpPackage = pkgs.php72;
69 }; 76 };
70 system.activationScripts = { 77 system.activationScripts = {
71 roundcubemail = roundcubemail.activationScript; 78 roundcubemail = roundcubemail.activationScript;
diff --git a/modules/private/websites/tools/mail/rainloop.nix b/modules/private/websites/tools/mail/rainloop.nix
index 9b1f0c5..21de5eb 100644
--- a/modules/private/websites/tools/mail/rainloop.nix
+++ b/modules/private/websites/tools/mail/rainloop.nix
@@ -1,4 +1,4 @@
1{ lib, pkgs, writeText, stdenv, fetchurl }: 1{ lib, rainloop, writeText, stdenv, fetchurl }:
2rec { 2rec {
3 varDir = "/var/lib/rainloop"; 3 varDir = "/var/lib/rainloop";
4 activationScript = { 4 activationScript = {
@@ -9,7 +9,7 @@ rec {
9 install -m 0750 -o ${apache.user} -g ${apache.group} -d ${varDir}/data 9 install -m 0750 -o ${apache.user} -g ${apache.group} -d ${varDir}/data
10 ''; 10 '';
11 }; 11 };
12 webRoot = pkgs.rainloop-community.override { dataPath = "${varDir}/data"; }; 12 webRoot = rainloop.override { dataPath = "${varDir}/data"; };
13 apache = rec { 13 apache = rec {
14 user = "wwwrun"; 14 user = "wwwrun";
15 group = "wwwrun"; 15 group = "wwwrun";
diff --git a/modules/private/websites/tools/mail/roundcubemail.nix b/modules/private/websites/tools/mail/roundcubemail.nix
index 0b35d02..6875bae 100644
--- a/modules/private/websites/tools/mail/roundcubemail.nix
+++ b/modules/private/websites/tools/mail/roundcubemail.nix
@@ -1,4 +1,4 @@
1{ env, roundcubemail, roundcubemail-plugins, roundcubemail-skins, phpPackages, apacheHttpd }: 1{ env, roundcubemail, roundcubemail-plugins, roundcubemail-skins, apacheHttpd }:
2rec { 2rec {
3 varDir = "/var/lib/roundcubemail"; 3 varDir = "/var/lib/roundcubemail";
4 activationScript = { 4 activationScript = {
@@ -103,10 +103,6 @@ rec {
103 [ webRoot "/var/secrets/webapps/tools-roundcube" varDir ] 103 [ webRoot "/var/secrets/webapps/tools-roundcube" varDir ]
104 ++ webRoot.plugins 104 ++ webRoot.plugins
105 ++ webRoot.skins); 105 ++ webRoot.skins);
106 phpConfig = ''
107 date.timezone = 'CET'
108 extension=${phpPackages.imagick}/lib/php/extensions/imagick.so
109 '';
110 pool = { 106 pool = {
111 "listen.owner" = apache.user; 107 "listen.owner" = apache.user;
112 "listen.group" = apache.group; 108 "listen.group" = apache.group;
diff --git a/modules/private/websites/tools/tools/default.nix b/modules/private/websites/tools/tools/default.nix
index a5e7f2e..dcda15a 100644
--- a/modules/private/websites/tools/tools/default.nix
+++ b/modules/private/websites/tools/tools/default.nix
@@ -9,12 +9,13 @@ let
9 ttrss = pkgs.callPackage ./ttrss.nix { 9 ttrss = pkgs.callPackage ./ttrss.nix {
10 inherit (pkgs.webapps) ttrss ttrss-plugins; 10 inherit (pkgs.webapps) ttrss ttrss-plugins;
11 env = config.myEnv.tools.ttrss; 11 env = config.myEnv.tools.ttrss;
12 php = pkgs.php72;
12 }; 13 };
13 kanboard = pkgs.callPackage ./kanboard.nix { 14 kanboard = pkgs.callPackage ./kanboard.nix {
14 env = config.myEnv.tools.kanboard; 15 env = config.myEnv.tools.kanboard;
15 }; 16 };
16 wallabag = pkgs.callPackage ./wallabag.nix { 17 wallabag = pkgs.callPackage ./wallabag.nix {
17 inherit (pkgs.webapps) wallabag; 18 wallabag = pkgs.webapps.wallabag.override { composerEnv = pkgs.composerEnv.override { php = pkgs.php72; }; };
18 env = config.myEnv.tools.wallabag; 19 env = config.myEnv.tools.wallabag;
19 }; 20 };
20 yourls = pkgs.callPackage ./yourls.nix { 21 yourls = pkgs.callPackage ./yourls.nix {
@@ -36,7 +37,7 @@ let
36 env = config.myEnv.tools.phpldapadmin; 37 env = config.myEnv.tools.phpldapadmin;
37 }; 38 };
38 grocy = pkgs.callPackage ./grocy.nix { 39 grocy = pkgs.callPackage ./grocy.nix {
39 inherit (pkgs.webapps) grocy; 40 grocy = pkgs.webapps.grocy.override { composerEnv = pkgs.composerEnv.override { php = pkgs.php72; }; };
40 }; 41 };
41 phpbb = pkgs.callPackage ./phpbb.nix { 42 phpbb = pkgs.callPackage ./phpbb.nix {
42 phpbb = (pkgs.webapps.phpbb.withLangs (l: [ l.fr ])).withExts (e: [ 43 phpbb = (pkgs.webapps.phpbb.withLangs (l: [ l.fr ])).withExts (e: [
@@ -260,7 +261,7 @@ in {
260 description = "Tiny Tiny RSS feeds update daemon"; 261 description = "Tiny Tiny RSS feeds update daemon";
261 serviceConfig = { 262 serviceConfig = {
262 User = "wwwrun"; 263 User = "wwwrun";
263 ExecStart = "${pkgs.php}/bin/php ${ttrss.webRoot}/update.php --daemon"; 264 ExecStart = "${pkgs.php72}/bin/php ${ttrss.webRoot}/update.php --daemon";
264 StandardOutput = "syslog"; 265 StandardOutput = "syslog";
265 StandardError = "syslog"; 266 StandardError = "syslog";
266 PermissionsStartOnly = true; 267 PermissionsStartOnly = true;
@@ -300,6 +301,7 @@ in {
300 phpEnv = { 301 phpEnv = {
301 CONTACT_EMAIL = config.myEnv.tools.contact; 302 CONTACT_EMAIL = config.myEnv.tools.contact;
302 }; 303 };
304 phpPackage = pkgs.php72;
303 }; 305 };
304 devtools = { 306 devtools = {
305 user = "wwwrun"; 307 user = "wwwrun";
@@ -316,37 +318,43 @@ in {
316 "php_admin_value[open_basedir]" = "/run/wrappers/bin/sendmail:/var/lib/ftp/devtools.immae.eu:/tmp"; 318 "php_admin_value[open_basedir]" = "/run/wrappers/bin/sendmail:/var/lib/ftp/devtools.immae.eu:/tmp";
317 }; 319 };
318 phpOptions = config.services.phpfpm.phpOptions + '' 320 phpOptions = config.services.phpfpm.phpOptions + ''
319 extension=${pkgs.php}/lib/php/extensions/mysqli.so 321 extension=${pkgs.php72}/lib/php/extensions/mysqli.so
320 extension=${pkgs.phpPackages.redis}/lib/php/extensions/redis.so 322 extension=${pkgs.php72Packages.redis}/lib/php/extensions/redis.so
321 extension=${pkgs.phpPackages.apcu}/lib/php/extensions/apcu.so 323 extension=${pkgs.php72Packages.apcu}/lib/php/extensions/apcu.so
322 zend_extension=${pkgs.php}/lib/php/extensions/opcache.so 324 zend_extension=${pkgs.php72}/lib/php/extensions/opcache.so
323 ''; 325 '';
326 phpPackage = pkgs.php72;
324 }; 327 };
325 adminer = adminer.phpFpm; 328 adminer = adminer.phpFpm;
326 ttrss = { 329 ttrss = {
327 user = "wwwrun"; 330 user = "wwwrun";
328 group = "wwwrun"; 331 group = "wwwrun";
329 settings = ttrss.phpFpm.pool; 332 settings = ttrss.phpFpm.pool;
333 phpPackage = pkgs.php72;
330 }; 334 };
331 wallabag = { 335 wallabag = {
332 user = "wwwrun"; 336 user = "wwwrun";
333 group = "wwwrun"; 337 group = "wwwrun";
334 settings = wallabag.phpFpm.pool; 338 settings = wallabag.phpFpm.pool;
339 phpPackage = pkgs.php72;
335 }; 340 };
336 yourls = { 341 yourls = {
337 user = "wwwrun"; 342 user = "wwwrun";
338 group = "wwwrun"; 343 group = "wwwrun";
339 settings = yourls.phpFpm.pool; 344 settings = yourls.phpFpm.pool;
345 phpPackage = pkgs.php72;
340 }; 346 };
341 rompr = { 347 rompr = {
342 user = "wwwrun"; 348 user = "wwwrun";
343 group = "wwwrun"; 349 group = "wwwrun";
344 settings = rompr.phpFpm.pool; 350 settings = rompr.phpFpm.pool;
351 phpPackage = pkgs.php72;
345 }; 352 };
346 shaarli = { 353 shaarli = {
347 user = "wwwrun"; 354 user = "wwwrun";
348 group = "wwwrun"; 355 group = "wwwrun";
349 settings = shaarli.phpFpm.pool; 356 settings = shaarli.phpFpm.pool;
357 phpPackage = pkgs.php72;
350 }; 358 };
351 dmarc-reports = { 359 dmarc-reports = {
352 user = "wwwrun"; 360 user = "wwwrun";
@@ -354,18 +362,21 @@ in {
354 settings = dmarc-reports.phpFpm.pool; 362 settings = dmarc-reports.phpFpm.pool;
355 phpEnv = dmarc-reports.phpFpm.phpEnv; 363 phpEnv = dmarc-reports.phpFpm.phpEnv;
356 phpOptions = config.services.phpfpm.phpOptions + '' 364 phpOptions = config.services.phpfpm.phpOptions + ''
357 extension=${pkgs.php}/lib/php/extensions/mysqli.so 365 extension=${pkgs.php72}/lib/php/extensions/mysqli.so
358 ''; 366 '';
367 phpPackage = pkgs.php72;
359 }; 368 };
360 dokuwiki = { 369 dokuwiki = {
361 user = "wwwrun"; 370 user = "wwwrun";
362 group = "wwwrun"; 371 group = "wwwrun";
363 settings = dokuwiki.phpFpm.pool; 372 settings = dokuwiki.phpFpm.pool;
373 phpPackage = pkgs.php72;
364 }; 374 };
365 phpbb = { 375 phpbb = {
366 user = "wwwrun"; 376 user = "wwwrun";
367 group = "wwwrun"; 377 group = "wwwrun";
368 settings = phpbb.phpFpm.pool; 378 settings = phpbb.phpFpm.pool;
379 phpPackage = pkgs.php72;
369 }; 380 };
370 ldap = { 381 ldap = {
371 user = "wwwrun"; 382 user = "wwwrun";
@@ -377,11 +388,13 @@ in {
377 user = "wwwrun"; 388 user = "wwwrun";
378 group = "wwwrun"; 389 group = "wwwrun";
379 settings = kanboard.phpFpm.pool; 390 settings = kanboard.phpFpm.pool;
391 phpPackage = pkgs.php72;
380 }; 392 };
381 grocy = { 393 grocy = {
382 user = "wwwrun"; 394 user = "wwwrun";
383 group = "wwwrun"; 395 group = "wwwrun";
384 settings = grocy.phpFpm.pool; 396 settings = grocy.phpFpm.pool;
397 phpPackage = pkgs.php72;
385 }; 398 };
386 }; 399 };
387 400
diff --git a/modules/websites/php-application.nix b/modules/websites/php-application.nix
index 20e2a5d..23e2b23 100644
--- a/modules/websites/php-application.nix
+++ b/modules/websites/php-application.nix
@@ -1,4 +1,4 @@
1{ lib, config, ... }: 1{ lib, config, pkgs, ... }:
2with lib; 2with lib;
3let 3let
4 cfg = config.services.phpApplication; 4 cfg = config.services.phpApplication;
@@ -53,6 +53,11 @@ in
53 default = {}; 53 default = {};
54 description = "Pool environment to append"; 54 description = "Pool environment to append";
55 }; 55 };
56 phpPackage = mkOption {
57 type = attrsOf str;
58 default = pkgs.php;
59 description = "Php package to use";
60 };
56 phpOptions = mkOption { 61 phpOptions = mkOption {
57 type = lines; 62 type = lines;
58 default = ""; 63 default = "";
@@ -177,7 +182,7 @@ in
177 // optionalAttrs (icfg.phpSession) { "php_admin_value[session.save_path]" = "${icfg.varDir}/phpSessions"; } 182 // optionalAttrs (icfg.phpSession) { "php_admin_value[session.save_path]" = "${icfg.varDir}/phpSessions"; }
178 // icfg.phpPool; 183 // icfg.phpPool;
179 phpOptions = config.services.phpfpm.phpOptions + icfg.phpOptions; 184 phpOptions = config.services.phpfpm.phpOptions + icfg.phpOptions;
180 inherit (icfg) phpEnv; 185 inherit (icfg) phpEnv phpPackage;
181 } 186 }
182 ) cfg.apps; 187 ) cfg.apps;
183 188