X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=modules%2Fprivate%2Fwebsites%2Ftools%2Fmail%2Fdefault.nix;h=8de7acb81bbba397a4209a2e0daff4c2ec617e53;hb=bbea22c02b6c059a6be1064391f06737ee244ba6;hp=4636a6cbfbbcd6b1e31b4e45345089d68b0b16bf;hpb=2053ddac783c931053676ebc2b02bc8b82d89399;p=perso%2FImmae%2FConfig%2FNix.git diff --git a/modules/private/websites/tools/mail/default.nix b/modules/private/websites/tools/mail/default.nix index 4636a6c..8de7acb 100644 --- a/modules/private/websites/tools/mail/default.nix +++ b/modules/private/websites/tools/mail/default.nix @@ -3,6 +3,7 @@ let roundcubemail = pkgs.callPackage ./roundcubemail.nix { inherit (pkgs.webapps) roundcubemail; env = config.myEnv.tools.roundcubemail; + inherit config; }; rainloop = pkgs.callPackage ./rainloop.nix { rainloop = pkgs.rainloop-community; @@ -20,10 +21,51 @@ in ]; config = lib.mkIf cfg.enable { - services.duplyBackup.profiles.mail.excludeFile = '' - + ${rainloop.varDir} - + ${roundcubemail.varDir} - ''; + #myServices.chatonsProperties.services.mail-rainloop = { + # file.datetime = "2022-08-22T00:30:00"; + # service = { + # name = "Rainloop"; + # description = "Simple, modern & fast web-based email client"; + # website = "https://mail.immae.eu/rainloop"; + # logo = "https://www.rainloop.net/static/img/logo-16x16.png"; + # status.level = "ERROR"; + # status.description = "Stopped due to CVE-2022-29360"; + # registration."" = ["MEMBER" "CLIENT"]; + # registration.load = "OPEN"; + # install.type = "PACKAGE"; + # }; + # software = { + # name = "Rainloop"; + # website = "https://www.rainloop.net/"; + # license.url = "https://www.rainloop.net/licensing/"; + # license.name = "GNU Affero General Public License v3.0"; + # version = rainloop.webRoot.version; + # source.url = "https://github.com/RainLoop/rainloop-webmail"; + # }; + #}; + #myServices.chatonsProperties.services.mail-roundcube = { + # file.datetime = "2022-08-22T00:30:00"; + # service = { + # name = "Roundcube"; + # description = "The Roundcube Webmail suite"; + # website = "https://mail.immae.eu/roundcube"; + # logo = "https://mail.immae.eu/roundcube/skins/elastic/images/favicon.ico"; + # status.level = "OK"; + # status.description = "OK"; + # registration."" = ["MEMBER" "CLIENT"]; + # registration.load = "OPEN"; + # install.type = "PACKAGE"; + # }; + # software = { + # name = "Roundcube"; + # website = "https://roundcube.net/"; + # license.url = "https://github.com/roundcube/roundcubemail/blob/master/LICENSE"; + # license.name = "GNU General Public License v3.0"; + # version = roundcubemail.webRoot.version; + # source.url = "https://github.com/roundcube/roundcubemail"; + # modules = map (a: a.pluginName) roundcubemail.webRoot.plugins ++ map (a: a.skinName) roundcubemail.webRoot.skins; + # }; + #}; secrets.keys = roundcubemail.keys; services.websites.env.tools.modules = @@ -35,12 +77,12 @@ in certName = "mail"; addToCerts = true; hosts = ["mail.immae.eu"]; - root = "/run/current-system/webapps/_mail"; + root = ./www; extraConfig = [ (rainloop.apache.vhostConf pcfg.rainloop.socket) (roundcubemail.apache.vhostConf pcfg.roundcubemail.socket) '' - + Require all granted Options -Indexes @@ -65,25 +107,18 @@ in phpOptions = config.services.phpfpm.phpOptions + '' date.timezone = 'CET' ''; - phpPackage = pkgs.php72.withExtensions({ enabled, all }: enabled ++ [ all.imagick ]); + phpPackage = pkgs.php72.withExtensions({ enabled, all }: enabled ++ [ all.imagick all.redis ]); }; services.phpfpm.pools.rainloop = { user = "wwwrun"; group = "wwwrun"; settings = rainloop.phpFpm.pool; - phpPackage = pkgs.php72; + phpPackage = pkgs.php72.withExtensions({ enabled, all }: enabled ++ [ all.redis ]); }; system.activationScripts = { roundcubemail = roundcubemail.activationScript; rainloop = rainloop.activationScript; }; - - services.websites.webappDirs = { - _mail = ./www; - "${roundcubemail.apache.webappName}" = roundcubemail.webRoot; - "${rainloop.apache.webappName}" = rainloop.webRoot; - }; - }; }