summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2023-06-16 22:54:41 -0400
committerJesse Luehrs <doy@tozt.net>2023-06-16 22:54:41 -0400
commitac47b99c5b30d38932c2eaba82bce30fd5168c8b (patch)
tree3b44bb2fe083e83c08e761c973a4f3f380be99be
parent98da424021655ba43cc9c547cde506740dfe16d1 (diff)
downloadpuppet-tozt-ac47b99c5b30d38932c2eaba82bce30fd5168c8b.tar.gz
puppet-tozt-ac47b99c5b30d38932c2eaba82bce30fd5168c8b.zip
upgrade mailu
-rw-r--r--modules/mail/files/mailu.env29
-rw-r--r--modules/mail/templates/docker-compose.yml.erb82
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