From 8c88f074e0ed2cb20ca5b96bbfdf7d84548f3b3c Mon Sep 17 00:00:00 2001 From: Glenn Date: Sat, 20 Jul 2024 16:47:28 +0200 Subject: [PATCH] fix: reorganize hook actions --- Dockerfile | 7 +++-- hooks/gx.before-starting.root.sh | 7 +++++ .../gx.before-starting.www.sh | 19 +++++++----- hooks/gx.post-installation.root.sh | 8 +++++ hooks/gx.post-installation.www.sh | 31 +++++++++++++++++++ postdeploy_hook.sh | 5 --- 6 files changed, 62 insertions(+), 15 deletions(-) create mode 100755 hooks/gx.before-starting.root.sh rename postdeploy.sh => hooks/gx.before-starting.www.sh (57%) create mode 100755 hooks/gx.post-installation.root.sh create mode 100755 hooks/gx.post-installation.www.sh delete mode 100755 postdeploy_hook.sh diff --git a/Dockerfile b/Dockerfile index 0b1c552..20c5d74 100644 --- a/Dockerfile +++ b/Dockerfile @@ -100,8 +100,11 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ && mkdir /var/log/supervisord /var/run/supervisord COPY supervisord.conf /etc/supervisord.conf -COPY --chmod=755 ./postdeploy.sh /app/postdeploy.sh -COPY --chmod=755 ./postdeploy_hook.sh /docker-entrypoint-hooks.d/post-installation/postdeploy_hook.sh +COPY --chmod=755 ./hooks/gx.post-installation.www.sh /app/gx.post-installation.www.sh +COPY --chmod=755 ./hooks/gx.post-installation.root.sh /docker-entrypoint-hooks.d/post-installation/gx.post-installation.root.sh + +COPY --chmod=755 ./hooks/gx.before-starting.www.sh /app/gx.before-starting.www.sh +COPY --chmod=755 ./hooks/gx.before-starting.root.sh /docker-entrypoint-hooks.d/before-starting/gx.before-starting.root.sh ENV NEXTCLOUD_UPDATE=1 diff --git a/hooks/gx.before-starting.root.sh b/hooks/gx.before-starting.root.sh new file mode 100755 index 0000000..fc8fc9f --- /dev/null +++ b/hooks/gx.before-starting.root.sh @@ -0,0 +1,7 @@ +#!/bin/sh + +set -u +set -e + +echo "== Running post-installation hooks as root user ==" +su -l -s /bin/sh www-data -c /app/gx.before-starting.www.sh diff --git a/postdeploy.sh b/hooks/gx.before-starting.www.sh similarity index 57% rename from postdeploy.sh rename to hooks/gx.before-starting.www.sh index 145f7b1..5a856a9 100755 --- a/postdeploy.sh +++ b/hooks/gx.before-starting.www.sh @@ -3,26 +3,29 @@ set -u set -e +echo "== Running post-installation hooks as www user ==" + +# wait for nextcloud to be initialized WORKDIR=/var/www/html counter=0 while [ ! -d "$WORKDIR" ] && [ "$counter" -lt 120 ]; do - echo "GYR:POSTDEPLOY:WAITING" + echo "GX:BEFORE-STARTING:WAITING" counter=$((counter+1)) sleep 1 done cd "$WORKDIR" || exit 1 -echo "GYR:POSTDEPLOY:START ($(pwd))" -find . -maxdepth 1 -echo "GYR:POSTDEPLOY:UPGRADE" +echo "GX:BEFORE-STARTING:START ($(pwd))" +# find . -maxdepth 1 +echo "GX:BEFORE-STARTING:UPGRADE" php -d memory_limit=-1 occ upgrade -echo "GYR:POSTDEPLOY:DB" +echo "GX:BEFORE-STARTING:DB" php -d memory_limit=-1 occ db:convert-filecache-bigint php -d memory_limit=-1 occ db:add-missing-indices -echo "GYR:POSTDEPLOY:HTACCESS" +echo "GX:BEFORE-STARTING:HTACCESS" php -d memory_limit=-1 occ maintenance:update:htaccess -echo "GYR:POSTDEPLOY:MAINTENANCE:OFF" +echo "GX:BEFORE-STARTING:MAINTENANCE:OFF" php -d memory_limit=-1 occ maintenance:mode --off php -d memory_limit=-1 occ maintenance:mode --off || true -echo "GYR:POSTDEPLOY:END" +echo "GX:BEFORE-STARTING:END" diff --git a/hooks/gx.post-installation.root.sh b/hooks/gx.post-installation.root.sh new file mode 100755 index 0000000..509bc77 --- /dev/null +++ b/hooks/gx.post-installation.root.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +set -u +set -e + +echo "== Running post-installation hooks as root user ==" +su -l -s /bin/sh www-data -c /app/gx.post-installation.www.sh + diff --git a/hooks/gx.post-installation.www.sh b/hooks/gx.post-installation.www.sh new file mode 100755 index 0000000..b659773 --- /dev/null +++ b/hooks/gx.post-installation.www.sh @@ -0,0 +1,31 @@ +#!/bin/sh + +set -u +set -e + +echo "== Running post-installation hooks as www user ==" + +# wait for nextcloud to be initialized +WORKDIR=/var/www/html +counter=0 +while [ ! -d "$WORKDIR" ] && [ "$counter" -lt 120 ]; do + echo "GX:POST-INSTALLATION:WAITING" + counter=$((counter+1)) + sleep 1 +done +cd "$WORKDIR" || exit 1 + +echo "GX:POST-INSTALLATION:START ($(pwd))" +# # find . -maxdepth 1 +# echo "GX:POST-INSTALLATION:UPGRADE" +# php -d memory_limit=-1 occ upgrade +# echo "GX:POST-INSTALLATION:DB" +# php -d memory_limit=-1 occ db:convert-filecache-bigint +# php -d memory_limit=-1 occ db:add-missing-indices +# echo "GX:POST-INSTALLATION:HTACCESS" +# php -d memory_limit=-1 occ maintenance:update:htaccess +# echo "GX:POST-INSTALLATION:MAINTENANCE:OFF" +# php -d memory_limit=-1 occ maintenance:mode --off +# php -d memory_limit=-1 occ maintenance:mode --off || true +echo "GX:POST-INSTALLATION:END" + diff --git a/postdeploy_hook.sh b/postdeploy_hook.sh deleted file mode 100755 index dcf5d85..0000000 --- a/postdeploy_hook.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -echo "Running postdeploy hooks as www-data" -su -l -s /bin/sh www-data -c /app/postdeploy.sh -