postfix-tlspol.sh 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #!/bin/bash
  2. LOGLVL=info
  3. if [ ${DEV_MODE} != "n" ]; then
  4. echo -e "\e[31mEnabling debug mode\e[0m"
  5. set -x
  6. LOGLVL=debug
  7. fi
  8. [[ ! -d /etc/postfix-tlspol ]] && mkdir -p /etc/postfix-tlspol
  9. [[ ! -d /var/lib/postfix-tlspol ]] && mkdir -p /var/lib/postfix-tlspol
  10. until dig +short mailcow.email > /dev/null; do
  11. echo "Waiting for DNS..."
  12. sleep 1
  13. done
  14. # Do not attempt to write to slave
  15. if [[ ! -z ${REDIS_SLAVEOF_IP} ]]; then
  16. export REDIS_CMDLINE="redis-cli -h ${REDIS_SLAVEOF_IP} -p ${REDIS_SLAVEOF_PORT} -a ${REDISPASS} --no-auth-warning"
  17. else
  18. export REDIS_CMDLINE="redis-cli -h redis -p 6379 -a ${REDISPASS} --no-auth-warning"
  19. fi
  20. until [[ $(${REDIS_CMDLINE} PING) == "PONG" ]]; do
  21. echo "Waiting for Redis..."
  22. sleep 2
  23. done
  24. echo "Waiting for Postfix..."
  25. until ping postfix -c1 > /dev/null; do
  26. sleep 1
  27. done
  28. echo "Postfix OK"
  29. cat <<EOF > /etc/postfix-tlspol/config.yaml
  30. server:
  31. address: 0.0.0.0:8642
  32. log-level: ${LOGLVL}
  33. prefetch: true
  34. cache-file: /var/lib/postfix-tlspol/cache.db
  35. dns:
  36. # must support DNSSEC
  37. address: 127.0.0.11:53
  38. EOF
  39. /usr/local/bin/postfix-tlspol -config /etc/postfix-tlspol/config.yaml