version: '3' services: app: image: mlan/kopano networks: - backend ports: - "127.0.0.1:8080:80" depends_on: - auth - db - mta environment: - USER_PLUGIN=ldap - LDAP_URI=ldap://auth:389/ - MYSQL_HOST=db - SMTP_SERVER=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: - app-conf:/etc/kopano - app-atch:/var/lib/kopano/attachments - app-sync:/var/lib/z-push - app-spam:/var/lib/kopano/spamd # kopano-spamd integration - /etc/localtime:/etc/localtime:ro # Use host timezone cap_add: # helps debugging by alowing strace - sys_ptrace 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: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} - SA_TAG_LEVEL_DEFLT=${SA_TAG_LEVEL_DEFLT-2.0} - SA_DEBUG=${SA_DEBUG-0} - SYSLOG_LEVEL=${SYSLOG_LEVEL-} - LOG_LEVEL=${LOG_LEVEL-0} - RAZOR_REGISTRATION=${RAZOR_REGISTRATION-} volumes: - mta:/srv - app-spam:/var/lib/kopano/spamd # kopano-spamd integration - /etc/localtime:/etc/localtime:ro # Use host timezone cap_add: # helps debugging by alowing strace - sys_ptrace 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: - db:/var/lib/mysql - /etc/localtime:/etc/localtime:ro # Use host timezone auth: image: mlan/openldap networks: - backend environment: - LDAP_LOGLEVEL=parse volumes: - auth:/srv - /etc/localtime:/etc/localtime:ro # Use host timezone networks: backend: volumes: app-atch: app-conf: app-spam: app-sync: auth: db: mta: