56 lines
1.4 KiB
Nix
56 lines
1.4 KiB
Nix
{
|
|
pkgs,
|
|
lib,
|
|
hostPath,
|
|
...
|
|
}: let
|
|
inherit (lib.modules) mkForce;
|
|
|
|
localContainersAddresses = import "${hostPath}/data/containerAddresses.nix";
|
|
in {
|
|
services.roundcube = {
|
|
enable = true;
|
|
hostName = "mail.owo.monster";
|
|
package = pkgs.roundcube.withPlugins (_plugins:
|
|
with pkgs.roundcubePlugins; [
|
|
persistent_login
|
|
]);
|
|
plugins = [
|
|
"persistent_login"
|
|
"managesieve"
|
|
];
|
|
|
|
database = {
|
|
host = localContainersAddresses.containers.postgresql;
|
|
passwordFile = builtins.toFile "pw" "";
|
|
};
|
|
|
|
extraConfig = ''
|
|
$config['smtp_server'] = "tls://mail.owo.monster";
|
|
$config['smtp_user'] = "%u";
|
|
$config['smtp_pass'] = "%p";
|
|
$config['managesieve_host'] = 'tls://mail.owo.monster';
|
|
$config['session_lifetime'] = (60 * 24 * 7 * 2); # 2 Weeks
|
|
$config['product_name'] = 'Chaos Mail';
|
|
$config['username_domain'] = "owo.monster";
|
|
$config['username_domain_forced'] = true;
|
|
$config['log_driver'] = 'syslog';
|
|
$config['smtp_debug'] = true;
|
|
'';
|
|
};
|
|
|
|
systemd.tmpfiles.rules = [
|
|
"d /var/sockets - nginx nginx"
|
|
];
|
|
|
|
systemd.services.nginx.serviceConfig.ReadWritePaths = [
|
|
"/var/sockets"
|
|
];
|
|
|
|
services.nginx.virtualHosts."mail.owo.monster" = {
|
|
forceSSL = mkForce false;
|
|
enableACME = mkForce false;
|
|
extraConfig = "listen unix:/var/sockets/roundcube.sock;";
|
|
};
|
|
}
|