postfix-tlspol.sh 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  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_SERVER="${REDIS_SLAVEOF_IP}"
  17. export REDIS_PORT="${REDIS_SLAVEOF_PORT}"
  18. else
  19. export REDIS_SERVER="redis"
  20. export REDIS_PORT="6379"
  21. fi
  22. export REDIS_CMDLINE="redis-cli -h ${REDIS_SERVER} -p ${REDIS_PORT} -a ${REDISPASS} --no-auth-warning"
  23. until [[ $(${REDIS_CMDLINE} PING) == "PONG" ]]; do
  24. echo "Waiting for Redis..."
  25. sleep 2
  26. done
  27. echo "Waiting for Postfix..."
  28. until ping postfix -c1 > /dev/null; do
  29. sleep 1
  30. done
  31. echo "Postfix OK"
  32. cat <<EOF > /etc/postfix-tlspol/config.yaml
  33. server:
  34. address: 0.0.0.0:8642
  35. log-level: ${LOGLVL}
  36. prefetch: true
  37. dns:
  38. address: 127.0.0.11:53
  39. redis:
  40. address: ${REDIS_SERVER}:${REDIS_PORT}
  41. db: 2
  42. EOF
  43. /usr/local/bin/postfix-tlspol -config /etc/postfix-tlspol/config.yaml