diff --git a/data/Dockerfiles/sogo/bootstrap-sogo.sh b/data/Dockerfiles/sogo/bootstrap-sogo.sh index 2a6f7090..256c3c1d 100755 --- a/data/Dockerfiles/sogo/bootstrap-sogo.sh +++ b/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" diff --git a/docker-compose.yml b/docker-compose.yml index f3b0ec19..bcccc910 100644 --- a/docker-compose.yml +++ b/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}