version: '2' services: mailserver: image: mailserver/docker-mailserver:11.2 cap_add: - NET_ADMIN container_name: ${NODE_COMPOSE_PROJECT_NAME}-mailserver cpus: 0.5 domainname: ${DOMAIN} environment: - OVERRIDE_HOSTNAME=${NODE_MAILSERVER_OVERRIDE_HOSTNAME:-} - DMS_DEBUG=${NODE_MAILSERVER_DMS_DEBUG:-0} - LOG_LEVEL=${NODE_MAILSERVER_LOG_LEVEL:-info} - SUPERVISOR_LOGLEVEL=${NODE_MAILSERVER_SUPERVISOR_LOGLEVEL:-} - ONE_DIR=${NODE_MAILSERVER_ONE_DIR:-1} - ACCOUNT_PROVISIONER=${NODE_MAILSERVER_ACCOUNT_PROVISIONER:-} - POSTMASTER_ADDRESS=${NODE_MAILSERVER_POSTMASTER_ADDRESS:-} - ENABLE_UPDATE_CHECK=${NODE_MAILSERVER_ENABLE_UPDATE_CHECK:-1} - UPDATE_CHECK_INTERVAL=${NODE_MAILSERVER_UPDATE_CHECK_INTERVAL:-1d} - PERMIT_DOCKER=${NODE_MAILSERVER_PERMIT_DOCKER:-none} - TZ=${NODE_MAILSERVER_TZ:-} - NETWORK_INTERFACE=${NODE_MAILSERVER_NETWORK_INTERFACE:-} - TLS_LEVEL=${NODE_MAILSERVER_TLS_LEVEL:-} - SPOOF_PROTECTION=${NODE_MAILSERVER_SPOOF_PROTECTION:-} - ENABLE_SRS=${NODE_MAILSERVER_ENABLE_SRS:-0} - ENABLE_POP3=${NODE_MAILSERVER_ENABLE_POP3:-} - ENABLE_CLAMAV=${NODE_MAILSERVER_ENABLE_CLAMAV:-0} - ENABLE_AMAVIS=${NODE_MAILSERVER_ENABLE_AMAVIS:-1} - AMAVIS_LOGLEVEL=${NODE_MAILSERVER_AMAVIS_LOGLEVEL:-0} - ENABLE_DNSBL=${NODE_MAILSERVER_ENABLE_DNSBL:-0} - ENABLE_FAIL2BAN=${NODE_MAILSERVER_ENABLE_FAIL2BAN:-0} - FAIL2BAN_BLOCKTYPE=${NODE_MAILSERVER_FAIL2BAN_BLOCKTYPE:-drop} - ENABLE_MANAGESIEVE=${NODE_MAILSERVER_ENABLE_MANAGESIEVE:-} - POSTSCREEN_ACTION=${NODE_MAILSERVER_POSTSCREEN_ACTION:-enforce} - SMTP_ONLY=${NODE_MAILSERVER_SMTP_ONLY:-} - SSL_TYPE=${NODE_MAILSERVER_SSL_TYPE:-} - SSL_CERT_PATH=${NODE_MAILSERVER_SSL_CERT_PATH:-} - SSL_KEY_PATH=${NODE_MAILSERVER_SSL_KEY_PATH:-} - SSL_ALT_CERT_PATH=${NODE_MAILSERVER_SSL_ALT_CERT_PATH:-} - SSL_ALT_KEY_PATH=${NODE_MAILSERVER_SSL_ALT_KEY_PATH:-} - VIRUSMAILS_DELETE_DELAY=${NODE_MAILSERVER_VIRUSMAILS_DELETE_DELAY:-} - ENABLE_POSTFIX_VIRTUAL_TRANSPORT=${NODE_MAILSERVER_ENABLE_POSTFIX_VIRTUAL_TRANSPORT:-} - POSTFIX_DAGENT=${NODE_MAILSERVER_POSTFIX_DAGENT:-} - POSTFIX_MAILBOX_SIZE_LIMIT=${NODE_MAILSERVER_POSTFIX_MAILBOX_SIZE_LIMIT:-} - ENABLE_QUOTAS=${NODE_MAILSERVER_ENABLE_QUOTAS:-1} - POSTFIX_MESSAGE_SIZE_LIMIT=${NODE_MAILSERVER_POSTFIX_MESSAGE_SIZE_LIMIT:-} - CLAMAV_MESSAGE_SIZE_LIMIT=${NODE_MAILSERVER_CLAMAV_MESSAGE_SIZE_LIMIT:-} - PFLOGSUMM_TRIGGER=${NODE_MAILSERVER_PFLOGSUMM_TRIGGER:-} - PFLOGSUMM_RECIPIENT=${NODE_MAILSERVER_PFLOGSUMM_RECIPIENT:-} - PFLOGSUMM_SENDER=${NODE_MAILSERVER_PFLOGSUMM_SENDER:-} - LOGWATCH_INTERVAL=${NODE_MAILSERVER_LOGWATCH_INTERVAL:-} - LOGWATCH_RECIPIENT=${NODE_MAILSERVER_LOGWATCH_RECIPIENT:-} - LOGWATCH_SENDER=${NODE_MAILSERVER_LOGWATCH_SENDER:-} - REPORT_RECIPIENT=${NODE_MAILSERVER_REPORT_RECIPIENT:-} - REPORT_SENDER=${NODE_MAILSERVER_REPORT_SENDER:-} - LOGROTATE_INTERVAL=${NODE_MAILSERVER_LOGROTATE_INTERVAL:-weekly} - POSTFIX_INET_PROTOCOLS=${NODE_MAILSERVER_POSTFIX_INET_PROTOCOLS:-all} - DOVECOT_INET_PROTOCOLS=${NODE_MAILSERVER_DOVECOT_INET_PROTOCOLS:-all} - ENABLE_SPAMASSASSIN=${NODE_MAILSERVER_ENABLE_SPAMASSASSIN:-0} - SPAMASSASSIN_SPAM_TO_INBOX=${NODE_MAILSERVER_SPAMASSASSIN_SPAM_TO_INBOX:-1} - ENABLE_SPAMASSASSIN_KAM=${NODE_MAILSERVER_ENABLE_SPAMASSASSIN_KAM:-0} - MOVE_SPAM_TO_JUNK=${NODE_MAILSERVER_MOVE_SPAM_TO_JUNK:-1} - SA_TAG=${NODE_MAILSERVER_SA_TAG:-2.0} - SA_TAG2=${NODE_MAILSERVER_SA_TAG2:-6.31} - SA_KILL=${NODE_MAILSERVER_SA_KILL:-6.31} - SA_SPAM_SUBJECT=${NODE_MAILSERVER_SA_SPAM_SUBJECT:-***SPAM*****} - ENABLE_FETCHMAIL=${NODE_MAILSERVER_ENABLE_FETCHMAIL:-0} - FETCHMAIL_POLL=${NODE_MAILSERVER_FETCHMAIL_POLL:-300} - ENABLE_LDAP=${NODE_MAILSERVER_ENABLE_LDAP:-} - LDAP_START_TLS=${NODE_MAILSERVER_LDAP_START_TLS:-} - LDAP_SERVER_HOST=${NODE_MAILSERVER_LDAP_SERVER_HOST:-} - LDAP_SEARCH_BASE=${NODE_MAILSERVER_LDAP_SEARCH_BASE:-} - LDAP_BIND_DN=${NODE_MAILSERVER_LDAP_BIND_DN:-} - LDAP_BIND_PW=${NODE_MAILSERVER_LDAP_BIND_PW:-} - LDAP_QUERY_FILTER_USER=${NODE_MAILSERVER_LDAP_QUERY_FILTER_USER:-} - LDAP_QUERY_FILTER_GROUP=${NODE_MAILSERVER_LDAP_QUERY_FILTER_GROUP:-} - LDAP_QUERY_FILTER_ALIAS=${NODE_MAILSERVER_LDAP_QUERY_FILTER_ALIAS:-} - LDAP_QUERY_FILTER_DOMAIN=${NODE_MAILSERVER_LDAP_QUERY_FILTER_DOMAIN:-} - DOVECOT_TLS=${NODE_MAILSERVER_DOVECOT_TLS:-} - DOVECOT_USER_FILTER=${NODE_MAILSERVER_DOVECOT_USER_FILTER:-} - DOVECOT_PASS_FILTER=${NODE_MAILSERVER_DOVECOT_PASS_FILTER:-} - DOVECOT_MAILBOX_FORMAT=${NODE_MAILSERVER_DOVECOT_MAILBOX_FORMAT:-maildir} - DOVECOT_AUTH_BIND=${NODE_MAILSERVER_DOVECOT_AUTH_BIND:-} - ENABLE_POSTGREY=${NODE_MAILSERVER_ENABLE_POSTGREY:-0} - POSTGREY_DELAY=${NODE_MAILSERVER_POSTGREY_DELAY:-300} - POSTGREY_MAX_AGE=${NODE_MAILSERVER_POSTGREY_MAX_AGE:-35} - POSTGREY_TEXT=${NODE_MAILSERVER_POSTGREY_TEXT:-"Delayed by Postgrey"} - POSTGREY_AUTO_WHITELIST_CLIENTS=${NODE_MAILSERVER_POSTGREY_AUTO_WHITELIST_CLIENTS:-5} - ENABLE_SASLAUTHD=${NODE_MAILSERVER_ENABLE_SASLAUTHD:-0} - SASLAUTHD_MECHANISMS=${NODE_MAILSERVER_SASLAUTHD_MECHANISMS:-} - SASLAUTHD_MECH_OPTIONS=${NODE_MAILSERVER_SASLAUTHD_MECH_OPTIONS:-} - SASLAUTHD_LDAP_SERVER=${NODE_MAILSERVER_SASLAUTHD_LDAP_SERVER:-} - SASLAUTHD_LDAP_BIND_DN=${NODE_MAILSERVER_SASLAUTHD_LDAP_BIND_DN:-} - SASLAUTHD_LDAP_PASSWORD=${NODE_MAILSERVER_SASLAUTHD_LDAP_PASSWORD:-} - SASLAUTHD_LDAP_SEARCH_BASE=${NODE_MAILSERVER_SASLAUTHD_LDAP_SEARCH_BASE:-} - SASLAUTHD_LDAP_FILTER=${NODE_MAILSERVER_SASLAUTHD_LDAP_FILTER:-} - SASLAUTHD_LDAP_START_TLS=${NODE_MAILSERVER_SASLAUTHD_LDAP_START_TLS:-} - SASLAUTHD_LDAP_TLS_CHECK_PEER=${NODE_MAILSERVER_SASLAUTHD_LDAP_TLS_CHECK_PEER:-} - SASLAUTHD_LDAP_TLS_CACERT_FILE=${NODE_MAILSERVER_SASLAUTHD_LDAP_TLS_CACERT_FILE:-} - SASLAUTHD_LDAP_TLS_CACERT_DIR=${NODE_MAILSERVER_SASLAUTHD_LDAP_TLS_CACERT_DIR:-} - SASLAUTHD_LDAP_PASSWORD_ATTR=${NODE_MAILSERVER_SASLAUTHD_LDAP_PASSWORD_ATTR:-} - SASL_PASSWD=${NODE_MAILSERVER_SASL_PASSWD:-} - SASLAUTHD_LDAP_AUTH_METHOD=${NODE_MAILSERVER_SASLAUTHD_LDAP_AUTH_METHOD:-} - SASLAUTHD_LDAP_MECH=${NODE_MAILSERVER_SASLAUTHD_LDAP_MECH:-} - SRS_SENDER_CLASSES=${NODE_MAILSERVER_SRS_SENDER_CLASSES:-envelope_sender} - SRS_EXCLUDE_DOMAINS=${NODE_MAILSERVER_SRS_EXCLUDE_DOMAINS:-} - SRS_SECRET=${NODE_MAILSERVER_SRS_SECRET:-} - DEFAULT_RELAY_HOST=${NODE_MAILSERVER_DEFAULT_RELAY_HOST:-} - RELAY_HOST=${NODE_MAILSERVER_RELAY_HOST:-} - RELAY_PORT=${NODE_MAILSERVER_RELAY_PORT:-25} - RELAY_USER=${NODE_MAILSERVER_RELAY_USER:-} - RELAY_PASSWORD=${NODE_MAILSERVER_RELAY_PASSWORD:-} healthcheck: test: "ss --listening --tcp | grep -P 'LISTEN.+:smtp' || exit 1" timeout: 3s retries: 0 hostname: ${HOSTNAME} labels: - SERVICE_25_CHECK_TCP=true - SERVICE_25_NAME=${NODE_COMPOSE_SERVICE_NAME}-mailserver-25 - SERVICE_110_IGNORE=true - SERVICE_143_CHECK_TCP=true - SERVICE_143_NAME=${NODE_COMPOSE_SERVICE_NAME}-mailserver-143 - SERVICE_465_CHECK_TCP=true - SERVICE_465_NAME=${NODE_COMPOSE_SERVICE_NAME}-mailserver-465 - SERVICE_587_CHECK_TCP=true - SERVICE_587_NAME=${NODE_COMPOSE_SERVICE_NAME}-mailserver-587 - SERVICE_993_CHECK_TCP=true - SERVICE_993_NAME=${NODE_COMPOSE_SERVICE_NAME}-mailserver-993 - SERVICE_995_IGNORE=true - SERVICE_4190_CHECK_TCP=true - SERVICE_4190_NAME=${NODE_COMPOSE_SERVICE_NAME}-mailserver-4190 ports: - "25:25" - "143:143" - "465:465" - "587:587" - "993:993" volumes: - /etc/localtime:/etc/localtime:ro - mailserver-config:/tmp/docker-mailserver/ - mailserver-data:/var/mail - mailserver-logs:/var/log/mail - mailserver-state:/var/mail-state - myos:/etc/letsencrypt:ro restart: always stop_grace_period: 1m volumes: mailserver-config: mailserver-data: mailserver-logs: mailserver-state: myos: external: true name: ${NODE_DOCKER_VOLUME}