111 lines
3.6 KiB
YAML
111 lines
3.6 KiB
YAML
version: '3'
|
|
|
|
services:
|
|
app:
|
|
image: mlan/kopano
|
|
networks:
|
|
- backend
|
|
ports:
|
|
- "127.0.0.1:8008:80" # WebApp & EAS (alt. HTTP)
|
|
- "127.0.0.1:110:110" # POP3 (not needed if all devices can use EAS)
|
|
- "127.0.0.1:143:143" # IMAP (not needed if all devices can use EAS)
|
|
- "127.0.0.1:8080:8080" # CalDAV (not needed if all devices can use EAS)
|
|
depends_on:
|
|
- auth
|
|
- db
|
|
- mta
|
|
environment: # Virgin config, ignored on restarts unless FORCE_CONFIG given.
|
|
- 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}
|
|
- POP3_LISTEN=*:110 # also listen to eth0
|
|
- IMAP_LISTEN=*:143 # also listen to eth0
|
|
- ICAL_LISTEN=*:8080 # also listen to eth0
|
|
- DISABLED_FEATURES=${DISABLED_FEATURES-} # also enable IMAP and POP3
|
|
- 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 allowing 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" # SMTP
|
|
depends_on:
|
|
- auth
|
|
environment: # Virgin config, ignored on restarts unless FORCE_CONFIG given.
|
|
- 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))
|
|
- LDAP_QUERY_ATTRS_PASS=uid=user
|
|
- REGEX_ALIAS=${REGEX_ALIAS-}
|
|
- 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 allowing 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:
|