| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 | #!/bin/bashuntil nc phpfpm 9001 -z; do  echo "Waiting for PHP on port 9001..."  sleep 3doneuntil nc phpfpm 9002 -z; do  echo "Waiting for PHP on port 9002..."  sleep 3donemkdir -p /etc/rspamd/plugins.d \  /etc/rspamd/customtouch /etc/rspamd/rspamd.conf.local \  /etc/rspamd/rspamd.conf.overridechmod 755 /var/lib/rspamd[[ ! -f /etc/rspamd/override.d/worker-controller-password.inc ]] && echo '# Autogenerated by mailcow' > /etc/rspamd/override.d/worker-controller-password.incecho ${IPV4_NETWORK}.0/24 > /etc/rspamd/custom/mailcow_networks.mapecho ${IPV6_NETWORK} >> /etc/rspamd/custom/mailcow_networks.mapDOVECOT_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 3doneecho ${DOVECOT_V4}/32 > /etc/rspamd/custom/dovecot_trusted.mapif [[ ! -z ${DOVECOT_V6} ]]; then  echo ${DOVECOT_V6}/128 >> /etc/rspamd/custom/dovecot_trusted.mapfiRSPAMD_V4=RSPAMD_V6=until [[ ! -z ${RSPAMD_V4} ]]; do  RSPAMD_V4=$(dig a rspamd +short)  RSPAMD_V6=$(dig aaaa rspamd +short)  [[ ! -z ${RSPAMD_V4} ]] && break;  echo "Waiting for Rspamd..."  sleep 3doneecho ${RSPAMD_V4}/32 > /etc/rspamd/custom/rspamd_trusted.mapif [[ ! -z ${RSPAMD_V6} ]]; then  echo ${RSPAMD_V6}/128 >> /etc/rspamd/custom/rspamd_trusted.mapfiif [[ ! -z ${REDIS_SLAVEOF_IP} ]]; then  cat <<EOF > /etc/rspamd/local.d/redis.confread_servers = "redis:6379";write_servers = "${REDIS_SLAVEOF_IP}:${REDIS_SLAVEOF_PORT}";timeout = 10;EOF  until [[ $(redis-cli -h redis-mailcow PING) == "PONG" ]]; do    echo "Waiting for Redis slave..."    sleep 2  done  until [[ $(redis-cli -h ${REDIS_SLAVEOF_IP} -p ${REDIS_SLAVEOF_PORT} PING) == "PONG" ]]; do    echo "Waiting for Redis master..."    sleep 2  done  redis-cli -h redis-mailcow SLAVEOF ${REDIS_SLAVEOF_IP} ${REDIS_SLAVEOF_PORT}else  cat <<EOF > /etc/rspamd/local.d/redis.confservers = "redis:6379";timeout = 10;EOF  until [[ $(redis-cli -h redis-mailcow PING) == "PONG" ]]; do    echo "Waiting for Redis slave..."    sleep 2  done  redis-cli -h redis-mailcow SLAVEOF NO ONEfichown -R _rspamd:_rspamd /var/lib/rspamd \  /etc/rspamd/local.d \  /etc/rspamd/override.d \  /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 removedtouch /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/bad_languages.map \  /etc/rspamd/custom/sa-rules \  /etc/rspamd/custom/dovecot_trusted.map \  /etc/rspamd/custom/rspamd_trusted.map \  /etc/rspamd/custom/mailcow_networks.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 \  /etc/rspamd/custom/bulk_header.map# www-data (82) group needs to write to these fileschown _rspamd:_rspamd /etc/rspamd/custom/chmod 0755 /etc/rspamd/custom/.chown -R 82:82 /etc/rspamd/custom/*chmod 644 -R /etc/rspamd/custom/*# Run hooksfor file in /hooks/*; do  if [ -x "${file}" ]; then    echo "Running hook ${file}"    "${file}"  fidoneexec "$@"
 |