Преглед изворни кода

[Dovecot] Set repl health on start

andryyy пре 5 година
родитељ
комит
56e4963423
2 измењених фајлова са 15 додато и 1 уклоњено
  1. 14 0
      data/Dockerfiles/dovecot/docker-entrypoint.sh
  2. 1 1
      docker-compose.yml

+ 14 - 0
data/Dockerfiles/dovecot/docker-entrypoint.sh

@@ -7,6 +7,20 @@ while ! mysqladmin status --socket=/var/run/mysqld/mysqld.sock -u${DBUSER} -p${D
   sleep 2
 done
 
+# Do not attempt to write to slave
+if [[ ! -z ${REDIS_SLAVEOF_IP} ]]; then
+  REDIS_CMDLINE="redis-cli -h ${REDIS_SLAVEOF_IP} -p ${REDIS_SLAVEOF_PORT}"
+else
+  REDIS_CMDLINE="redis-cli -h redis -p 6379"
+fi
+
+until [[ $(${REDIS_CMDLINE} PING) == "PONG" ]]; do
+  echo "Waiting for Redis..."
+  sleep 2
+done
+
+${REDIS_CMDLINE} SET DOVECOT_REPL_HEALTH 1 > /dev/null
+
 # Create missing directories
 [[ ! -d /etc/dovecot/sql/ ]] && mkdir -p /etc/dovecot/sql/
 [[ ! -d /etc/dovecot/lua/ ]] && mkdir -p /etc/dovecot/lua/

+ 1 - 1
docker-compose.yml

@@ -189,7 +189,7 @@ services:
             - sogo
 
     dovecot-mailcow:
-      image: mailcow/dovecot:1.119
+      image: mailcow/dovecot:1.120
       depends_on:
         - mysql-mailcow
       dns: