Browse Source

[SOGo] Refresh sogo static view on start

André 7 years ago
parent
commit
8a9ce0a57c
2 changed files with 16 additions and 1 deletions
  1. 15 0
      data/Dockerfiles/sogo/bootstrap-sogo.sh
  2. 1 1
      docker-compose.yml

+ 15 - 0
data/Dockerfiles/sogo/bootstrap-sogo.sh

@@ -34,6 +34,21 @@ EOF
   fi
 done
 
+# Wait for static view table if missing after update and update content
+
+while [[ ${STATIC_VIEW_OK} != 'OK' ]]; do
+  if [[ ! -z $(mysql --host mysql -u ${DBUSER} -p${DBPASS} ${DBNAME} -B -e "SELECT 'OK' FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = '_sogo_static_view'") ]]; then
+    STATIC_VIEW_OK=OK
+    echo "Updating _sogo_static_view content..."
+    mysql --host mysql -u ${DBUSER} -p${DBPASS} ${DBNAME} -B -e "REPLACE INTO _sogo_static_view SELECT * from sogo_view"
+    mysql --host mysql -u ${DBUSER} -p${DBPASS} ${DBNAME} -B -e "DELETE FROM _sogo_static_view WHERE c_uid NOT IN (SELECT username FROM mailbox WHERE active = '1'"
+   }
+  else
+    echo "Waiting for database initialization..."
+    sleep 3
+  fi
+done
+
 # Recreate password update trigger
 
 mysql --host mysql -u ${DBUSER} -p${DBPASS} ${DBNAME} -e "DROP TRIGGER IF EXISTS sogo_update_password"

+ 1 - 1
docker-compose.yml

@@ -146,7 +146,7 @@ services:
             - phpfpm
 
     sogo-mailcow:
-      image: mailcow/sogo:1.25
+      image: mailcow/sogo:1.26
       build: ./data/Dockerfiles/sogo
       environment:
         - DBNAME=${DBNAME}