docker-entrypoint.sh 985 B

123456789101112131415161718192021222324252627282930313233343536
  1. #!/bin/bash
  2. set -e
  3. if [[ ! -d "/data/dkim/txt" || ! -d "/data/dkim/keys" ]] ; then mkdir -p /data/dkim/{txt,keys} ; chown -R www-data:www-data /data/dkim; fi
  4. if [[ $(stat -c %U /data/dkim/) != "www-data" ]] ; then chown -R www-data:www-data /data/dkim ; fi
  5. # Wait for containers
  6. while ! mysqladmin ping --host mysql -u${DBUSER} -p${DBPASS} --silent; do
  7. sleep 2
  8. done
  9. until [ $(redis-cli -h redis-mailcow PING) == "PONG" ]; do
  10. sleep 2
  11. done
  12. # Migrate domain map
  13. declare -a DOMAIN_ARR
  14. redis-cli -h redis-mailcow DEL DOMAIN_MAP
  15. while read line
  16. do
  17. DOMAIN_ARR+=("$line")
  18. done < <(mysql -h mysql-mailcow -u ${DBUSER} -p${DBPASS} ${DBNAME} -e "SELECT domain FROM domain" -Bs)
  19. while read line
  20. do
  21. DOMAIN_ARR+=("$line")
  22. done < <(mysql -h mysql-mailcow -u ${DBUSER} -p${DBPASS} ${DBNAME} -e "SELECT alias_domain FROM alias_domain" -Bs)
  23. if [[ ! -z ${DOMAIN_ARR} ]]; then
  24. for domain in "${DOMAIN_ARR[@]}"; do
  25. redis-cli -h redis-mailcow HSET DOMAIN_MAP ${domain} 1
  26. done
  27. fi
  28. exec "$@"