version: '3' services: mail-app: image: mlan/kopano networks: - backend ports: - "127.0.0.1:8080:80" depends_on: - auth - mail-db - mail-mta environment: - USER_PLUGIN=ldap - LDAP_HOST=auth - MYSQL_HOST=mail-db - SMTP_SERVER=mail-mta - LDAP_SEARCH_BASE=${LDAP_BASE-dc=example,dc=com} - LDAP_USER_TYPE_ATTRIBUTE_VALUE=${LDAP_USEROBJ-posixAccount} - LDAP_GROUP_TYPE_ATTRIBUTE_VALUE=${LDAP_GROUPOBJ-posixGroup} - MYSQL_DATABASE=${MYSQL_DATABASE-kopano} - MYSQL_USER=${MYSQL_USER-kopano} - MYSQL_PASSWORD=${MYSQL_PASSWORD-secret} - SYSLOG_LEVEL=${SYSLOG_LEVEL-3} volumes: - mail-conf:/etc/kopano - mail-atch:/var/lib/kopano/attachments - mail-sync:/var/lib/z-push cap_add: # helps debugging by alowing strace - sys_ptrace mail-mta: image: mlan/postfix-amavis hostname: ${MAIL_SRV-mx}.${MAIL_DOMAIN-example.com} networks: - backend ports: - "127.0.0.1:25:25" depends_on: - auth environment: - MESSAGE_SIZE_LIMIT=${MESSAGE_SIZE_LIMIT-25600000} - LDAP_HOST=auth - VIRTUAL_TRANSPORT=lmtp:mail-app:2003 - SMTP_RELAY_HOSTAUTH=${SMTP_RELAY_HOSTAUTH-} - SMTP_TLS_SECURITY_LEVEL=${SMTP_TLS_SECURITY_LEVEL-} - SMTP_TLS_WRAPPERMODE=${SMTP_TLS_WRAPPERMODE-no} - LDAP_USER_BASE=ou=${LDAP_USEROU-users},${LDAP_BASE-dc=example,dc=com} - LDAP_QUERY_FILTER_USER=(&(objectclass=${LDAP_USEROBJ-posixAccount})(mail=%s)) - DKIM_SELECTOR=${DKIM_SELECTOR-default} - SYSLOG_LEVEL=${SYSLOG_LEVEL-4} volumes: - mail-mta:/srv cap_add: # helps debugging by alowing strace - sys_ptrace mail-db: image: mariadb command: ['--log_warnings=1'] networks: - backend environment: - LANG=C.UTF-8 - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD-secret} - MYSQL_DATABASE=${MYSQL_DATABASE-kopano} - MYSQL_USER=${MYSQL_USER-kopano} - MYSQL_PASSWORD=${MYSQL_PASSWORD-secret} volumes: - mail-db:/var/lib/mysql auth: image: mlan/openldap networks: - backend environment: - LDAP_LOGLEVEL=parse volumes: - auth-db:/srv networks: backend: volumes: auth-db: mail-conf: mail-atch: mail-db: mail-mta: mail-sync: