From ac47b99c5b30d38932c2eaba82bce30fd5168c8b Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Fri, 16 Jun 2023 22:54:41 -0400 Subject: upgrade mailu --- modules/mail/files/mailu.env | 29 +++++++--- modules/mail/templates/docker-compose.yml.erb | 82 +++++++++++++++++++++------ 2 files changed, 84 insertions(+), 27 deletions(-) diff --git a/modules/mail/files/mailu.env b/modules/mail/files/mailu.env index b176542..cf76acc 100644 --- a/modules/mail/files/mailu.env +++ b/modules/mail/files/mailu.env @@ -1,36 +1,47 @@ -MAILU_VERSION=1.7 SUBNET=192.168.203.0/24 DOMAIN=tozt.net HOSTNAMES=mail.tozt.net POSTMASTER=admin TLS_FLAVOR=letsencrypt -AUTH_RATELIMIT=1000/minute;10000/hour +AUTH_RATELIMIT_IP=1000/hour +AUTH_RATELIMIT_USER=1000/day DISABLE_STATISTICS=True ADMIN=true -WEBMAIL=rainloop +WEBMAIL=snappymail +API=false WEBDAV=radicale +ANTIVIRUS=none +SCAN_MACROS=false MESSAGE_SIZE_LIMIT=50000000 +MESSAGE_RATELIMIT=200/day RELAYNETS= RELAYHOST= +FETCHMAIL_ENABLED=False FETCHMAIL_DELAY=600 RECIPIENT_DELIMITER=+ - DMARC_RUA=admin DMARC_RUF=admin - WELCOME=false +WELCOME_SUBJECT=Welcome to your new email account +WELCOME_BODY=Welcome to your new email account, if you can read this, then it is configured properly! +COMPRESSION= +COMPRESSION_LEVEL= WEBROOT_REDIRECT=/webmail WEB_ADMIN=/admin WEB_WEBMAIL=/webmail +WEB_API= SITENAME=tozt.net WEBSITE=https://tozt.net COMPOSE_PROJECT_NAME=mailu -PASSWORD_SCHEME=BLF-CRYPT - +CREDENTIAL_ROUNDS=12 +REAL_IP_HEADER= +REAL_IP_FROM= +REJECT_UNLISTED_RECIPIENT= LOG_LEVEL=WARNING - -DB_FLAVOR=sqlite +TZ=America/New_York +DEFAULT_SPAM_THRESHOLD=80 +API_TOKEN= diff --git a/modules/mail/templates/docker-compose.yml.erb b/modules/mail/templates/docker-compose.yml.erb index f31c1cf..bcd7554 100644 --- a/modules/mail/templates/docker-compose.yml.erb +++ b/modules/mail/templates/docker-compose.yml.erb @@ -12,14 +12,20 @@ services: restart: always volumes: - "/media/persistent/redis:/data" - + depends_on: + - resolver + dns: + - 192.168.203.254 + # Core services front: - image: ${DOCKER_ORG:-mailu}/${DOCKER_PREFIX:-}nginx:${MAILU_VERSION:-1.7} + image: ${DOCKER_ORG:-ghcr.io/mailu}/${DOCKER_PREFIX:-}nginx:${MAILU_VERSION:-2.0} restart: always env_file: mailu.env logging: - driver: json-file + driver: journald + options: + tag: mailu-front ports: - "<%= @bind_address %>:80:80" - "<%= @bind_address %>:443:443" @@ -30,12 +36,20 @@ services: - "<%= @bind_address %>:995:995" - "<%= @bind_address %>:143:143" - "<%= @bind_address %>:993:993" + networks: + - default + - webmail + - radicale volumes: - "/media/persistent/certs:/certs" - - "/media/persistent/overrides/nginx:/overrides" + - "/media/persistent/overrides/nginx:/overrides:ro" + depends_on: + - resolver + dns: + - 192.168.203.254 resolver: - image: ${DOCKER_ORG:-mailu}/${DOCKER_PREFIX:-}unbound:${MAILU_VERSION:-1.7} + image: ${DOCKER_ORG:-ghcr.io/mailu}/${DOCKER_PREFIX:-}unbound:${MAILU_VERSION:-2.0} env_file: mailu.env restart: always networks: @@ -43,47 +57,72 @@ services: ipv4_address: 192.168.203.254 admin: - image: ${DOCKER_ORG:-mailu}/${DOCKER_PREFIX:-}admin:${MAILU_VERSION:-1.7} + image: ${DOCKER_ORG:-ghcr.io/mailu}/${DOCKER_PREFIX:-}admin:${MAILU_VERSION:-2.0} restart: always env_file: mailu.env + logging: + driver: journald + options: + tag: mailu-admin volumes: - "/media/persistent/data:/data" - "/media/persistent/dkim:/dkim" depends_on: - redis + - resolver + dns: + - 192.168.203.254 imap: - image: ${DOCKER_ORG:-mailu}/${DOCKER_PREFIX:-}dovecot:${MAILU_VERSION:-1.7} + image: ${DOCKER_ORG:-ghcr.io/mailu}/${DOCKER_PREFIX:-}dovecot:${MAILU_VERSION:-2.0} restart: always env_file: mailu.env + logging: + driver: journald + options: + tag: mailu-imap volumes: - "/media/persistent/mail:/mail" - - "/media/persistent/overrides:/overrides" + - "/media/persistent/overrides/dovecot:/overrides:ro" depends_on: - front + - resolver + dns: + - 192.168.203.254 smtp: - image: ${DOCKER_ORG:-mailu}/${DOCKER_PREFIX:-}postfix:${MAILU_VERSION:-1.7} + image: ${DOCKER_ORG:-ghcr.io/mailu}/${DOCKER_PREFIX:-}postfix:${MAILU_VERSION:-2.0} restart: always env_file: mailu.env + logging: + driver: journald + options: + tag: mailu-smtp volumes: - - "/media/persistent/overrides:/overrides" + - "/media/persistent/mailqueue:/queue" + - "/media/persistent/overrides/postfix:/overrides:ro" depends_on: - front - resolver dns: - 192.168.203.254 + antispam: - image: ${DOCKER_ORG:-mailu}/${DOCKER_PREFIX:-}rspamd:${MAILU_VERSION:-1.7} + image: ${DOCKER_ORG:-ghcr.io/mailu}/${DOCKER_PREFIX:-}rspamd:${MAILU_VERSION:-2.0} + hostname: antispam restart: always env_file: mailu.env + logging: + driver: journald + options: + tag: mailu-antispam volumes: - "/media/persistent/filter:/var/lib/rspamd" - - "/media/persistent/dkim:/dkim" - - "/media/persistent/overrides/rspamd:/etc/rspamd/override.d" + - "/media/persistent/overrides/rspamd:/overrides:ro" depends_on: - front + - redis - resolver dns: - 192.168.203.254 @@ -91,23 +130,26 @@ services: # Optional services webdav: - image: ${DOCKER_ORG:-mailu}/${DOCKER_PREFIX:-}radicale:${MAILU_VERSION:-1.7} + image: ${DOCKER_ORG:-ghcr.io/mailu}/${DOCKER_PREFIX:-}radicale:${MAILU_VERSION:-2.0} restart: always - env_file: mailu.env volumes: - "/media/persistent/dav:/data" + networks: + - radicale # Webmail webmail: - image: ${DOCKER_ORG:-mailu}/${DOCKER_PREFIX:-}rainloop:${MAILU_VERSION:-1.7} + image: ${DOCKER_ORG:-ghcr.io/mailu}/${DOCKER_PREFIX:-}webmail:${MAILU_VERSION:-2.0} restart: always env_file: mailu.env volumes: - "/media/persistent/webmail:/data" + - "/media/persistent/overrides/snappymail:/overrides:ro" + networks: + - webmail depends_on: - - imap - + - front networks: default: @@ -116,3 +158,7 @@ networks: driver: default config: - subnet: 192.168.203.0/24 + radicale: + driver: bridge + webmail: + driver: bridge -- cgit v1.2.3-54-g00ecf