Miscellaneous first checks
Affected Component(s)
Docker Container does not start
What happened and when does this occur?
Docker is unable to start when i use network_mode: "host"
What did you expect to happen?
i expect the docker to start
How do we replicate the issue?
1.Follow normal steps in documentations
2.add a line -> network_mode: "host" , in Mailserver service
3.docker-compose up
...
DMS version
10.1.2
How much RAM is available to DMS explicitly?
more than 4GB
How many CPU cores are available?
more than 4 Cores
Is DMS running in a virtualized environment?
... a virtual private server (VPS) (with virtual CPU cores)
What operating system is DMS running on?
Linux
What instruction set architecture is DMS running on?
x86_64 / AMD64
I/O - Persistent memory
ext4
What container orchestration tool are you using?
Docker Compose
Docker version
No response
Docker Compose version
1.29.2
The output of uname -a
Linux vmi662016.contaboserver.net 4.19.0-17-amd64 #1 SMP Debian 4.19.194-3 (2021-07-18) x86_64 GNU/Linux
Important environment variables
No response
Relevant log output
Creating mailserver ... done
Attaching to mailserver
mailserver | hostname: Name or service not known
mailserver | hostname: Name or service not known
mailserver | [ TASKLOG ] Welcome to docker-mailserver 10.1.2
mailserver | [[ INF ]] ENVIRONMENT
mailserver | SUPERVISOR_GROUP_NAME=mailserver
mailserver | POSTGREY_DELAY=300
mailserver | DEFAULT_RELAY_HOST=
mailserver | TLS_LEVEL=intermediate
mailserver | POSTSCREEN_ACTION=enforce
mailserver | POSTFIX_INET_PROTOCOLS=all
mailserver | ENABLE_SRS=0
mailserver | ENABLE_LDAP=0
mailserver | SPOOF_PROTECTION=0
mailserver | RELAY_PASSWORD=
mailserver | ENABLE_MANAGESIEVE=0
mailserver | ENABLE_POSTGREY=0
mailserver | SUPERVISOR_SERVER_URL=unix:///dev/shm/supervisor.sock
mailserver | REPORT_SENDER=
mailserver | HOSTNAME=
mailserver | ENABLE_QUOTAS=1
mailserver | ENABLE_SASLAUTHD=0
mailserver | AMAVIS_LOGLEVEL=0
mailserver | NETWORK_INTERFACE=eth0
mailserver | SASLAUTHD_LDAP_TLS_CACERT_DIR=
mailserver | DMS_DEBUG=1
mailserver | SRS_EXCLUDE_DOMAINS=
mailserver | LDAP_SEARCH_BASE=
mailserver | SSL_CERT_PATH=
mailserver | LDAP_QUERY_FILTER_USER=
mailserver | SASLAUTHD_LDAP_BIND_DN=
mailserver | RELAY_HOST=
mailserver | LDAP_QUERY_FILTER_ALIAS=
mailserver | PWD=/
mailserver | SA_SPAM_SUBJECT=***SPAM*****
mailserver | LDAP_SERVER_HOST=
mailserver | DOVECOT_MAILBOX_FORMAT=maildir
mailserver | SA_TAG2=6.31
mailserver | REPORT_INTERVAL=daily
mailserver | SASL_PASSWD=
mailserver | POSTFIX_MAILBOX_SIZE_LIMIT=0
mailserver | SMTP_ONLY=0
mailserver | ENABLE_POSTFIX_VIRTUAL_TRANSPORT=
mailserver | SSL_KEY_PATH=
mailserver | ONE_DIR=1
mailserver | RELAY_USER=
mailserver | HOME=/root
mailserver | SASLAUTHD_LDAP_SERVER=
mailserver | LDAP_START_TLS=no
mailserver | SASLAUTHD_LDAP_FILTER=
mailserver | OVERRIDE_HOSTNAME=
mailserver | LDAP_BIND_DN=
mailserver | RELAY_PORT=25
mailserver | SA_KILL=6.31
mailserver | SASLAUTHD_LDAP_TLS_CHECK_PEER=
mailserver | ENABLE_FETCHMAIL=0
mailserver | FETCHMAIL_POLL=300
mailserver | ENABLE_AMAVIS=1
mailserver | SASLAUTHD_LDAP_MECH=
mailserver | LDAP_BIND_PW=
mailserver | UPDATE_CHECK_INTERVAL=1d
mailserver | MOVE_SPAM_TO_JUNK=1
mailserver | POSTMASTER_ADDRESS=
mailserver | POSTFIX_MESSAGE_SIZE_LIMIT=10240000
mailserver | LDAP_QUERY_FILTER_GROUP=
mailserver | SA_TAG=2.0
mailserver | DOVECOT_USER_FILTER=
mailserver | ENABLE_FAIL2BAN=0
mailserver | SSL_ALT_CERT_PATH=
mailserver | DOVECOT_AUTH_BIND=
mailserver | SASLAUTHD_LDAP_START_TLS=
mailserver | LOGWATCH_INTERVAL=none
mailserver | POSTGREY_MAX_AGE=35
mailserver | ENABLE_POP3=0
mailserver | PFLOGSUMM_SENDER=
mailserver | LOGWATCH_RECIPIENT=
mailserver | SASLAUTHD_LDAP_PASSWORD_ATTR=
mailserver | DOVECOT_TLS=no
mailserver | POSTGREY_AUTO_WHITELIST_CLIENTS=5
mailserver | SHLVL=1
mailserver | PFLOGSUMM_TRIGGER=
mailserver | POSTGREY_TEXT=Delayed by Postgrey
mailserver | SRS_SENDER_CLASSES=envelope_sender
mailserver | FAIL2BAN_BLOCKTYPE=drop
mailserver | SASLAUTHD_LDAP_AUTH_METHOD=
mailserver | DOVECOT_PASS_FILTER=
mailserver | SSL_TYPE=
mailserver | CHKSUM_FILE=/tmp/docker-mailserver-config-chksum
mailserver | PERMIT_DOCKER=
mailserver | SRS_SECRET=
mailserver | REPORT_RECIPIENT=0
mailserver | SUPERVISOR_PROCESS_NAME=mailserver
mailserver | POSTFIX_DAGENT=
mailserver | VIRUSMAILS_DELETE_DELAY=7
mailserver | SASLAUTHD_LDAP_SEARCH_BASE=
mailserver | SASLAUTHD_MECH_OPTIONS=
mailserver | PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
mailserver | SUPERVISOR_LOGLEVEL=warn
mailserver | SASLAUTHD_MECHANISMS=
mailserver | DOMAINNAME=
mailserver | ENABLE_SPAMASSASSIN=0
mailserver | SPAMASSASSIN_SPAM_TO_INBOX=1
mailserver | SASLAUTHD_LDAP_PASSWORD=
mailserver | SSL_ALT_KEY_PATH=
mailserver | ENABLE_CLAMAV=0
mailserver | SASLAUTHD_LDAP_TLS_CACERT_FILE=
mailserver | LDAP_QUERY_FILTER_DOMAIN=
mailserver | PFLOGSUMM_RECIPIENT=
mailserver | ENABLE_UPDATE_CHECK=1
mailserver | SUPERVISOR_ENABLED=1
mailserver | BASH_FUNC__extract_certs_from_acme%%=() { local KEY;
mailserver | KEY=$(cat /etc/letsencrypt/acme.json | python -c "
mailserver | import sys,json
mailserver | acme = json.load(sys.stdin)
mailserver | for key, value in acme.items():
mailserver | certs = value['Certificates']
mailserver | if certs is not None:
mailserver | for cert in certs:
mailserver | if 'domain' in cert and 'key' in cert:
mailserver | if 'main' in cert['domain'] and cert['domain']['main'] == '${1}' or 'sans' in cert['domain'] and '${1}' in cert['domain']['sans']:
mailserver | print cert['key']
mailserver | break
mailserver | ");
mailserver | local CERT;
mailserver | CERT=$(cat /etc/letsencrypt/acme.json | python -c "
mailserver | import sys,json
mailserver | acme = json.load(sys.stdin)
mailserver | for key, value in acme.items():
mailserver | certs = value['Certificates']
mailserver | if certs is not None:
mailserver | for cert in certs:
mailserver | if 'domain' in cert and 'certificate' in cert:
mailserver | if 'main' in cert['domain'] and cert['domain']['main'] == '${1}' or 'sans' in cert['domain'] and '${1}' in cert['domain']['sans']:
mailserver | print cert['certificate']
mailserver | break
mailserver | ");
mailserver | if [[ -n "${KEY}${CERT}" ]]; then
mailserver | mkdir -p "/etc/letsencrypt/live/${HOSTNAME}/";
mailserver | echo "${KEY}" | base64 -d > /etc/letsencrypt/live/"${HOSTNAME}"/key.pem || exit 1;
mailserver | echo "${CERT}" | base64 -d > /etc/letsencrypt/live/"${HOSTNAME}"/fullchain.pem || exit 1;
mailserver | _notify 'inf' "Cert found in /etc/letsencrypt/acme.json for ${1}";
mailserver | return 0;
mailserver | else
mailserver | return 1;
mailserver | fi
mailserver | }
mailserver | BASH_FUNC__monitored_files_checksums%%=() { ( cd /tmp/docker-mailserver || exit 1;
mailserver | exec sha512sum -- postfix-accounts.cf postfix-virtual.cf postfix-aliases.cf dovecot-quotas.cf /etc/letsencrypt/acme.json "/etc/letsencrypt/live/${HOSTNAME}/key.pem" "/etc/letsencrypt/live/${HOSTNAME}/privkey.pem" "/etc/letsencrypt/live/${HOSTNAME}/fullchain.pem" 2> /dev/null )
mailserver | }
mailserver | BASH_FUNC__populate_relayhost_map%%=() { : > /etc/postfix/relayhost_map;
mailserver | chown root:root /etc/postfix/relayhost_map;
mailserver | chmod 0600 /etc/postfix/relayhost_map;
mailserver | if [[ -f /tmp/docker-mailserver/postfix-relaymap.cf ]]; then
mailserver | _notify 'inf' "Adding relay mappings from postfix-relaymap.cf";
mailserver | sed -n '/^\s*[^#[:space:]]\S*\s\+\S/p' /tmp/docker-mailserver/postfix-relaymap.cf >> /etc/postfix/relayhost_map;
mailserver | fi;
mailserver | {
mailserver | sed -n '/^\s*[^#[:space:]]/ s/^[^@|]*@\([^|]\+\)|.*$/\1/p' /tmp/docker-mailserver/postfix-accounts.cf;
mailserver | [ -f /tmp/docker-mailserver/postfix-virtual.cf ] && sed -n '/^\s*[^#[:space:]]/ s/^\s*[^@[:space:]]*@\(\S\+\)\s.*/\1/p' /tmp/docker-mailserver/postfix-virtual.cf
mailserver | } | while read -r DOMAIN; do
mailserver | if ! grep -q -e "^@${DOMAIN}\b" /etc/postfix/relayhost_map && ! grep -qs -e "^\s*@${DOMAIN}\s*$" /tmp/docker-mailserver/postfix-relaymap.cf; then
mailserver | _notify 'inf' "Adding relay mapping for ${DOMAIN}";
mailserver | echo "@${DOMAIN} [${RELAY_HOST}]:${RELAY_PORT}" >> /etc/postfix/relayhost_map;
mailserver | fi;
mailserver | done
mailserver | }
mailserver | BASH_FUNC__notify%%=() { {
mailserver | [[ -z ${1:-} ]] || [[ -z ${2:-} ]]
mailserver | } && return 0;
mailserver | local RESET LGREEN LYELLOW LRED RED LBLUE LGREY LMAGENTA;
mailserver | RESET='\e[0m';
mailserver | LGREEN='\e[92m';
mailserver | LYELLOW='\e[93m';
mailserver | LRED='\e[31m';
mailserver | RED='\e[91m';
mailserver | LBLUE='\e[34m';
mailserver | LGREY='\e[37m';
mailserver | LMAGENTA='\e[95m';
mailserver | case "${1}" in
mailserver | 'tasklog')
mailserver | echo "-e${3:-}" "[ ${LGREEN}TASKLOG${RESET} ] ${2}"
mailserver | ;;
mailserver | 'warn')
mailserver | echo "-e${3:-}" "[ ${LYELLOW}WARNING${RESET} ] ${2}"
mailserver | ;;
mailserver | 'err')
mailserver | echo "-e${3:-}" "[ ${LRED}ERROR${RESET} ] ${2}"
mailserver | ;;
mailserver | 'fatal')
mailserver | echo "-e${3:-}" "[ ${RED}FATAL${RESET} ] ${2}"
mailserver | ;;
mailserver | 'inf')
mailserver | [[ ${DMS_DEBUG} -eq 1 ]] && echo "-e${3:-}" "[[ ${LBLUE}INF${RESET} ]] ${2}"
mailserver | ;;
mailserver | 'task')
mailserver | [[ ${DMS_DEBUG} -eq 1 ]] && echo "-e${3:-}" "[[ ${LGREY}TASKS${RESET} ]] ${2}"
mailserver | ;;
mailserver | *)
mailserver | echo "-e${3:-}" "[ ${LMAGENTA}UNKNOWN${RESET} ] ${2}"
mailserver | ;;
mailserver | esac;
mailserver | return 0
mailserver | }
mailserver | BASH_FUNC__sanitize_ipv4_to_subnet_cidr%%=() { local DIGIT_PREFIX_LENGTH="${1#*/}";
mailserver | declare -a MASKED_DIGITS DIGITS;
mailserver | IFS='.';
mailserver | read -r -a DIGITS < <(echo "${1%%/*}");
mailserver | unset IFS;
mailserver | for ((i = 0 ; i < 4 ; i++))
mailserver | do
mailserver | MASKED_DIGITS[i]=$(_mask_ip_digit "${DIGIT_PREFIX_LENGTH}" "${DIGITS[i]}");
mailserver | DIGIT_PREFIX_LENGTH=$((DIGIT_PREFIX_LENGTH - 8));
mailserver | done;
mailserver | echo "${MASKED_DIGITS[0]}.${MASKED_DIGITS[1]}.${MASKED_DIGITS[2]}.${MASKED_DIGITS[3]}/${1#*/}"
mailserver | }
mailserver | _=/usr/bin/printenv
mailserver | [ TASKLOG ] Initializing setup
mailserver | [[ TASKS ]] Registering functions
mailserver | [[ INF ]] _check_hostname() registered
mailserver | [[ INF ]] _setup_supervisor() registered
mailserver | [[ INF ]] _setup_default_vars() registered
mailserver | [[ INF ]] _setup_file_permissions() registered
mailserver | [[ INF ]] _setup_dovecot() registered
mailserver | [[ INF ]] _setup_dovecot_dhparam() registered
mailserver | [[ INF ]] _setup_dovecot_quota() registered
mailserver | [[ INF ]] _setup_dovecot_local_user() registered
mailserver | [[ INF ]] _setup_dkim() registered
mailserver | [[ INF ]] _setup_ssl() registered
mailserver | [[ INF ]] _setup_docker_permit() registered
mailserver | [[ INF ]] _setup_mailname() registered
mailserver | [[ INF ]] _setup_amavis() registered
mailserver | [[ INF ]] _setup_dmarc_hostname() registered
mailserver | [[ INF ]] _setup_postfix_hostname() registered
mailserver | [[ INF ]] _setup_dovecot_hostname() registered
mailserver | [[ INF ]] _setup_postfix_smtputf8() registered
mailserver | [[ INF ]] _setup_postfix_sasl() registered
mailserver | [[ INF ]] _setup_postfix_sasl_password() registered
mailserver | [[ INF ]] _setup_security_stack() registered
mailserver | [[ INF ]] _setup_postfix_aliases() registered
mailserver | [[ INF ]] _setup_postfix_vhost() registered
mailserver | [[ INF ]] _setup_postfix_dhparam() registered
mailserver | [[ INF ]] _setup_postfix_postscreen() registered
mailserver | [[ INF ]] _setup_postfix_sizelimits() registered
mailserver | [[ INF ]] _setup_postfix_access_control() registered
mailserver | [[ INF ]] _setup_postfix_override_configuration() registered
mailserver | [[ INF ]] _setup_environment() registered
mailserver | [[ INF ]] _setup_logrotate() registered
mailserver | [[ INF ]] _setup_mail_summary() registered
mailserver | [[ INF ]] _setup_logwatch() registered
mailserver | [[ INF ]] _setup_user_patches() registered
mailserver | [[ INF ]] _setup_chksum_file() registered
mailserver | [[ INF ]] _fix_var_mail_permissions() registered
mailserver | [[ INF ]] _fix_var_amavis_permissions() registered
mailserver | [[ INF ]] _fix_cleanup_clamav() registered
mailserver | [[ INF ]] _fix_cleanup_spamassassin() registered
mailserver | [[ INF ]] _misc_save_states() registered
mailserver | [[ INF ]] _start_daemons_cron() registered
mailserver | [[ INF ]] _start_daemons_rsyslog() registered
mailserver | [[ INF ]] _start_daemons_dovecot() registered
mailserver | [[ INF ]] _start_daemons_update_check() registered
mailserver | [[ INF ]] _start_daemons_opendkim() registered
mailserver | [[ INF ]] _start_daemons_opendmarc() registered
mailserver | [[ INF ]] _start_daemons_postfix() registered
mailserver | [[ INF ]] _start_changedetector() registered
mailserver | [[ INF ]] _start_daemons_amavis() registered
mailserver | [ TASKLOG ] Checking configuration
mailserver | [[ TASKS ]] Checking that hostname/domainname is provided or overridden
mailserver | [[ INF ]] Domain has been set to
mailserver | [[ INF ]] Hostname has been set to
mailserver | [ ERROR ] Setting hostname/domainname is required
mailserver | [ ERROR ] Shutting down..
mailserver | 2021-09-15 06:28:17,487 WARN received SIGTERM indicating exit request
mailserver | [ FATAL ] Please fix your configuration. Exiting...
Other relevant information
docker mailserver works fine as long as i dont add the -> [[ nework_mode: "host" ]] option
my docker-compose file:
version: '3.9'
services:
mailserver:
image: docker.io/mailserver/docker-mailserver:latest
hostname: sales
domainname: medpricemarketing.com
container_name: mailserver
env_file: mailserver.env
# ports:
# - "25:25" # SMTP (explicit TLS => STARTTLS)
# - "143:143" # IMAP4 (explicit TLS => STARTTLS)
# - "465:465" # ESMTP (implicit TLS)
# - "587:587" # ESMTP (explicit TLS => STARTTLS)
# - "993:993" # IMAP4 (implicit TLS)
volumes:
- ./data/maildata:/var/mail
- ./data/mailstate:/var/mail-state
- ./data/maillogs:/var/log/mail
- /etc/localtime:/etc/localtime:ro
- ./config/:/tmp/docker-mailserver/
network_mode: "host"
restart: always
stop_grace_period: 1m
cap_add: [ "NET_ADMIN", "SYS_PTRACE" ]
if i uncomment ports and comment the network, it will start working with 0 errors
What level of experience do you have with Docker and mail servers?
I'm comfortable with Docker / containers, but I'm relatively new to all this mail stuff
Code of conduct
Improvements to this form?
No response
Miscellaneous first checks
Affected Component(s)
Docker Container does not start
What happened and when does this occur?
What did you expect to happen?
How do we replicate the issue?
DMS version
10.1.2
How much RAM is available to DMS explicitly?
more than 4GB
How many CPU cores are available?
more than 4 Cores
Is DMS running in a virtualized environment?
... a virtual private server (VPS) (with virtual CPU cores)
What operating system is DMS running on?
Linux
What instruction set architecture is DMS running on?
x86_64 / AMD64
I/O - Persistent memory
ext4
What container orchestration tool are you using?
Docker Compose
Docker version
No response
Docker Compose version
1.29.2
The output of
uname -aLinux vmi662016.contaboserver.net 4.19.0-17-amd64 #1 SMP Debian 4.19.194-3 (2021-07-18) x86_64 GNU/Linux
Important environment variables
No response
Relevant log output
Other relevant information
What level of experience do you have with Docker and mail servers?
I'm comfortable with Docker / containers, but I'm relatively new to all this mail stuff
Code of conduct
Improvements to this form?
No response