wip: add mailserver
This commit is contained in:
parent
9bdc761d47
commit
ec42a20817
|
@ -0,0 +1,4 @@
|
||||||
|
NODE_MAILSERVER_ENABLE_MANAGESIEVE=1
|
||||||
|
NODE_MAILSERVER_SPOOF_PROTECTION=1
|
||||||
|
NODE_MAILSERVER_SSL_TYPE=letsencrypt
|
||||||
|
NODE_MAILSERVER_UPDATE_CHECK=0
|
|
@ -0,0 +1,155 @@
|
||||||
|
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}
|
Loading…
Reference in New Issue