#!/bin/bash echo "Waiting for PHP to settle..." sleep 10 until nc phpfpm 9001 -z; do echo "Waiting for PHP on port 9001..." sleep 3 done until nc phpfpm 9002 -z; do echo "Waiting for PHP on port 9002..." sleep 3 done mkdir -p /etc/rspamd/plugins.d \ /etc/rspamd/custom touch /etc/rspamd/rspamd.conf.local \ /etc/rspamd/rspamd.conf.override chmod 755 /var/lib/rspamd addgroup --system --gid 82 www-access [[ ! -f /etc/rspamd/override.d/worker-controller-password.inc ]] && echo '# Autogenerated by mailcow' > /etc/rspamd/override.d/worker-controller-password.inc DOVECOT_V4= DOVECOT_V6= until [[ ! -z ${DOVECOT_V4} ]]; do DOVECOT_V4=$(dig a dovecot +short) DOVECOT_V6=$(dig aaaa dovecot +short) [[ ! -z ${DOVECOT_V4} ]] && break; echo "Waiting for Dovecot" sleep 3 done echo ${DOVECOT_V4}/32 > /etc/rspamd/custom/dovecot_trusted.map if [[ ! -z ${DOVECOT_V6} ]]; then echo ${DOVECOT_V6}/128 >> /etc/rspamd/custom/dovecot_trusted.map fi chown -R _rspamd:_rspamd /var/lib/rspamd \ /etc/rspamd/local.d \ /etc/rspamd/override.d \ /etc/rspamd/custom \ /etc/rspamd/rspamd.conf.local \ /etc/rspamd/rspamd.conf.override \ /etc/rspamd/plugins.d # Fix missing default global maps, if any # These exists in mailcow UI and should not be removed touch /etc/rspamd/custom/global_mime_from_blacklist.map \ /etc/rspamd/custom/global_rcpt_blacklist.map \ /etc/rspamd/custom/global_smtp_from_blacklist.map \ /etc/rspamd/custom/global_mime_from_whitelist.map \ /etc/rspamd/custom/global_rcpt_whitelist.map \ /etc/rspamd/custom/global_smtp_from_whitelist.map \ /etc/rspamd/custom/sa-rules \ /etc/rspamd/custom/dovecot_trusted.map \ /etc/rspamd/custom/ip_wl.map \ /etc/rspamd/custom/fishy_tlds.map \ /etc/rspamd/custom/bad_words.map \ /etc/rspamd/custom/bad_asn.map \ /etc/rspamd/custom/bad_words_de.map # www-data (82) group needs to write to these files chown root:root /etc/rspamd/custom/ chmod 0755 /etc/rspamd/custom/ chown -R _rspamd:www-access /etc/rspamd/custom/* chmod -R 664 /etc/rspamd/custom/* # Run hooks for file in /hooks/*; do if [ -x "${file}" ]; then echo "Running hook ${file}" "${file}" fi done exec "$@"