nixfiles/hosts/hetzner-arm/containers/mail/modules/mailserver/webmail.nix

35 lines
919 B
Nix
Raw Normal View History

{
config,
lib,
...
}: let
2023-09-18 03:56:58 +01:00
inherit (lib.modules) mkIf mkForce;
mailConfig = config.services.mailserver;
2022-11-17 12:06:16 +00:00
in {
2023-09-18 03:56:58 +01:00
config = mkIf (mailConfig.enable && mailConfig.roundcube.enable) {
2022-11-17 12:06:16 +00:00
services.roundcube = {
enable = true;
2023-09-18 03:56:58 +01:00
package = mailConfig.roundcube.package;
plugins =
mailConfig.roundcube.plugins
++ [
"managesieve"
];
hostName = "${mailConfig.roundcube.domain}";
2022-11-17 12:06:16 +00:00
extraConfig = ''
2023-09-18 03:56:58 +01:00
$config['smtp_server'] = "tls://${mailConfig.fqdn}";
2022-11-17 12:06:16 +00:00
$config['smtp_user'] = "%u";
$config['smtp_pass'] = "%p";
2023-09-18 03:56:58 +01:00
$config['managesieve_host'] = 'tls://${mailConfig.fqdn}';
${mailConfig.roundcube.extraConfig}
2022-11-17 12:06:16 +00:00
'';
};
2023-08-09 15:11:04 +01:00
2023-09-18 03:56:58 +01:00
services.nginx.virtualHosts."${mailConfig.roundcube.domain}" = {
forceSSL = mkForce mailConfig.roundcube.forceSSL;
enableACME = mkForce mailConfig.roundcube.enableACME;
2023-08-09 15:11:04 +01:00
};
};
2022-11-17 12:06:16 +00:00
}