mirror of
https://github.com/mailcow/mailcow-dockerized.git
synced 2026-11-05 07:58:20 +00:00
[Web][Dovecot][Compose] Keep group shares on Enter, no restarts while waiting for the schema, run sync crons on master only
This commit is contained in:
4 files changed
+8
-7
No files matched your search
@@ -306,13 +306,14 @@ IMAPSYNC_TABLE=$(mariadb --skip-ssl --socket=/var/run/mysqld/mysqld.sock -u ${DB
|
|||||||
echo "$(envsubst < /usr/local/bin/maildir_gc.sh)" > /usr/local/bin/maildir_gc.sh
|
echo "$(envsubst < /usr/local/bin/maildir_gc.sh)" > /usr/local/bin/maildir_gc.sh
|
||||||
|
|
||||||
# Wait for updated schema (DB_VERSION from docker-compose.yml), the userdb query reads tables the init_db of php-fpm creates on updates
|
# Wait for updated schema (DB_VERSION from docker-compose.yml), the userdb query reads tables the init_db of php-fpm creates on updates
|
||||||
DBV_NOW=$(mariadb --skip-ssl --socket=/var/run/mysqld/mysqld.sock -u ${DBUSER} -p${DBPASS} ${DBNAME} -e "SELECT version FROM versions WHERE application = 'db_schema';" -BN)
|
# No error while the versions table is missing (fresh install, set -e)
|
||||||
|
DBV_NOW=$(mariadb --skip-ssl --socket=/var/run/mysqld/mysqld.sock -u ${DBUSER} -p${DBPASS} ${DBNAME} -e "SELECT version FROM versions WHERE application = 'db_schema';" -BN 2>/dev/null || true)
|
||||||
DBV_WAIT=0
|
DBV_WAIT=0
|
||||||
while [[ "${DBV_NOW}" != "${DB_VERSION}" ]] && [[ ${DBV_WAIT} -lt 60 ]]; do
|
while [[ "${DBV_NOW}" != "${DB_VERSION}" ]] && [[ ${DBV_WAIT} -lt 60 ]]; do
|
||||||
echo "Waiting for schema update..."
|
echo "Waiting for schema update..."
|
||||||
sleep 5
|
sleep 5
|
||||||
DBV_WAIT=$((DBV_WAIT + 1))
|
DBV_WAIT=$((DBV_WAIT + 1))
|
||||||
DBV_NOW=$(mariadb --skip-ssl --socket=/var/run/mysqld/mysqld.sock -u ${DBUSER} -p${DBPASS} ${DBNAME} -e "SELECT version FROM versions WHERE application = 'db_schema';" -BN)
|
DBV_NOW=$(mariadb --skip-ssl --socket=/var/run/mysqld/mysqld.sock -u ${DBUSER} -p${DBPASS} ${DBNAME} -e "SELECT version FROM versions WHERE application = 'db_schema';" -BN 2>/dev/null || true)
|
||||||
done
|
done
|
||||||
if [[ "${DBV_NOW}" != "${DB_VERSION}" ]]; then
|
if [[ "${DBV_NOW}" != "${DB_VERSION}" ]]; then
|
||||||
echo -e "\e[31mDB schema is ${DBV_NOW}, expected ${DB_VERSION} - starting anyway, check the php-fpm log (init_db)\e[0m"
|
echo -e "\e[31mDB schema is ${DBV_NOW}, expected ${DB_VERSION} - starting anyway, check the php-fpm log (init_db)\e[0m"
|
||||||
|
|||||||
@@ -43,7 +43,7 @@
|
|||||||
</td>
|
</td>
|
||||||
<td class="text-end">
|
<td class="text-end">
|
||||||
{% if not ro %}
|
{% if not ro %}
|
||||||
<button class="btn btn-sm btn-secondary group-grant-del" title="{{ lang.mailbox.remove }}"><i class="bi bi-x-lg"></i></button>
|
<button type="button" class="btn btn-sm btn-secondary group-grant-del" title="{{ lang.mailbox.remove }}"><i class="bi bi-x-lg"></i></button>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -17,7 +17,7 @@
|
|||||||
<template id="{{ id }}_template">
|
<template id="{{ id }}_template">
|
||||||
{% include 'edit/mailbox-group-grant.twig' with {'kind': kind, 'grant': {}} %}
|
{% include 'edit/mailbox-group-grant.twig' with {'kind': kind, 'grant': {}} %}
|
||||||
</template>
|
</template>
|
||||||
<button class="btn btn-sm btn-secondary group-grant-add" data-table="{{ id }}"><i class="bi bi-plus-lg"></i> {{ lang.groups.grant_add }}</button>
|
<button type="button" class="btn btn-sm btn-secondary group-grant-add" data-table="{{ id }}"><i class="bi bi-plus-lg"></i> {{ lang.groups.grant_add }}</button>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<small class="text-muted d-block">{{ attribute(lang.groups, field ~ '_hint') }}</small>
|
<small class="text-muted d-block">{{ attribute(lang.groups, field ~ '_hint') }}</small>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
+3
-3
@@ -194,13 +194,13 @@ services:
|
|||||||
ofelia.enabled: "true"
|
ofelia.enabled: "true"
|
||||||
ofelia.job-exec.phpfpm_identity_sync.schedule: "0 * * * * *"
|
ofelia.job-exec.phpfpm_identity_sync.schedule: "0 * * * * *"
|
||||||
ofelia.job-exec.phpfpm_identity_sync.no-overlap: "true"
|
ofelia.job-exec.phpfpm_identity_sync.no-overlap: "true"
|
||||||
ofelia.job-exec.phpfpm_identity_sync.command: "/bin/bash -c \"php /crons/identity-sync.php || exit 0\""
|
ofelia.job-exec.phpfpm_identity_sync.command: "/bin/bash -c \"[[ $${MASTER} == y ]] && php /crons/identity-sync.php || exit 0\""
|
||||||
ofelia.job-exec.phpfpm_group_grants.schedule: "0 * * * * *"
|
ofelia.job-exec.phpfpm_group_grants.schedule: "0 * * * * *"
|
||||||
ofelia.job-exec.phpfpm_group_grants.no-overlap: "true"
|
ofelia.job-exec.phpfpm_group_grants.no-overlap: "true"
|
||||||
ofelia.job-exec.phpfpm_group_grants.command: "/bin/bash -c \"php /crons/group-grants.php || exit 0\""
|
ofelia.job-exec.phpfpm_group_grants.command: "/bin/bash -c \"[[ $${MASTER} == y ]] && php /crons/group-grants.php || exit 0\""
|
||||||
ofelia.job-exec.phpfpm_imapsync_oauth_refresh.schedule: "0 * * * * *"
|
ofelia.job-exec.phpfpm_imapsync_oauth_refresh.schedule: "0 * * * * *"
|
||||||
ofelia.job-exec.phpfpm_imapsync_oauth_refresh.no-overlap: "true"
|
ofelia.job-exec.phpfpm_imapsync_oauth_refresh.no-overlap: "true"
|
||||||
ofelia.job-exec.phpfpm_imapsync_oauth_refresh.command: "/bin/bash -c \"php /crons/imapsync-oauth-refresh.php || exit 0\""
|
ofelia.job-exec.phpfpm_imapsync_oauth_refresh.command: "/bin/bash -c \"[[ $${MASTER} == y ]] && php /crons/imapsync-oauth-refresh.php || exit 0\""
|
||||||
networks:
|
networks:
|
||||||
mailcow-network:
|
mailcow-network:
|
||||||
aliases:
|
aliases:
|
||||||
|
|||||||
Reference in new issue
Block a user