diff --git a/docker-compose.yml b/docker-compose.yml index 79e1b06..b9bcc14 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -22,11 +22,30 @@ x-mailserver-service: ENABLE_MANAGESIEVE: "${ENABLE_MANAGESIEVE:-1}" RELAY_HOST: "${RELAY_HOST:-}" POSTMASTER_ADDRESS: "${POSTMASTER_ADDRESS:-postmaster@example.com}" + #~ SSL_TYPE=letsencrypt SSL_TYPE: "${SSL_TYPE:-manual}" SSL_CERT_PATH: "/etc/ssl/mail/fullchain.pem" SSL_KEY_PATH: "/etc/ssl/mail/privkey.pem" DKIM_SELECTOR: "${DKIM_SELECTOR:-mail}" 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: - dmsdata:/var/mail - dmsstate:/var/mail-state @@ -39,6 +58,7 @@ x-mailserver-service: - "587:587" - "993:993" - "995:995" + - "4190:4190" services: # Primary mailserver instance @@ -98,6 +118,21 @@ services: ports: - "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: <<: *common-service image: gilleslamiral/imapsync @@ -140,27 +175,33 @@ volumes: type: 'none' o: 'bind' device: '/${BASEDIR}/dms/certs/' + rainloop_data: + driver: local + driver_opts: + type: 'none' + o: 'bind' + device: '/${BASEDIR}/dms/rainloop/data/' rspamd_data: driver: local driver_opts: type: 'none' o: 'bind' - device: '/${BASEDIR}/rspamd/data/' + device: '/${BASEDIR}/dms/rspamd/data/' roundcube_data: driver: local driver_opts: type: 'none' o: 'bind' - device: '/${BASEDIR}/roundcube/data/' + device: '/${BASEDIR}/dms/roundcube/data/' imapsync_config: driver: local driver_opts: type: 'none' o: 'bind' - device: '/${BASEDIR}/imapsync/config/' + device: '/${BASEDIR}/dms/imapsync/config/' imapsync_logs: driver: local driver_opts: type: 'none' o: 'bind' - device: '/${BASEDIR}/imapsync/logs/' + device: '/${BASEDIR}/dms/imapsync/logs/'