Get domain url from machine.vHost config (except for cache).
Add turn server option to nextcloud (untested).
This commit is contained in:
parent
ce2c259059
commit
a4fde6972f
4 changed files with 93 additions and 62 deletions
|
@ -4,20 +4,22 @@ with lib;
|
|||
|
||||
mkIf (elem "mailserver" config.machine.services) {
|
||||
mailserver = let
|
||||
cfg = config.machine;
|
||||
domain = config.machine.domain;
|
||||
mkFqdnAlias = name: [ "${name}@${domain}" "${name}@mail.${domain}" ];
|
||||
fdomain = (findFirst (s: s.service == "mail") cfg cfg.vHosts).domain;
|
||||
mkFqdnAlias = name: [ "${name}@${domain}" "${name}@${fdomain}" ];
|
||||
mkUser = user: rec {
|
||||
name = "${user.name}@${domain}";
|
||||
value = {
|
||||
hashedPassword = (fileContents "${config.machine.secretPath}/${user.name}.mail");
|
||||
aliases = [ "${user.name}@mail.${domain}" ] ++ (flatten (map mkFqdnAlias user.aliases));
|
||||
hashedPassword = (fileContents "${cfg.secretPath}/${user.name}.mail");
|
||||
aliases = [ "${user.name}@${fdomain}" ] ++ (flatten (map mkFqdnAlias user.aliases));
|
||||
};
|
||||
};
|
||||
in rec {
|
||||
enable = true;
|
||||
fqdn = "mail.${domain}";
|
||||
domains = [ domain ];
|
||||
loginAccounts = listToAttrs (map mkUser config.machine.mailAccounts);
|
||||
fqdn = fdomain;
|
||||
domains = [ fdomain domain ];
|
||||
loginAccounts = listToAttrs (map mkUser cfg.mailAccounts);
|
||||
|
||||
# Use Let's Encrypt certificates. Note that this needs to set up a stripped
|
||||
# down nginx and opens port 80.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue