From eeeb4edc24e3c04707a518e49542f10dffac183f Mon Sep 17 00:00:00 2001 From: Josh Date: Tue, 26 Nov 2024 08:40:09 -0500 Subject: [PATCH 1/5] fix(hooks): Consistent logging + skip when empty too - Use "Searching for scripts [...] located in [...]" consistently (i.e. for each hook_folder_path instead of only for some / under some conditions) - Skip early if a given hook folder is empty too (not just nonexistent) - Add feature name (hooks) to all messaging for clarity Signed-off-by: Josh --- docker-entrypoint.sh | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh index 8e178f2e..5c880189 100755 --- a/docker-entrypoint.sh +++ b/docker-entrypoint.sh @@ -24,30 +24,30 @@ run_path() { local hook_folder_path="/docker-entrypoint-hooks.d/$1" local return_code=0 - if ! [ -d "${hook_folder_path}" ]; then - echo "=> Skipping the folder \"${hook_folder_path}\", because it doesn't exist" + echo "=> Searching for hook scripts (*.sh) to run, located in the folder: ${hook_folder_path}" + + if ! [ -d "${hook_folder_path}" ] || directory_empty "${hook_folder_path}"; then + echo "=> Skipping the hook folder \"${hook_folder_path}\", because it doesn't exist or is empty" return 0 fi - echo "=> Searching for scripts (*.sh) to run, located in the folder: ${hook_folder_path}" - ( find "${hook_folder_path}" -maxdepth 1 -iname '*.sh' '(' -type f -o -type l ')' -print | sort | while read -r script_file_path; do if ! [ -x "${script_file_path}" ]; then - echo "==> The script \"${script_file_path}\" was skipped, because it didn't have the executable flag" + echo "==> The hook script \"${script_file_path}\" was skipped, because it didn't have the executable flag" continue fi - echo "==> Running the script (cwd: $(pwd)): \"${script_file_path}\"" + echo "==> Running the hook 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}" + echo "==> Failed at executing hook script \"${script_file_path}\". Exit code: ${return_code}" exit 1 fi - echo "==> Finished the script: \"${script_file_path}\"" + echo "==> Finished the hook script: \"${script_file_path}\"" done ) } From f360440588971a52aa62ff38a4b01f45ae5f4cfa Mon Sep 17 00:00:00 2001 From: Josh Date: Tue, 26 Nov 2024 12:00:46 -0500 Subject: [PATCH 2/5] fix(hooks): Clear state delineation / consistent output Signed-off-by: Josh --- docker-entrypoint.sh | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh index 5c880189..db6044a8 100755 --- a/docker-entrypoint.sh +++ b/docker-entrypoint.sh @@ -23,32 +23,39 @@ run_as() { run_path() { local hook_folder_path="/docker-entrypoint-hooks.d/$1" local return_code=0 + local found=0 - echo "=> Searching for hook scripts (*.sh) to run, located in the folder: ${hook_folder_path}" + echo "=> Searching for hook scripts (*.sh) to run, located in the folder \"${hook_folder_path}\"" if ! [ -d "${hook_folder_path}" ] || directory_empty "${hook_folder_path}"; then - echo "=> Skipping the hook folder \"${hook_folder_path}\", because it doesn't exist or is empty" + echo "==> Skipped: the \"$1\" folder is empty (or does not exist)" return 0 fi - ( - find "${hook_folder_path}" -maxdepth 1 -iname '*.sh' '(' -type f -o -type l ')' -print | sort | while read -r script_file_path; do + find "${hook_folder_path}" -maxdepth 1 -iname '*.sh' '(' -type f -o -type l ')' -print | sort | ( + while read -r script_file_path; do if ! [ -x "${script_file_path}" ]; then - echo "==> The hook script \"${script_file_path}\" was skipped, because it didn't have the executable flag" + echo "==> The script \"${script_file_path}\" was skipped, because it lacks the executable flag" + found=$((found-1)) continue fi - echo "==> Running the hook script (cwd: $(pwd)): \"${script_file_path}\"" - + echo "==> Running the script (cwd: $(pwd)): \"${script_file_path}\"" + found=$((found+1)) run_as "${script_file_path}" || return_code="$?" if [ "${return_code}" -ne "0" ]; then - echo "==> Failed at executing hook script \"${script_file_path}\". Exit code: ${return_code}" + echo "==> Failed at executing script \"${script_file_path}\". Exit code: ${return_code}" exit 1 fi - echo "==> Finished the hook script: \"${script_file_path}\"" + echo "==> Finished executing the script: \"${script_file_path}\"" done + if [ "$found" -lt "1" ]; then + echo "==> Skipped: the \"$1\" folder does not contain any valid scripts" + else + echo "=> Completed executing scripts in the \"$1\" folder" + fi ) } From 2f38386c5005bccde7d76f9090e65be7624c3123 Mon Sep 17 00:00:00 2001 From: adripo <26493496+adripo@users.noreply.github.com> Date: Fri, 7 Feb 2025 02:57:55 +0100 Subject: [PATCH 3/5] fix: opcache configuration (#2185) * fix: opcache configuration Signed-off-by: adripo <26493496+adripo@users.noreply.github.com> * fix: revert opcache memory consumption and strings buffer Signed-off-by: adripo <26493496+adripo@users.noreply.github.com> --------- Signed-off-by: adripo <26493496+adripo@users.noreply.github.com> --- Dockerfile-alpine.template | 2 +- Dockerfile-debian.template | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile-alpine.template b/Dockerfile-alpine.template index f7568e73..c5517536 100644 --- a/Dockerfile-alpine.template +++ b/Dockerfile-alpine.template @@ -97,7 +97,7 @@ RUN { \ echo 'opcache.save_comments=1'; \ echo 'opcache.revalidate_freq=60'; \ echo 'opcache.jit=1255'; \ - echo 'opcache.jit_buffer_size=128M'; \ + echo 'opcache.jit_buffer_size=8M'; \ } > "${PHP_INI_DIR}/conf.d/opcache-recommended.ini"; \ \ echo 'apc.enable_cli=1' >> "${PHP_INI_DIR}/conf.d/docker-php-ext-apcu.ini"; \ diff --git a/Dockerfile-debian.template b/Dockerfile-debian.template index 792c9fe2..9695c010 100644 --- a/Dockerfile-debian.template +++ b/Dockerfile-debian.template @@ -102,7 +102,7 @@ RUN { \ echo 'opcache.save_comments=1'; \ echo 'opcache.revalidate_freq=60'; \ echo 'opcache.jit=1255'; \ - echo 'opcache.jit_buffer_size=128M'; \ + echo 'opcache.jit_buffer_size=8M'; \ } > "${PHP_INI_DIR}/conf.d/opcache-recommended.ini"; \ \ echo 'apc.enable_cli=1' >> "${PHP_INI_DIR}/conf.d/docker-php-ext-apcu.ini"; \ From 877ddb49dd86ebfa98a08c7f9c3b0428799f2fd2 Mon Sep 17 00:00:00 2001 From: GitHub Workflow Date: Fri, 7 Feb 2025 01:58:08 +0000 Subject: [PATCH 4/5] Runs update.sh --- 29/apache/Dockerfile | 2 +- 29/fpm-alpine/Dockerfile | 2 +- 29/fpm/Dockerfile | 2 +- 30/apache/Dockerfile | 2 +- 30/fpm-alpine/Dockerfile | 2 +- 30/fpm/Dockerfile | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/29/apache/Dockerfile b/29/apache/Dockerfile index cb48fdc7..fa5fabae 100644 --- a/29/apache/Dockerfile +++ b/29/apache/Dockerfile @@ -103,7 +103,7 @@ RUN { \ echo 'opcache.save_comments=1'; \ echo 'opcache.revalidate_freq=60'; \ echo 'opcache.jit=1255'; \ - echo 'opcache.jit_buffer_size=128M'; \ + echo 'opcache.jit_buffer_size=8M'; \ } > "${PHP_INI_DIR}/conf.d/opcache-recommended.ini"; \ \ echo 'apc.enable_cli=1' >> "${PHP_INI_DIR}/conf.d/docker-php-ext-apcu.ini"; \ diff --git a/29/fpm-alpine/Dockerfile b/29/fpm-alpine/Dockerfile index 59daebfd..61c6de6e 100644 --- a/29/fpm-alpine/Dockerfile +++ b/29/fpm-alpine/Dockerfile @@ -98,7 +98,7 @@ RUN { \ echo 'opcache.save_comments=1'; \ echo 'opcache.revalidate_freq=60'; \ echo 'opcache.jit=1255'; \ - echo 'opcache.jit_buffer_size=128M'; \ + echo 'opcache.jit_buffer_size=8M'; \ } > "${PHP_INI_DIR}/conf.d/opcache-recommended.ini"; \ \ echo 'apc.enable_cli=1' >> "${PHP_INI_DIR}/conf.d/docker-php-ext-apcu.ini"; \ diff --git a/29/fpm/Dockerfile b/29/fpm/Dockerfile index 657df0ef..2a64b02a 100644 --- a/29/fpm/Dockerfile +++ b/29/fpm/Dockerfile @@ -103,7 +103,7 @@ RUN { \ echo 'opcache.save_comments=1'; \ echo 'opcache.revalidate_freq=60'; \ echo 'opcache.jit=1255'; \ - echo 'opcache.jit_buffer_size=128M'; \ + echo 'opcache.jit_buffer_size=8M'; \ } > "${PHP_INI_DIR}/conf.d/opcache-recommended.ini"; \ \ echo 'apc.enable_cli=1' >> "${PHP_INI_DIR}/conf.d/docker-php-ext-apcu.ini"; \ diff --git a/30/apache/Dockerfile b/30/apache/Dockerfile index 21195941..f82a1d9e 100644 --- a/30/apache/Dockerfile +++ b/30/apache/Dockerfile @@ -103,7 +103,7 @@ RUN { \ echo 'opcache.save_comments=1'; \ echo 'opcache.revalidate_freq=60'; \ echo 'opcache.jit=1255'; \ - echo 'opcache.jit_buffer_size=128M'; \ + echo 'opcache.jit_buffer_size=8M'; \ } > "${PHP_INI_DIR}/conf.d/opcache-recommended.ini"; \ \ echo 'apc.enable_cli=1' >> "${PHP_INI_DIR}/conf.d/docker-php-ext-apcu.ini"; \ diff --git a/30/fpm-alpine/Dockerfile b/30/fpm-alpine/Dockerfile index e7efd0c8..26e4a568 100644 --- a/30/fpm-alpine/Dockerfile +++ b/30/fpm-alpine/Dockerfile @@ -98,7 +98,7 @@ RUN { \ echo 'opcache.save_comments=1'; \ echo 'opcache.revalidate_freq=60'; \ echo 'opcache.jit=1255'; \ - echo 'opcache.jit_buffer_size=128M'; \ + echo 'opcache.jit_buffer_size=8M'; \ } > "${PHP_INI_DIR}/conf.d/opcache-recommended.ini"; \ \ echo 'apc.enable_cli=1' >> "${PHP_INI_DIR}/conf.d/docker-php-ext-apcu.ini"; \ diff --git a/30/fpm/Dockerfile b/30/fpm/Dockerfile index 593d4b30..c0769823 100644 --- a/30/fpm/Dockerfile +++ b/30/fpm/Dockerfile @@ -103,7 +103,7 @@ RUN { \ echo 'opcache.save_comments=1'; \ echo 'opcache.revalidate_freq=60'; \ echo 'opcache.jit=1255'; \ - echo 'opcache.jit_buffer_size=128M'; \ + echo 'opcache.jit_buffer_size=8M'; \ } > "${PHP_INI_DIR}/conf.d/opcache-recommended.ini"; \ \ echo 'apc.enable_cli=1' >> "${PHP_INI_DIR}/conf.d/docker-php-ext-apcu.ini"; \ From 69c1e4a000944c6a29cf70dc0de8deb18b4bb8c0 Mon Sep 17 00:00:00 2001 From: J0WI Date: Fri, 7 Feb 2025 02:04:45 +0000 Subject: [PATCH 5/5] Update cache policy to match documentation (fix #2313) (#2369) --- .examples/docker-compose/insecure/mariadb/fpm/web/nginx.conf | 2 +- .examples/docker-compose/insecure/postgres/fpm/web/nginx.conf | 2 +- .../docker-compose/with-nginx-proxy/mariadb/fpm/web/nginx.conf | 2 +- .../docker-compose/with-nginx-proxy/postgres/fpm/web/nginx.conf | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.examples/docker-compose/insecure/mariadb/fpm/web/nginx.conf b/.examples/docker-compose/insecure/mariadb/fpm/web/nginx.conf index 1dd6e11d..6e0ad588 100644 --- a/.examples/docker-compose/insecure/mariadb/fpm/web/nginx.conf +++ b/.examples/docker-compose/insecure/mariadb/fpm/web/nginx.conf @@ -183,7 +183,7 @@ http { } } - location ~ \.woff2?$ { + location ~ \.(otf|woff2?)$ { try_files $uri /index.php$request_uri; expires 7d; # Cache-Control policy borrowed from `.htaccess` access_log off; # Optional: Don't log access to assets diff --git a/.examples/docker-compose/insecure/postgres/fpm/web/nginx.conf b/.examples/docker-compose/insecure/postgres/fpm/web/nginx.conf index 1dd6e11d..6e0ad588 100644 --- a/.examples/docker-compose/insecure/postgres/fpm/web/nginx.conf +++ b/.examples/docker-compose/insecure/postgres/fpm/web/nginx.conf @@ -183,7 +183,7 @@ http { } } - location ~ \.woff2?$ { + location ~ \.(otf|woff2?)$ { try_files $uri /index.php$request_uri; expires 7d; # Cache-Control policy borrowed from `.htaccess` access_log off; # Optional: Don't log access to assets diff --git a/.examples/docker-compose/with-nginx-proxy/mariadb/fpm/web/nginx.conf b/.examples/docker-compose/with-nginx-proxy/mariadb/fpm/web/nginx.conf index a3c9f28b..a0db1a1c 100644 --- a/.examples/docker-compose/with-nginx-proxy/mariadb/fpm/web/nginx.conf +++ b/.examples/docker-compose/with-nginx-proxy/mariadb/fpm/web/nginx.conf @@ -183,7 +183,7 @@ http { } } - location ~ \.woff2?$ { + location ~ \.(otf|woff2?)$ { try_files $uri /index.php$request_uri; expires 7d; # Cache-Control policy borrowed from `.htaccess` access_log off; # Optional: Don't log access to assets diff --git a/.examples/docker-compose/with-nginx-proxy/postgres/fpm/web/nginx.conf b/.examples/docker-compose/with-nginx-proxy/postgres/fpm/web/nginx.conf index a3c9f28b..a0db1a1c 100644 --- a/.examples/docker-compose/with-nginx-proxy/postgres/fpm/web/nginx.conf +++ b/.examples/docker-compose/with-nginx-proxy/postgres/fpm/web/nginx.conf @@ -183,7 +183,7 @@ http { } } - location ~ \.woff2?$ { + location ~ \.(otf|woff2?)$ { try_files $uri /index.php$request_uri; expires 7d; # Cache-Control policy borrowed from `.htaccess` access_log off; # Optional: Don't log access to assets