NobGit
public nobgit read

NobMail

Based on mailcow: dockerized

Languages

Repository composition by tracked source files.

PHP
PHP 49% JavaScript 35% HTML 9% CSS 4% Shell 2% Python 1% Lua 0% Perl 0% Ruby 0% SCSS 0%
Create file Wiki Documentation
Clone
https://nobgit.com/orgs/nobgit/nobmail.git
ssh://[email protected]:2222/orgs/nobgit/nobmail.git

Commit

[PHP-FPM] Trigger mysql_upgrade

04b699a3
andryyy <[email protected]> 8 years ago
data/Dockerfiles/phpfpm/Dockerfile           |  1 +
 data/Dockerfiles/phpfpm/docker-entrypoint.sh | 14 ++++++++++++++
 2 files changed, 15 insertions(+)

Diff

diff --git a/data/Dockerfiles/phpfpm/Dockerfile b/data/Dockerfiles/phpfpm/Dockerfile
index a23a767e..eb411024 100644
--- a/data/Dockerfiles/phpfpm/Dockerfile
+++ b/data/Dockerfiles/phpfpm/Dockerfile
@@ -20,6 +20,7 @@ RUN apk add -U --no-cache autoconf \
   imagemagick \
   imagemagick-dev \
   imap-dev \
+  jq \
   libjpeg-turbo \
   libjpeg-turbo-dev \
   libmemcached-dev \
diff --git a/data/Dockerfiles/phpfpm/docker-entrypoint.sh b/data/Dockerfiles/phpfpm/docker-entrypoint.sh
index bf3d1025..481e097a 100755
--- a/data/Dockerfiles/phpfpm/docker-entrypoint.sh
+++ b/data/Dockerfiles/phpfpm/docker-entrypoint.sh
@@ -14,10 +14,24 @@ until [[ $(redis-cli -h redis-mailcow PING) == "PONG" ]]; do
   sleep 2
 done
 
+# Set a default release format
+
 if [[ -z $(redis-cli --raw -h redis-mailcow GET Q_RELEASE_FORMAT) ]]; then
   redis-cli --raw -h redis-mailcow SET Q_RELEASE_FORMAT raw
 fi
 
+# Check of mysql_upgrade
+
+CONTAINER_ID=
+CONTAINER_ID=$(curl --silent --insecure https://dockerapi/containers/json | jq -r ".[] | {name: .Config.Labels[\"com.docker.compose.service\"], id: .Id}" | jq -rc "select( .name | tostring | contains(\"mysql-mailcow\")) | .id")
+if [[ ! -z ${CONTAINER_ID} ]]; then
+  SQL_UPGRADE_RETURN=$(curl --silent --insecure -XPOST https://dockerapi/containers/${CONTAINER_ID}/exec -d '{"cmd":"system", "task":"mysql_upgrade"}' --silent -H 'Content-type: application/json' | jq -r .type)
+  if [[ ${SQL_UPGRADE_RETURN} == 'warning' ]]; then
+    echo "MySQL applied an upgrade, restarting PHP-FPM..."
+    exit 1
+  fi
+fi
+
 # Trigger db init
 echo "Running DB init..."
 php -c /usr/local/etc/php -f /web/inc/init_db.inc.php