X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=virtual%2Feldiron.nix;h=36b765c1dae2ea31991d9e5975a94782941dfd0f;hb=66b5bbf6214e8b2f599c394c442638257b149b55;hp=d90e722d13f3b1ecda60b05154deed18ff576bd8;hpb=1d4ccb2c4d48bb510ea2cf22ff1b96fc887d8a00;p=perso%2FImmae%2FConfig%2FNix.git 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 @@ }; }; - environment.systemPackages = [ + environment.systemPackages = let + # FIXME: move it to nextcloud + occ = pkgs.writeScriptBin "nextcloud-occ" '' + #! ${pkgs.stdenv.shell} + cd ${mypkgs.nextcloud.webRoot} + NEXTCLOUD_CONFIG_DIR="${mypkgs.nextcloud.webRoot}/config" \ + exec \ + ${config.services.phpfpm.phpPackage}/bin/php \ + -c ${config.services.phpfpm.phpPackage}/etc/php.ini \ + occ $* + ''; + in [ pkgs.telnet pkgs.vim + occ ]; security.acme.certs = { @@ -55,6 +67,7 @@ "tools.immae.eu" = null; "connexionswing.immae.eu" = null; "sandetludo.immae.eu" = null; + "cloud.immae.eu" = null; }; }; # "connexionswing" = { @@ -76,6 +89,13 @@ services.ympd = mypkgs.ympd.config // { enable = true; }; services.phpfpm = { + # /!\ phppackage is used in nextcloud configuation + phpOptions = '' + ; For nextcloud + extension=${pkgs.phpPackages.redis}/lib/php/extensions/redis.so + ; For nextcloud + extension=${pkgs.phpPackages.apcu}/lib/php/extensions/apcu.so + ''; extraConfig = '' log_level = notice ''; @@ -83,12 +103,14 @@ adminer = mypkgs.adminer.phpFpm.pool; connexionswing_dev = mypkgs.connexionswing_dev.phpFpm.pool; connexionswing_prod = mypkgs.connexionswing_prod.phpFpm.pool; + nextcloud = mypkgs.nextcloud.phpFpm.pool; }; }; system.activationScripts = { connexionswing_dev = mypkgs.connexionswing_dev.activationScript; connexionswing_prod = mypkgs.connexionswing_prod.activationScript; + nextcloud = mypkgs.nextcloud.activationScript; httpd = '' install -d -m 0755 /var/lib/acme/acme-challenge ''; @@ -160,6 +182,7 @@ extraModules = pkgs.lib.lists.unique ( mypkgs.adminer.apache.modules ++ + mypkgs.nextcloud.apache.modules ++ mypkgs.connexionswing_dev.apache.modules ++ mypkgs.connexionswing_prod.apache.modules ++ mypkgs.ympd.apache.modules ++ @@ -202,6 +225,14 @@ mypkgs.connexionswing_dev.apache.vhostConf ]; }) + (withSSL "eldiron" // { + listen = [ { ip = "*"; port = 443; } ]; + hostName = "cloud.immae.eu"; + documentRoot = mypkgs.nextcloud.webRoot; + extraConfig = builtins.concatStringsSep "\n" [ + mypkgs.nextcloud.apache.vhostConf + ]; + }) { # Should go last, default fallback listen = [ { ip = "*"; port = 80; } ]; hostName = "redirectSSL";