setting up nix mailserver
This commit is contained in:
		
							parent
							
								
									4d7f393319
								
							
						
					
					
						commit
						6a5c8eeda9
					
				
					 2 changed files with 59 additions and 52 deletions
				
			
		| 
						 | 
				
			
			@ -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"
 | 
			
		||||
      ]
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue