Files
system-config/system/hosts/mcp/containers/email.nix

45 lines
1.2 KiB
Nix

{ config, ... }:
let
inherit (import ./lib.nix config) blazestar;
in {
virtualisation.oci-containers.containers.docker-mailserver = {
image = "ghcr.io/docker-mailserver/docker-mailserver:latest";
hostname = "mail.${blazestar}";
autoStart = true;
ports = [
"465:465"
"587:587"
"993:993"
];
volumes = [
"/tank/mailserver/mail-data:/var/mail"
"/tank/mailserver/mail-state:/var/mail-state"
"/tank/mailserver/mail-logs:/var/log/mail"
"/tank/mailserver/config:/tmp/docker-mailserver"
"/etc/localtime:/etc/localtime:ro"
];
# environment = {
# See https://docker-mailserver.github.io/docker-mailserver/latest/config/environment/
# docker-mailserver uses 0 and 1 for false and true respectively
# ENABLE_RSPAMD="1";
# ENABLE_CLAMAV="1";
# ENABLE_FAIL2BAN="1";
# LOG_LEVEL="info";
# ENABLE_POP3="0";
# ENABLE_IMAP="1";
# };
environmentFiles = [
./email/mailserver.env
];
extraOptions = [
# add network admin capability for Fail2Ban
"--cap-add=NET_ADMIN"
];
labels = {
"traefik.enable" = "true";
"traefik.tcp.routers.mail.service" = "mailserver";
};
};
}