X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=modules%2Fprivate%2Fwebsites%2Ftools%2Ftools%2Fdefault.nix;h=dcda15a6d6f936313a246b309c6c3bfc9321bd10;hb=dcac3ec730176549cd52a9a42db2001dc652c30d;hp=dbd65e63ffdb76fcaba36ea56a8368131c74d5b7;hpb=251c0a135a4153453030dc0e2c132e57934c0095;p=perso%2FImmae%2FConfig%2FNix.git diff --git a/modules/private/websites/tools/tools/default.nix b/modules/private/websites/tools/tools/default.nix index dbd65e6..dcda15a 100644 --- a/modules/private/websites/tools/tools/default.nix +++ b/modules/private/websites/tools/tools/default.nix @@ -9,12 +9,13 @@ let ttrss = pkgs.callPackage ./ttrss.nix { inherit (pkgs.webapps) ttrss ttrss-plugins; env = config.myEnv.tools.ttrss; + php = pkgs.php72; }; kanboard = pkgs.callPackage ./kanboard.nix { env = config.myEnv.tools.kanboard; }; wallabag = pkgs.callPackage ./wallabag.nix { - inherit (pkgs.webapps) wallabag; + wallabag = pkgs.webapps.wallabag.override { composerEnv = pkgs.composerEnv.override { php = pkgs.php72; }; }; env = config.myEnv.tools.wallabag; }; yourls = pkgs.callPackage ./yourls.nix { @@ -36,11 +37,20 @@ let env = config.myEnv.tools.phpldapadmin; }; grocy = pkgs.callPackage ./grocy.nix { - inherit (pkgs.webapps) grocy; + grocy = pkgs.webapps.grocy.override { composerEnv = pkgs.composerEnv.override { php = pkgs.php72; }; }; + }; + phpbb = pkgs.callPackage ./phpbb.nix { + phpbb = (pkgs.webapps.phpbb.withLangs (l: [ l.fr ])).withExts (e: [ + e.alfredoramos.markdown e.davidiq.mailinglist e.dmzx.mchat + e.empteintesduweb.monitoranswers e.lr94.autosubscribe + e.phpbbmodders.adduser ]); }; webhooks = pkgs.callPackage ./webhooks.nix { env = config.myEnv.tools.webhooks; }; + dmarc-reports = pkgs.callPackage ./dmarc_reports.nix { + env = config.myEnv.tools.dmarc_reports; + }; landing = pkgs.callPackage ./landing.nix {}; @@ -59,6 +69,7 @@ in { ++ ttrss.keys ++ wallabag.keys ++ yourls.keys + ++ dmarc-reports.keys ++ webhooks.keys; services.duplyBackup.profiles = { @@ -69,6 +80,7 @@ in { shaarli = shaarli.backups; ttrss = ttrss.backups; wallabag = wallabag.backups; + phpbb = phpbb.backups; }; services.websites.env.tools.modules = @@ -81,6 +93,8 @@ in { ++ rompr.apache.modules ++ shaarli.apache.modules ++ dokuwiki.apache.modules + ++ dmarc-reports.apache.modules + ++ phpbb.apache.modules ++ ldap.apache.modules ++ kanboard.apache.modules; @@ -110,14 +124,13 @@ in { certName = "eldiron"; addToCerts = true; hosts = ["tools.immae.eu" ]; - root = "/var/lib/ftp/tools.immae.eu"; + root = landing; extraConfig = [ '' RedirectMatch 301 ^/vpn(.*)$ https://vpn.immae.eu$1 RedirectMatch 301 ^/roundcube(.*)$ https://mail.immae.eu/roundcube$1 RedirectMatch 301 ^/jappix(.*)$ https://im.immae.fr/converse - Alias /landing ${landing} DirectoryIndex index.html AllowOverride None @@ -127,20 +140,6 @@ in { SetHandler "proxy:unix:${pcfg.tools.socket}|fcgi://localhost" - - - DirectoryIndex index.php index.htm index.html - AllowOverride all - Require all granted - - SetHandler "proxy:unix:${pcfg.tools.socket}|fcgi://localhost" - - - RewriteEngine On - RewriteCond ${landing}%{REQUEST_URI} -f - RewriteRule ^(.*)$ /landing/$1 [L] - RewriteRule ^$ /landing/ [L] - '' (adminer.apache.vhostConf pcfg.adminer.socket) ympd.apache.vhostConf @@ -153,6 +152,8 @@ in { (ldap.apache.vhostConf pcfg.ldap.socket) (kanboard.apache.vhostConf pcfg.kanboard.socket) (grocy.apache.vhostConf pcfg.grocy.socket) + (phpbb.apache.vhostConf pcfg.phpbb.socket) + (dmarc-reports.apache.vhostConf pcfg.dmarc-reports.socket) '' Alias /paste /var/lib/fiche @@ -219,6 +220,10 @@ in { after = lib.mkAfter dokuwiki.phpFpm.serviceDeps; wants = dokuwiki.phpFpm.serviceDeps; }; + phpfpm-phpbb = { + after = lib.mkAfter phpbb.phpFpm.serviceDeps; + wants = phpbb.phpFpm.serviceDeps; + }; phpfpm-kanboard = { after = lib.mkAfter kanboard.phpFpm.serviceDeps; wants = kanboard.phpFpm.serviceDeps; @@ -256,7 +261,7 @@ in { description = "Tiny Tiny RSS feeds update daemon"; serviceConfig = { User = "wwwrun"; - ExecStart = "${pkgs.php}/bin/php ${ttrss.webRoot}/update.php --daemon"; + ExecStart = "${pkgs.php72}/bin/php ${ttrss.webRoot}/update.php --daemon"; StandardOutput = "syslog"; StandardError = "syslog"; PermissionsStartOnly = true; @@ -289,13 +294,14 @@ in { # Needed to avoid clashes in browser cookies (same domain) "php_value[session.name]" = "ToolsPHPSESSID"; "php_admin_value[open_basedir]" = builtins.concatStringsSep ":" [ - "/run/wrappers/bin/sendmail" "/var/lib/ftp/tools.immae.eu" - landing "/tmp" "${config.secrets.location}/webapps/webhooks" + "/run/wrappers/bin/sendmail" landing "/tmp" + "${config.secrets.location}/webapps/webhooks" ]; }; phpEnv = { CONTACT_EMAIL = config.myEnv.tools.contact; }; + phpPackage = pkgs.php72; }; devtools = { user = "wwwrun"; @@ -312,42 +318,65 @@ in { "php_admin_value[open_basedir]" = "/run/wrappers/bin/sendmail:/var/lib/ftp/devtools.immae.eu:/tmp"; }; phpOptions = config.services.phpfpm.phpOptions + '' - extension=${pkgs.php}/lib/php/extensions/mysqli.so - extension=${pkgs.phpPackages.redis}/lib/php/extensions/redis.so - extension=${pkgs.phpPackages.apcu}/lib/php/extensions/apcu.so - zend_extension=${pkgs.php}/lib/php/extensions/opcache.so + extension=${pkgs.php72}/lib/php/extensions/mysqli.so + extension=${pkgs.php72Packages.redis}/lib/php/extensions/redis.so + extension=${pkgs.php72Packages.apcu}/lib/php/extensions/apcu.so + zend_extension=${pkgs.php72}/lib/php/extensions/opcache.so ''; + phpPackage = pkgs.php72; }; adminer = adminer.phpFpm; ttrss = { user = "wwwrun"; group = "wwwrun"; settings = ttrss.phpFpm.pool; + phpPackage = pkgs.php72; }; wallabag = { user = "wwwrun"; group = "wwwrun"; settings = wallabag.phpFpm.pool; + phpPackage = pkgs.php72; }; yourls = { user = "wwwrun"; group = "wwwrun"; settings = yourls.phpFpm.pool; + phpPackage = pkgs.php72; }; rompr = { user = "wwwrun"; group = "wwwrun"; settings = rompr.phpFpm.pool; + phpPackage = pkgs.php72; }; shaarli = { user = "wwwrun"; group = "wwwrun"; settings = shaarli.phpFpm.pool; + phpPackage = pkgs.php72; + }; + dmarc-reports = { + user = "wwwrun"; + group = "wwwrun"; + settings = dmarc-reports.phpFpm.pool; + phpEnv = dmarc-reports.phpFpm.phpEnv; + phpOptions = config.services.phpfpm.phpOptions + '' + extension=${pkgs.php72}/lib/php/extensions/mysqli.so + ''; + phpPackage = pkgs.php72; }; dokuwiki = { user = "wwwrun"; group = "wwwrun"; settings = dokuwiki.phpFpm.pool; + phpPackage = pkgs.php72; + }; + phpbb = { + user = "wwwrun"; + group = "wwwrun"; + settings = phpbb.phpFpm.pool; + phpPackage = pkgs.php72; }; ldap = { user = "wwwrun"; @@ -359,11 +388,13 @@ in { user = "wwwrun"; group = "wwwrun"; settings = kanboard.phpFpm.pool; + phpPackage = pkgs.php72; }; grocy = { user = "wwwrun"; group = "wwwrun"; settings = grocy.phpFpm.pool; + phpPackage = pkgs.php72; }; }; @@ -376,13 +407,16 @@ in { rompr = rompr.activationScript; shaarli = shaarli.activationScript; dokuwiki = dokuwiki.activationScript; + phpbb = phpbb.activationScript; kanboard = kanboard.activationScript; ldap = ldap.activationScript; }; services.websites.webappDirs = { _adminer = adminer.webRoot; + "${dmarc-reports.apache.webappName}" = dmarc-reports.webRoot; "${dokuwiki.apache.webappName}" = dokuwiki.webRoot; + "${phpbb.apache.webappName}" = phpbb.webRoot; "${ldap.apache.webappName}" = "${ldap.webRoot}/htdocs"; "${rompr.apache.webappName}" = rompr.webRoot; "${shaarli.apache.webappName}" = shaarli.webRoot;