aboutsummaryrefslogtreecommitdiff
path: root/modules/private/websites/tools/tools/default.nix
diff options
context:
space:
mode:
authorIsmaël Bouya <ismael.bouya@normalesup.org>2020-04-25 15:49:40 +0200
committerIsmaël Bouya <ismael.bouya@normalesup.org>2020-04-25 15:49:40 +0200
commita8ef1adb4a90c2524ac09a85463598e5d41d2a4a (patch)
tree28e11151a96e9842f79474923c957c30e548c59b /modules/private/websites/tools/tools/default.nix
parent251c0a135a4153453030dc0e2c132e57934c0095 (diff)
downloadNix-a8ef1adb4a90c2524ac09a85463598e5d41d2a4a.tar.gz
Nix-a8ef1adb4a90c2524ac09a85463598e5d41d2a4a.tar.zst
Nix-a8ef1adb4a90c2524ac09a85463598e5d41d2a4a.zip
Migrate phpbb and remove manual tools pages
Diffstat (limited to 'modules/private/websites/tools/tools/default.nix')
-rw-r--r--modules/private/websites/tools/tools/default.nix41
1 files changed, 23 insertions, 18 deletions
diff --git a/modules/private/websites/tools/tools/default.nix b/modules/private/websites/tools/tools/default.nix
index dbd65e6..0cb7a10 100644
--- a/modules/private/websites/tools/tools/default.nix
+++ b/modules/private/websites/tools/tools/default.nix
@@ -38,6 +38,12 @@ let
38 grocy = pkgs.callPackage ./grocy.nix { 38 grocy = pkgs.callPackage ./grocy.nix {
39 inherit (pkgs.webapps) grocy; 39 inherit (pkgs.webapps) grocy;
40 }; 40 };
41 phpbb = pkgs.callPackage ./phpbb.nix {
42 phpbb = (pkgs.webapps.phpbb.withLangs (l: [ l.fr ])).withExts (e: [
43 e.alfredoramos.markdown e.davidiq.mailinglist e.dmzx.mchat
44 e.empteintesduweb.monitoranswers e.lr94.autosubscribe
45 e.phpbbmodders.adduser ]);
46 };
41 webhooks = pkgs.callPackage ./webhooks.nix { 47 webhooks = pkgs.callPackage ./webhooks.nix {
42 env = config.myEnv.tools.webhooks; 48 env = config.myEnv.tools.webhooks;
43 }; 49 };
@@ -69,6 +75,7 @@ in {
69 shaarli = shaarli.backups; 75 shaarli = shaarli.backups;
70 ttrss = ttrss.backups; 76 ttrss = ttrss.backups;
71 wallabag = wallabag.backups; 77 wallabag = wallabag.backups;
78 phpbb = phpbb.backups;
72 }; 79 };
73 80
74 services.websites.env.tools.modules = 81 services.websites.env.tools.modules =
@@ -81,6 +88,7 @@ in {
81 ++ rompr.apache.modules 88 ++ rompr.apache.modules
82 ++ shaarli.apache.modules 89 ++ shaarli.apache.modules
83 ++ dokuwiki.apache.modules 90 ++ dokuwiki.apache.modules
91 ++ phpbb.apache.modules
84 ++ ldap.apache.modules 92 ++ ldap.apache.modules
85 ++ kanboard.apache.modules; 93 ++ kanboard.apache.modules;
86 94
@@ -110,14 +118,13 @@ in {
110 certName = "eldiron"; 118 certName = "eldiron";
111 addToCerts = true; 119 addToCerts = true;
112 hosts = ["tools.immae.eu" ]; 120 hosts = ["tools.immae.eu" ];
113 root = "/var/lib/ftp/tools.immae.eu"; 121 root = landing;
114 extraConfig = [ 122 extraConfig = [
115 '' 123 ''
116 RedirectMatch 301 ^/vpn(.*)$ https://vpn.immae.eu$1 124 RedirectMatch 301 ^/vpn(.*)$ https://vpn.immae.eu$1
117 RedirectMatch 301 ^/roundcube(.*)$ https://mail.immae.eu/roundcube$1 125 RedirectMatch 301 ^/roundcube(.*)$ https://mail.immae.eu/roundcube$1
118 RedirectMatch 301 ^/jappix(.*)$ https://im.immae.fr/converse 126 RedirectMatch 301 ^/jappix(.*)$ https://im.immae.fr/converse
119 127
120 Alias /landing ${landing}
121 <Directory "${landing}"> 128 <Directory "${landing}">
122 DirectoryIndex index.html 129 DirectoryIndex index.html
123 AllowOverride None 130 AllowOverride None
@@ -127,20 +134,6 @@ in {
127 SetHandler "proxy:unix:${pcfg.tools.socket}|fcgi://localhost" 134 SetHandler "proxy:unix:${pcfg.tools.socket}|fcgi://localhost"
128 </FilesMatch> 135 </FilesMatch>
129 </Directory> 136 </Directory>
130
131 <Directory "/var/lib/ftp/tools.immae.eu">
132 DirectoryIndex index.php index.htm index.html
133 AllowOverride all
134 Require all granted
135 <FilesMatch "\.php$">
136 SetHandler "proxy:unix:${pcfg.tools.socket}|fcgi://localhost"
137 </FilesMatch>
138
139 RewriteEngine On
140 RewriteCond ${landing}%{REQUEST_URI} -f
141 RewriteRule ^(.*)$ /landing/$1 [L]
142 RewriteRule ^$ /landing/ [L]
143 </Directory>
144 '' 137 ''
145 (adminer.apache.vhostConf pcfg.adminer.socket) 138 (adminer.apache.vhostConf pcfg.adminer.socket)
146 ympd.apache.vhostConf 139 ympd.apache.vhostConf
@@ -153,6 +146,7 @@ in {
153 (ldap.apache.vhostConf pcfg.ldap.socket) 146 (ldap.apache.vhostConf pcfg.ldap.socket)
154 (kanboard.apache.vhostConf pcfg.kanboard.socket) 147 (kanboard.apache.vhostConf pcfg.kanboard.socket)
155 (grocy.apache.vhostConf pcfg.grocy.socket) 148 (grocy.apache.vhostConf pcfg.grocy.socket)
149 (phpbb.apache.vhostConf pcfg.phpbb.socket)
156 '' 150 ''
157 Alias /paste /var/lib/fiche 151 Alias /paste /var/lib/fiche
158 <Directory "/var/lib/fiche"> 152 <Directory "/var/lib/fiche">
@@ -219,6 +213,10 @@ in {
219 after = lib.mkAfter dokuwiki.phpFpm.serviceDeps; 213 after = lib.mkAfter dokuwiki.phpFpm.serviceDeps;
220 wants = dokuwiki.phpFpm.serviceDeps; 214 wants = dokuwiki.phpFpm.serviceDeps;
221 }; 215 };
216 phpfpm-phpbb = {
217 after = lib.mkAfter phpbb.phpFpm.serviceDeps;
218 wants = phpbb.phpFpm.serviceDeps;
219 };
222 phpfpm-kanboard = { 220 phpfpm-kanboard = {
223 after = lib.mkAfter kanboard.phpFpm.serviceDeps; 221 after = lib.mkAfter kanboard.phpFpm.serviceDeps;
224 wants = kanboard.phpFpm.serviceDeps; 222 wants = kanboard.phpFpm.serviceDeps;
@@ -289,8 +287,8 @@ in {
289 # Needed to avoid clashes in browser cookies (same domain) 287 # Needed to avoid clashes in browser cookies (same domain)
290 "php_value[session.name]" = "ToolsPHPSESSID"; 288 "php_value[session.name]" = "ToolsPHPSESSID";
291 "php_admin_value[open_basedir]" = builtins.concatStringsSep ":" [ 289 "php_admin_value[open_basedir]" = builtins.concatStringsSep ":" [
292 "/run/wrappers/bin/sendmail" "/var/lib/ftp/tools.immae.eu" 290 "/run/wrappers/bin/sendmail" landing "/tmp"
293 landing "/tmp" "${config.secrets.location}/webapps/webhooks" 291 "${config.secrets.location}/webapps/webhooks"
294 ]; 292 ];
295 }; 293 };
296 phpEnv = { 294 phpEnv = {
@@ -349,6 +347,11 @@ in {
349 group = "wwwrun"; 347 group = "wwwrun";
350 settings = dokuwiki.phpFpm.pool; 348 settings = dokuwiki.phpFpm.pool;
351 }; 349 };
350 phpbb = {
351 user = "wwwrun";
352 group = "wwwrun";
353 settings = phpbb.phpFpm.pool;
354 };
352 ldap = { 355 ldap = {
353 user = "wwwrun"; 356 user = "wwwrun";
354 group = "wwwrun"; 357 group = "wwwrun";
@@ -376,6 +379,7 @@ in {
376 rompr = rompr.activationScript; 379 rompr = rompr.activationScript;
377 shaarli = shaarli.activationScript; 380 shaarli = shaarli.activationScript;
378 dokuwiki = dokuwiki.activationScript; 381 dokuwiki = dokuwiki.activationScript;
382 phpbb = phpbb.activationScript;
379 kanboard = kanboard.activationScript; 383 kanboard = kanboard.activationScript;
380 ldap = ldap.activationScript; 384 ldap = ldap.activationScript;
381 }; 385 };
@@ -383,6 +387,7 @@ in {
383 services.websites.webappDirs = { 387 services.websites.webappDirs = {
384 _adminer = adminer.webRoot; 388 _adminer = adminer.webRoot;
385 "${dokuwiki.apache.webappName}" = dokuwiki.webRoot; 389 "${dokuwiki.apache.webappName}" = dokuwiki.webRoot;
390 "${phpbb.apache.webappName}" = phpbb.webRoot;
386 "${ldap.apache.webappName}" = "${ldap.webRoot}/htdocs"; 391 "${ldap.apache.webappName}" = "${ldap.webRoot}/htdocs";
387 "${rompr.apache.webappName}" = rompr.webRoot; 392 "${rompr.apache.webappName}" = rompr.webRoot;
388 "${shaarli.apache.webappName}" = shaarli.webRoot; 393 "${shaarli.apache.webappName}" = shaarli.webRoot;