summaryrefslogtreecommitdiffstats
path: root/26/apache/entrypoint.sh
diff options
context:
space:
mode:
Diffstat (limited to '26/apache/entrypoint.sh')
-rwxr-xr-x26/apache/entrypoint.sh42
1 files changed, 42 insertions, 0 deletions
diff --git a/26/apache/entrypoint.sh b/26/apache/entrypoint.sh
index 37441fd8..941dc3ee 100755
--- a/26/apache/entrypoint.sh
+++ b/26/apache/entrypoint.sh
@@ -19,6 +19,39 @@ run_as() {
fi
}
+# Execute all executable files in a given directory in alphanumeric order
+run_path() {
+ local hook_folder_path="/docker-entrypoint-hooks.d/$1"
+ local return_code=0
+
+ echo "=> Searching for scripts (*.sh) to run, located in the folder: ${hook_folder_path}"
+
+ if [ -z "$(ls -A "${hook_folder_path}")" ]; then
+ echo "==> but the hook folder \"$(basename "${hook_folder_path}")\" is empty, so nothing to do"
+ return 0
+ fi
+
+ (
+ for script_file_path in "${hook_folder_path}/"*.sh; do
+ if ! [ -x "${script_file_path}" ] && [ -f "${script_file_path}" ]; then
+ echo "==> The script \"${script_file_path}\" in the folder \"${hook_folder_path}\" was skipping, because it didn't have the executable flag"
+ continue
+ fi
+
+ echo "==> Running the script (cwd: $(pwd)): \"${script_file_path}\""
+
+ run_as "${script_file_path}" || return_code="$?"
+
+ if [ "${return_code}" -ne "0" ]; then
+ echo "==> Failed at executing \"${script_file_path}\". Exit code: ${return_code}"
+ exit 1
+ fi
+
+ echo "==> Finished the script: \"${script_file_path}\""
+ done
+ )
+}
+
# usage: file_env VAR [DEFAULT]
# ie: file_env 'XYZ_DB_PASSWORD' 'example'
# (will allow for "$XYZ_DB_PASSWORD_FILE" to fill in the value of
@@ -182,6 +215,8 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP
fi
if [ "$install" = true ]; then
+ run_path pre-installation
+
echo "Starting nextcloud installation"
max_retries=10
try=0
@@ -204,12 +239,16 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP
NC_TRUSTED_DOMAIN_IDX=$((NC_TRUSTED_DOMAIN_IDX+1))
done
fi
+
+ run_path post-installation
else
echo "Please run the web-based installer on first connect!"
fi
fi
# Upgrade
else
+ run_path pre-upgrade
+
run_as 'php /var/www/html/occ upgrade'
run_as 'php /var/www/html/occ app:list' | sed -n "/Enabled:/,/Disabled:/p" > /tmp/list_after
@@ -217,6 +256,7 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP
diff /tmp/list_before /tmp/list_after | grep '<' | cut -d- -f2 | cut -d: -f1
rm -f /tmp/list_before /tmp/list_after
+ run_path post-upgrade
fi
echo "Initializing finished"
@@ -227,6 +267,8 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP
run_as 'php /var/www/html/occ maintenance:update:htaccess'
fi
) 9> /var/www/html/nextcloud-init-sync.lock
+
+ run_path before-starting
fi
exec "$@"