]> git.immae.eu Git - perso/Immae/Config/Nix.git/blobdiff - modules/private/websites/librezo/nextcloud.nix
Cloud Installation for librezo
[perso/Immae/Config/Nix.git] / modules / private / websites / librezo / nextcloud.nix
diff --git a/modules/private/websites/librezo/nextcloud.nix b/modules/private/websites/librezo/nextcloud.nix
new file mode 100644 (file)
index 0000000..9ffd412
--- /dev/null
@@ -0,0 +1,28 @@
+{ lib, pkgs, config,  ... }:
+let
+  cfg = config.myServices.websites.librezo.cloud;
+in {
+  options.myServices.websites.librezo.cloud.enable = lib.mkEnableOption "enable Librezo’s cloud";
+
+  config = lib.mkIf cfg.enable {
+    myServices.tools.cloud.farm.instances.librezo = {
+      nextcloud = pkgs.webapps.nextcloud_22;
+      apps = a: [
+        a.calendar a.spreed a.contacts a.groupfolders a.files_mindmap a.onlyoffice a.talk_matterbridge
+        a.external a.deck a.drawio
+      ];
+    };
+    services.websites.env.production.modules = [ "proxy_fcgi" ];
+    services.websites.env.production.vhostConfs.librezo = {
+      certName     = "librezo";
+      addToCerts   = true;
+      certMainHost = "cloud.librezo.com";
+      hosts        = ["cloud.librezo.com"];
+      root         = config.myServices.tools.cloud.farm.rootDirs.librezo;
+      extraConfig  = [
+        config.myServices.tools.cloud.farm.vhosts.librezo
+      ];
+    };
+  };
+}
+