add managesieve and rainloop

This commit is contained in:
2025-01-13 14:14:20 +11:00
parent 63dd7acd2b
commit 072ebc5d6a
+45 -4
View File
@@ -22,11 +22,30 @@ x-mailserver-service:
ENABLE_MANAGESIEVE: "${ENABLE_MANAGESIEVE:-1}" ENABLE_MANAGESIEVE: "${ENABLE_MANAGESIEVE:-1}"
RELAY_HOST: "${RELAY_HOST:-}" RELAY_HOST: "${RELAY_HOST:-}"
POSTMASTER_ADDRESS: "${POSTMASTER_ADDRESS:-postmaster@example.com}" POSTMASTER_ADDRESS: "${POSTMASTER_ADDRESS:-postmaster@example.com}"
#~ SSL_TYPE=letsencrypt
SSL_TYPE: "${SSL_TYPE:-manual}" SSL_TYPE: "${SSL_TYPE:-manual}"
SSL_CERT_PATH: "/etc/ssl/mail/fullchain.pem" SSL_CERT_PATH: "/etc/ssl/mail/fullchain.pem"
SSL_KEY_PATH: "/etc/ssl/mail/privkey.pem" SSL_KEY_PATH: "/etc/ssl/mail/privkey.pem"
DKIM_SELECTOR: "${DKIM_SELECTOR:-mail}" DKIM_SELECTOR: "${DKIM_SELECTOR:-mail}"
DKIM_DOMAIN: "${DKIM_DOMAIN:-freedoh.net}" DKIM_DOMAIN: "${DKIM_DOMAIN:-freedoh.net}"
# ???
PERMIT_DOCKER=connected-networks
POSTFIX_INET_PROTOCOLS=ipv4
ENABLE_TLS=1
TLS_LEVEL=modern
ENABLE_POSTGREY=1
ENABLE_RSPAMD=1
SMTP_ONLY=0
ENABLE_SRS=1
ENABLE_QUOTAS=1
LOG_LEVEL=info
ENABLE_LDAP=0
LDAP_SERVER_HOST=ldap.example.com
ENABLE_FETCHMAIL=0
ENABLE_DKIM=1
ENABLE_SPF=1
SPOOF_PROTECTION=0
ENABLE_MANAGESIEVE=1
volumes: volumes:
- dmsdata:/var/mail - dmsdata:/var/mail
- dmsstate:/var/mail-state - dmsstate:/var/mail-state
@@ -39,6 +58,7 @@ x-mailserver-service:
- "587:587" - "587:587"
- "993:993" - "993:993"
- "995:995" - "995:995"
- "4190:4190"
services: services:
# Primary mailserver instance # Primary mailserver instance
@@ -98,6 +118,21 @@ services:
ports: ports:
- "8080:80" - "8080:80"
rainloop:
<<: *common-service
image: hardware/rainloop
container_name: rainloop
profiles:
- imap
depends_on:
- mailserver
environment:
RAINLOOP_DEFAULT_HOST: "${RAINLOOP_DEFAULT_HOST:-mail.freedoh.net}"
volumes:
- rainloop_data:/rainloop/data
ports:
- "8081:80"
imapsync: imapsync:
<<: *common-service <<: *common-service
image: gilleslamiral/imapsync image: gilleslamiral/imapsync
@@ -140,27 +175,33 @@ volumes:
type: 'none' type: 'none'
o: 'bind' o: 'bind'
device: '/${BASEDIR}/dms/certs/' device: '/${BASEDIR}/dms/certs/'
rainloop_data:
driver: local
driver_opts:
type: 'none'
o: 'bind'
device: '/${BASEDIR}/dms/rainloop/data/'
rspamd_data: rspamd_data:
driver: local driver: local
driver_opts: driver_opts:
type: 'none' type: 'none'
o: 'bind' o: 'bind'
device: '/${BASEDIR}/rspamd/data/' device: '/${BASEDIR}/dms/rspamd/data/'
roundcube_data: roundcube_data:
driver: local driver: local
driver_opts: driver_opts:
type: 'none' type: 'none'
o: 'bind' o: 'bind'
device: '/${BASEDIR}/roundcube/data/' device: '/${BASEDIR}/dms/roundcube/data/'
imapsync_config: imapsync_config:
driver: local driver: local
driver_opts: driver_opts:
type: 'none' type: 'none'
o: 'bind' o: 'bind'
device: '/${BASEDIR}/imapsync/config/' device: '/${BASEDIR}/dms/imapsync/config/'
imapsync_logs: imapsync_logs:
driver: local driver: local
driver_opts: driver_opts:
type: 'none' type: 'none'
o: 'bind' o: 'bind'
device: '/${BASEDIR}/imapsync/logs/' device: '/${BASEDIR}/dms/imapsync/logs/'