aboutsummaryrefslogtreecommitdiff
path: root/virtual/eldiron.nix
diff options
context:
space:
mode:
authorIsmaël Bouya <ismael.bouya@normalesup.org>2018-12-31 15:35:31 +0100
committerIsmaël Bouya <ismael.bouya@normalesup.org>2019-01-01 18:18:44 +0100
commit66b5bbf6214e8b2f599c394c442638257b149b55 (patch)
tree482ea033619f7fef86916251c3d5f97d31d12883 /virtual/eldiron.nix
parent1d4ccb2c4d48bb510ea2cf22ff1b96fc887d8a00 (diff)
downloadNix-66b5bbf6214e8b2f599c394c442638257b149b55.tar.gz
Nix-66b5bbf6214e8b2f599c394c442638257b149b55.tar.zst
Nix-66b5bbf6214e8b2f599c394c442638257b149b55.zip
Add Nextcloud configuration
Diffstat (limited to 'virtual/eldiron.nix')
-rw-r--r--virtual/eldiron.nix33
1 files changed, 32 insertions, 1 deletions
diff --git a/virtual/eldiron.nix b/virtual/eldiron.nix
index d90e722..36b765c 100644
--- a/virtual/eldiron.nix
+++ b/virtual/eldiron.nix
@@ -36,9 +36,21 @@
36 }; 36 };
37 }; 37 };
38 38
39 environment.systemPackages = [ 39 environment.systemPackages = let
40 # FIXME: move it to nextcloud
41 occ = pkgs.writeScriptBin "nextcloud-occ" ''
42 #! ${pkgs.stdenv.shell}
43 cd ${mypkgs.nextcloud.webRoot}
44 NEXTCLOUD_CONFIG_DIR="${mypkgs.nextcloud.webRoot}/config" \
45 exec \
46 ${config.services.phpfpm.phpPackage}/bin/php \
47 -c ${config.services.phpfpm.phpPackage}/etc/php.ini \
48 occ $*
49 '';
50 in [
40 pkgs.telnet 51 pkgs.telnet
41 pkgs.vim 52 pkgs.vim
53 occ
42 ]; 54 ];
43 55
44 security.acme.certs = { 56 security.acme.certs = {
@@ -55,6 +67,7 @@
55 "tools.immae.eu" = null; 67 "tools.immae.eu" = null;
56 "connexionswing.immae.eu" = null; 68 "connexionswing.immae.eu" = null;
57 "sandetludo.immae.eu" = null; 69 "sandetludo.immae.eu" = null;
70 "cloud.immae.eu" = null;
58 }; 71 };
59 }; 72 };
60 # "connexionswing" = { 73 # "connexionswing" = {
@@ -76,6 +89,13 @@
76 services.ympd = mypkgs.ympd.config // { enable = true; }; 89 services.ympd = mypkgs.ympd.config // { enable = true; };
77 90
78 services.phpfpm = { 91 services.phpfpm = {
92 # /!\ phppackage is used in nextcloud configuation
93 phpOptions = ''
94 ; For nextcloud
95 extension=${pkgs.phpPackages.redis}/lib/php/extensions/redis.so
96 ; For nextcloud
97 extension=${pkgs.phpPackages.apcu}/lib/php/extensions/apcu.so
98 '';
79 extraConfig = '' 99 extraConfig = ''
80 log_level = notice 100 log_level = notice
81 ''; 101 '';
@@ -83,12 +103,14 @@
83 adminer = mypkgs.adminer.phpFpm.pool; 103 adminer = mypkgs.adminer.phpFpm.pool;
84 connexionswing_dev = mypkgs.connexionswing_dev.phpFpm.pool; 104 connexionswing_dev = mypkgs.connexionswing_dev.phpFpm.pool;
85 connexionswing_prod = mypkgs.connexionswing_prod.phpFpm.pool; 105 connexionswing_prod = mypkgs.connexionswing_prod.phpFpm.pool;
106 nextcloud = mypkgs.nextcloud.phpFpm.pool;
86 }; 107 };
87 }; 108 };
88 109
89 system.activationScripts = { 110 system.activationScripts = {
90 connexionswing_dev = mypkgs.connexionswing_dev.activationScript; 111 connexionswing_dev = mypkgs.connexionswing_dev.activationScript;
91 connexionswing_prod = mypkgs.connexionswing_prod.activationScript; 112 connexionswing_prod = mypkgs.connexionswing_prod.activationScript;
113 nextcloud = mypkgs.nextcloud.activationScript;
92 httpd = '' 114 httpd = ''
93 install -d -m 0755 /var/lib/acme/acme-challenge 115 install -d -m 0755 /var/lib/acme/acme-challenge
94 ''; 116 '';
@@ -160,6 +182,7 @@
160 182
161 extraModules = pkgs.lib.lists.unique ( 183 extraModules = pkgs.lib.lists.unique (
162 mypkgs.adminer.apache.modules ++ 184 mypkgs.adminer.apache.modules ++
185 mypkgs.nextcloud.apache.modules ++
163 mypkgs.connexionswing_dev.apache.modules ++ 186 mypkgs.connexionswing_dev.apache.modules ++
164 mypkgs.connexionswing_prod.apache.modules ++ 187 mypkgs.connexionswing_prod.apache.modules ++
165 mypkgs.ympd.apache.modules ++ 188 mypkgs.ympd.apache.modules ++
@@ -202,6 +225,14 @@
202 mypkgs.connexionswing_dev.apache.vhostConf 225 mypkgs.connexionswing_dev.apache.vhostConf
203 ]; 226 ];
204 }) 227 })
228 (withSSL "eldiron" // {
229 listen = [ { ip = "*"; port = 443; } ];
230 hostName = "cloud.immae.eu";
231 documentRoot = mypkgs.nextcloud.webRoot;
232 extraConfig = builtins.concatStringsSep "\n" [
233 mypkgs.nextcloud.apache.vhostConf
234 ];
235 })
205 { # Should go last, default fallback 236 { # Should go last, default fallback
206 listen = [ { ip = "*"; port = 80; } ]; 237 listen = [ { ip = "*"; port = 80; } ];
207 hostName = "redirectSSL"; 238 hostName = "redirectSSL";