diff --git a/modules/mailserver.nix b/modules/mailserver.nix index 372bfa7..0bf9e00 100644 --- a/modules/mailserver.nix +++ b/modules/mailserver.nix @@ -1,52 +1,66 @@ { pkgs, lib, config, ... }: +let + fqdn = "mail.cochrun.xyz"; + dn = "cochrun.xyz"; +in with lib; { - mailserver = { - enable = true; - fqdn = "mail.cochrun.xyz"; - domains = [ "cochrun.xyz" ]; - enableManageSieve = true; - mailDirectory = "/home/chris/mailserver/docker-data/mail-data"; - mailboxes = { - Archive = { - auto = "subsribe"; - specialUse = "Archive"; - } - Drafts = { - auto = "subscribe"; - specialUse = "Drafts"; + services.caddy = { + virtualHosts = { + "mail.cochrun.xyz".extraConfig = '' + tls internal { + key_type rsa2048 + } + respond "Hello DMS" + '' ; + }; + }; + mailserver = { + enable = true; + fqdn = fqdn; + domains = [ dn ]; + enableManageSieve = true; + mailDirectory = "/home/chris/mailserver/docker-data/mail-data"; + mailboxes = { + Archive = { + auto = "subsribe"; + specialUse = "Archive"; + }; + Drafts = { + auto = "subscribe"; + specialUse = "Drafts"; + }; + Junk = { + auto = "subscribe"; + specialUse = "Junk"; + }; + Sent = { + auto = "subscribe"; + specialUse = "Sent"; + }; + Trash = { + auto = "no"; + specialUse = "Trash"; + }; }; - Junk = { - auto = "subscribe"; - specialUse = "Junk"; - }; - Sent = { - auto = "subscribe"; - specialUse = "Sent"; - }; - Trash = { - auto = "no"; - specialUse = "Trash"; + useFsLayout = true; + hierarchySeparator = "/"; + certificateScheme = "acme"; + certificateFile = "/var/lib/caddy/.local/share/caddy/certificates/acme-v02.api.letsencrypt.org-directory/${fqdn}/${fqdn}.crt"; + keyFile = "/var/lib/caddy/.local/share/caddy/certificates/acme-v02.api.letsencrypt.org-directory/${fqdn}/${fqdn}.key"; + loginAccounts = { + "chris@cochrun.xyz" = { + hashedPasswordFile = "/home/chris/mailp"; + aliases = [ + "postmaster@cochrun.xyz" + "cxda@cochrun.xyz" + "ceth@cochrun.xyz" + "clocb@cochrun.xyz" + "higdry@cochrun.xyz" + "clin@cochrun.xyz" + ]; + }; }; }; - useFsLayout = true; - hierarchySeparator = "/"; - certificateScheme = "acme"; - certificateFile = "/var/lib/caddy/.local/share/caddy/certificates/acme-v02.api.letsencrypt.org-directory/mail.cochrun.xyz/mail.cochrun.xyz.crt"; - keyFile = "/var/lib/caddy/.local/share/caddy/certificates/acme-v02.api.letsencrypt.org-directory/mail.cochrun.xyz/mail.cochrun.xyz.key"; - loginAccounts = { - "chris@cochrun.xyz" = { - hashedPasswordFile = "/home/chris/mailp"; - aliases = [ - "postmaster@cochrun.xyz" - "cxda@cochrun.xyz" - "ceth@cochrun.xyz" - "clocb@cochrun.xyz" - "higdry@cochrun.xyz" - "clin@cochrun.xyz" - ] - } - } - } } diff --git a/systems/dalinar/configuration.nix b/systems/dalinar/configuration.nix index c567ebd..87bf74d 100644 --- a/systems/dalinar/configuration.nix +++ b/systems/dalinar/configuration.nix @@ -8,6 +8,7 @@ ../../modules/servers.nix ../../pkgs/base-packages.nix ../../modules/audiobookshelf.nix + ../../modules/mailserver.nix # ../../modules/matrix.nix ]; @@ -299,14 +300,6 @@ reverse_proxy http://127.0.0.1:3000 ''; }; - virtualHosts = { - "mail.cochrun.xyz".extraConfig = '' - tls internal { - key_type rsa2048 - } - respond "Hello DMS" - '' ; - }; virtualHosts = { "jelly.cochrun.xyz".extraConfig = '' reverse_proxy localhost:8096