setting up nix mailserver

This commit is contained in:
Chris Cochrun 2024-12-26 13:36:57 -06:00
parent 4d7f393319
commit 6a5c8eeda9
2 changed files with 59 additions and 52 deletions

View file

@ -1,18 +1,32 @@
{ pkgs, lib, config, ... }: { pkgs, lib, config, ... }:
let
fqdn = "mail.cochrun.xyz";
dn = "cochrun.xyz";
in
with lib; with lib;
{ {
services.caddy = {
virtualHosts = {
"mail.cochrun.xyz".extraConfig = ''
tls internal {
key_type rsa2048
}
respond "Hello DMS"
'' ;
};
};
mailserver = { mailserver = {
enable = true; enable = true;
fqdn = "mail.cochrun.xyz"; fqdn = fqdn;
domains = [ "cochrun.xyz" ]; domains = [ dn ];
enableManageSieve = true; enableManageSieve = true;
mailDirectory = "/home/chris/mailserver/docker-data/mail-data"; mailDirectory = "/home/chris/mailserver/docker-data/mail-data";
mailboxes = { mailboxes = {
Archive = { Archive = {
auto = "subsribe"; auto = "subsribe";
specialUse = "Archive"; specialUse = "Archive";
} };
Drafts = { Drafts = {
auto = "subscribe"; auto = "subscribe";
specialUse = "Drafts"; specialUse = "Drafts";
@ -33,8 +47,8 @@ with lib;
useFsLayout = true; useFsLayout = true;
hierarchySeparator = "/"; hierarchySeparator = "/";
certificateScheme = "acme"; certificateScheme = "acme";
certificateFile = "/var/lib/caddy/.local/share/caddy/certificates/acme-v02.api.letsencrypt.org-directory/mail.cochrun.xyz/mail.cochrun.xyz.crt"; 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/mail.cochrun.xyz/mail.cochrun.xyz.key"; keyFile = "/var/lib/caddy/.local/share/caddy/certificates/acme-v02.api.letsencrypt.org-directory/${fqdn}/${fqdn}.key";
loginAccounts = { loginAccounts = {
"chris@cochrun.xyz" = { "chris@cochrun.xyz" = {
hashedPasswordFile = "/home/chris/mailp"; hashedPasswordFile = "/home/chris/mailp";
@ -45,8 +59,8 @@ with lib;
"clocb@cochrun.xyz" "clocb@cochrun.xyz"
"higdry@cochrun.xyz" "higdry@cochrun.xyz"
"clin@cochrun.xyz" "clin@cochrun.xyz"
] ];
} };
} };
} };
} }

View file

@ -8,6 +8,7 @@
../../modules/servers.nix ../../modules/servers.nix
../../pkgs/base-packages.nix ../../pkgs/base-packages.nix
../../modules/audiobookshelf.nix ../../modules/audiobookshelf.nix
../../modules/mailserver.nix
# ../../modules/matrix.nix # ../../modules/matrix.nix
]; ];
@ -299,14 +300,6 @@
reverse_proxy http://127.0.0.1:3000 reverse_proxy http://127.0.0.1:3000
''; '';
}; };
virtualHosts = {
"mail.cochrun.xyz".extraConfig = ''
tls internal {
key_type rsa2048
}
respond "Hello DMS"
'' ;
};
virtualHosts = { virtualHosts = {
"jelly.cochrun.xyz".extraConfig = '' "jelly.cochrun.xyz".extraConfig = ''
reverse_proxy localhost:8096 reverse_proxy localhost:8096