From 93bcb40de11be1dc1c401b28ca59955cf0b106a3 Mon Sep 17 00:00:00 2001 From: Lubomir Stanko Date: Fri, 19 Apr 2024 11:15:54 +0200 Subject: [PATCH] Update docker php82 to 8.2.18, php83 to 8.3.6 and other needed packages --- README.md | 38 ++++++++++--------- build/php82/cli/base/Dockerfile | 17 +++++---- .../php82/cli/base/usr/local/bin/create-user | 8 ++-- build/php82/cli/base/usr/local/bin/cron-cmd | 4 +- .../bin/generate-messenger-supervisor-conf | 2 +- .../cli/base/usr/local/bin/start-messenger | 2 +- build/php82/cli/vipsffmpeg/Dockerfile | 21 +++++----- .../cli/vipsffmpeg/usr/local/bin/create-user | 8 ++-- .../cli/vipsffmpeg/usr/local/bin/cron-cmd | 4 +- .../bin/generate-messenger-supervisor-conf | 2 +- .../vipsffmpeg/usr/local/bin/start-messenger | 2 +- build/php82/fpm/vipsffmpeg-nginx/Dockerfile | 22 ++++++----- .../etc/nginx/conf.d/cors.conf.template | 2 +- .../etc/nginx/conf.d/default.conf.template | 2 +- .../usr/local/bin/create-user | 8 ++-- .../vipsffmpeg-nginx/usr/local/bin/cron-cmd | 4 +- .../usr/local/bin/docker-entrypoint | 4 +- .../bin/generate-messenger-supervisor-conf | 2 +- .../usr/local/bin/start-messenger | 2 +- build/php83/cli/base/Dockerfile | 17 +++++---- .../php83/cli/base/usr/local/bin/create-user | 8 ++-- build/php83/cli/base/usr/local/bin/cron-cmd | 4 +- .../bin/generate-messenger-supervisor-conf | 2 +- .../cli/base/usr/local/bin/start-messenger | 2 +- build/php83/cli/vipsffmpeg/Dockerfile | 21 +++++----- .../cli/vipsffmpeg/usr/local/bin/create-user | 8 ++-- .../cli/vipsffmpeg/usr/local/bin/cron-cmd | 4 +- .../bin/generate-messenger-supervisor-conf | 2 +- .../vipsffmpeg/usr/local/bin/start-messenger | 2 +- build/php83/fpm/vipsffmpeg-nginx/Dockerfile | 22 ++++++----- .../etc/nginx/conf.d/cors.conf.template | 2 +- .../etc/nginx/conf.d/default.conf.template | 2 +- .../usr/local/bin/create-user | 8 ++-- .../vipsffmpeg-nginx/usr/local/bin/cron-cmd | 4 +- .../usr/local/bin/docker-entrypoint | 4 +- .../bin/generate-messenger-supervisor-conf | 2 +- .../usr/local/bin/start-messenger | 2 +- config/all/usr/local/bin/create-user | 8 ++-- config/all/usr/local/bin/cron-cmd | 4 +- .../bin/generate-messenger-supervisor-conf | 2 +- config/all/usr/local/bin/start-messenger | 2 +- .../etc/nginx/conf.d/cors.conf.template | 2 +- .../etc/nginx/conf.d/default.conf.template | 2 +- .../fpm-nginx/usr/local/bin/docker-entrypoint | 4 +- doc/PHP-Changelog/3.3.0.md | 13 +++++++ template.Dockerfile | 7 +++- variant-nginx.Dockerfile | 1 - versions.conf | 14 +++---- 48 files changed, 181 insertions(+), 148 deletions(-) create mode 100644 doc/PHP-Changelog/3.3.0.md diff --git a/README.md b/README.md index 24df56e..a076357 100644 --- a/README.md +++ b/README.md @@ -8,26 +8,28 @@ Additionally, it has preinstalled some libraries (xdebug, libvips, redis, mongod ## What's inside -- PHP 8.2 - 8.2.16 -- PHP 8.3 - 8.3.3 -- PHP Apcu ext - 5.1.23 -- PHP Mongodb ext - 1.17.2 -- PHP Redis ext - 6.0.2 -- PHP Pcov ext - 1.0.11 -- PHP Xdebug ext - 3.3.1 -- Redis (client) - 6.2.14 -- Supervisor - 4.2.5 -- Composer - 2.7.1 +- PHP 8.2 +- PHP 8.3 +- PHP Apcu ext +- PHP Mongodb ext +- PHP Redis ext +- PHP Pcov ext +- PHP Xdebug ext +- Redis (client) +- Supervisor +- Composer - Vipsffmpeg variant: - - PHP Vips ext - 1.0.13 - - FFmpeg - 5.1.4 - - LibVips - 8.15.1 + - PHP Vips ext + - FFmpeg + - LibVips - Nginx variant: - - Nginx - 1.24.0 - - Nginx-xslt - 1.24.0 - - Nginx-geoip - 1.24.0 - - Nginx-image-filter - 1.24.0 - - Nginx-njs - 0.8.3 + - Nginx + - Nginx-xslt + - Nginx-geoip + - Nginx-image-filter + - Nginx-njs + +See versions in [version.conf](https://github.com/anzusystems/docker-php/blob/main/versions.conf) file. ### Special common commands diff --git a/build/php82/cli/base/Dockerfile b/build/php82/cli/base/Dockerfile index 30e8dc6..cfbfd2f 100644 --- a/build/php82/cli/base/Dockerfile +++ b/build/php82/cli/base/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY! # CHECK README FOR MORE INFO. # -FROM php:8.2.16-cli +FROM php:8.2.18-cli LABEL maintainer="Lubomir Stanko " @@ -13,6 +13,8 @@ LABEL maintainer="Lubomir Stanko " # ---------------------------------------------------------------------------------------------------------------------- # Building envs ENV MAKEFLAGS="-j4" +# Common envs +ENV PROJECT_ROOT="/var/www/html" # Php # Php error reporting constants https://www.php.net/manual/en/errorfunc.constants.php # Calculate the number for config on https://maximivanov.github.io/php-error-reporting-calculator/ @@ -45,7 +47,8 @@ ENV PHP_DATE_TIMEZONE="UTC" \ PHP_SLOW_LOG="/proc/self/fd/2" \ PHP_UPLOAD_MAX_FILESIZE="20M" \ PHP_VARIABLES_ORDER="GPCS" \ - XDEBUG_LOG="/var/www/html/xdebug.log" + PROJECT_WEBROOT="${PROJECT_ROOT}/public" \ + XDEBUG_LOG="${PROJECT_ROOT}/xdebug.log" # Composer ENV COMPOSER_HOME="/composer" \ PATH="/composer/vendor/bin:$PATH" @@ -122,10 +125,10 @@ RUN apt-get update && \ apt-get install -y \ ${PECL_BUILD_DEPS} && \ yes '' | MAKEFLAGS="-j$(($(nproc)+2))" pecl install apcu-5.1.23 && \ - yes '' | MAKEFLAGS="-j$(($(nproc)+2))" pecl install mongodb-1.17.2 && \ + yes '' | MAKEFLAGS="-j$(($(nproc)+2))" pecl install mongodb-1.18.1 && \ yes '' | MAKEFLAGS="-j$(($(nproc)+2))" pecl install pcov-1.0.11 && \ yes '' | MAKEFLAGS="-j$(($(nproc)+2))" pecl install redis-6.0.2 && \ - yes '' | MAKEFLAGS="-j$(($(nproc)+2))" pecl install xdebug-3.3.1 && \ + yes '' | MAKEFLAGS="-j$(($(nproc)+2))" pecl install xdebug-3.3.2 && \ docker-php-ext-enable \ apcu \ mongodb \ @@ -159,7 +162,7 @@ RUN curl -sS https://getcomposer.org/installer | \ php -- \ --install-dir=/usr/local/bin \ --filename=composer \ - --version=2.7.1 + --version=2.7.2 # ---------------------------------------------------------------------------------------------------------------------- # REDIS-TOOLS @@ -170,7 +173,7 @@ RUN DEBIAN_FRONTEND=noninteractive && \ curl -fsSL https://packages.redis.io/gpg | gpg --dearmor -o ${REDIS_KEYRING} && \ echo "deb [signed-by=${REDIS_KEYRING}] https://packages.redis.io/deb ${REDIS_REPO} main" > /etc/apt/sources.list.d/redis.list && \ apt-get update && \ - apt-get install -y redis-tools=6:6.2.14-1rl1~bookworm1 && \ + apt-get install -y redis-tools=6:7.2.4-1rl1~bookworm1 && \ # Cleanup apt-get clean && \ rm -r /var/lib/apt/lists/* @@ -188,6 +191,6 @@ COPY ./usr /usr # RUN # Run setup and entrypoint start # ---------------------------------------------------------------------------------------------------------------------- -WORKDIR /var/www/html +WORKDIR ${PROJECT_ROOT} ENTRYPOINT ["docker-entrypoint"] diff --git a/build/php82/cli/base/usr/local/bin/create-user b/build/php82/cli/base/usr/local/bin/create-user index 3531b50..9aa34cd 100755 --- a/build/php82/cli/base/usr/local/bin/create-user +++ b/build/php82/cli/base/usr/local/bin/create-user @@ -5,6 +5,10 @@ set -euo pipefail USER_UID=${1:-1000} USER_GID=${2:-1000} SYSTEM_FOLDERS=( + "${PROJECT_ROOT:-/var/www/html}" + "${PROJECT_ROOT:-/var/www/html}/var/log" + "${COMPOSER_HOME:-/composer}" + "${COMPOSER_HOME:-/composer}/cache" "/etc/ImageMagick-6" "/etc/nginx" "/etc/supervisor" @@ -19,10 +23,6 @@ SYSTEM_FOLDERS=( "/var/log/php" "/var/run/php" "/var/run/supervisor" - "/var/www/html" - "/var/www/html/var/log" - "${COMPOSER_HOME:-/composer}" - "${COMPOSER_HOME:-/composer}/cache" ) echo "Creating \"user\" group with GID \"${USER_GID}\"" diff --git a/build/php82/cli/base/usr/local/bin/cron-cmd b/build/php82/cli/base/usr/local/bin/cron-cmd index 3609918..da338af 100755 --- a/build/php82/cli/base/usr/local/bin/cron-cmd +++ b/build/php82/cli/base/usr/local/bin/cron-cmd @@ -3,7 +3,7 @@ set -euo pipefail CRON_LOG_LEVEL="${CRON_LOG_LEVEL:-warn}" -CRON_LOG_DIR="${CRON_LOG_DIR:-/var/www/html/var/log}" +CRON_LOG_DIR="${CRON_LOG_DIR:-${PROJECT_ROOT:-/var/www/html}/var/log}" ARGS=$* COMMAND_NAME="" @@ -98,7 +98,7 @@ function execute() { _info "Starting cron task \"${COMMAND_NAME}\"" - cd /var/www/html || exit 1 + cd "${PROJECT_ROOT:-/var/www/html}" || exit 1 if [ -n "${LOCK_FILE}" ]; then _set flock -w 50 -E 99 "${LOCK_FILE}" bash -c "$command" || true diff --git a/build/php82/cli/base/usr/local/bin/generate-messenger-supervisor-conf b/build/php82/cli/base/usr/local/bin/generate-messenger-supervisor-conf index 2ea540d..0ee073a 100755 --- a/build/php82/cli/base/usr/local/bin/generate-messenger-supervisor-conf +++ b/build/php82/cli/base/usr/local/bin/generate-messenger-supervisor-conf @@ -10,7 +10,7 @@ SUPERVISOR_MESSENGER_PRIORITY=20 SUPERVISOR_MESSENGER_TIME_LIMIT=${SUPERVISOR_MESSENGER_TIME_LIMIT:-3600} SUPERVISOR_MESSENGER_VERBOSITY=${SUPERVISOR_MESSENGER_VERBOSITY:-} # Logging configuration -MESSENGER_LOG_PREFIX=${MESSENGER_LOG_PREFIX:-/var/www/html/var/log} +MESSENGER_LOG_PREFIX=${MESSENGER_LOG_PREFIX:-${PROJECT_ROOT:-/var/www/html}/var/log} SUPERVISOR_LOG_TO_FILE_ENABLED=${SUPERVISOR_LOG_TO_FILE_ENABLED:-true} SUPERVISOR_STDOUT_LOGFILE="/dev/stdout" SUPERVISOR_STDERR_LOGFILE="/dev/stderr" diff --git a/build/php82/cli/base/usr/local/bin/start-messenger b/build/php82/cli/base/usr/local/bin/start-messenger index 4ad5ccb..97006bc 100755 --- a/build/php82/cli/base/usr/local/bin/start-messenger +++ b/build/php82/cli/base/usr/local/bin/start-messenger @@ -11,7 +11,7 @@ TIME_LIMIT=3600 LIMIT=1000 VERBOSITY="" -cd /var/www/html || exit 1 +cd "${PROJECT_ROOT:-/var/www/html}" || exit 1 function help() { echo -en "$(printf %q "${BASH_SOURCE[0]}") [OPERATION] [OPTIONS] diff --git a/build/php82/cli/vipsffmpeg/Dockerfile b/build/php82/cli/vipsffmpeg/Dockerfile index 34219b9..24e164c 100644 --- a/build/php82/cli/vipsffmpeg/Dockerfile +++ b/build/php82/cli/vipsffmpeg/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY! # CHECK README FOR MORE INFO. # -FROM php:8.2.16-cli +FROM php:8.2.18-cli LABEL maintainer="Lubomir Stanko " @@ -13,6 +13,8 @@ LABEL maintainer="Lubomir Stanko " # ---------------------------------------------------------------------------------------------------------------------- # Building envs ENV MAKEFLAGS="-j4" +# Common envs +ENV PROJECT_ROOT="/var/www/html" # Php # Php error reporting constants https://www.php.net/manual/en/errorfunc.constants.php # Calculate the number for config on https://maximivanov.github.io/php-error-reporting-calculator/ @@ -45,7 +47,8 @@ ENV PHP_DATE_TIMEZONE="UTC" \ PHP_SLOW_LOG="/proc/self/fd/2" \ PHP_UPLOAD_MAX_FILESIZE="20M" \ PHP_VARIABLES_ORDER="GPCS" \ - XDEBUG_LOG="/var/www/html/xdebug.log" + PROJECT_WEBROOT="${PROJECT_ROOT}/public" \ + XDEBUG_LOG="${PROJECT_ROOT}/xdebug.log" # Composer ENV COMPOSER_HOME="/composer" \ PATH="/composer/vendor/bin:$PATH" @@ -122,10 +125,10 @@ RUN apt-get update && \ apt-get install -y \ ${PECL_BUILD_DEPS} && \ yes '' | MAKEFLAGS="-j$(($(nproc)+2))" pecl install apcu-5.1.23 && \ - yes '' | MAKEFLAGS="-j$(($(nproc)+2))" pecl install mongodb-1.17.2 && \ + yes '' | MAKEFLAGS="-j$(($(nproc)+2))" pecl install mongodb-1.18.1 && \ yes '' | MAKEFLAGS="-j$(($(nproc)+2))" pecl install pcov-1.0.11 && \ yes '' | MAKEFLAGS="-j$(($(nproc)+2))" pecl install redis-6.0.2 && \ - yes '' | MAKEFLAGS="-j$(($(nproc)+2))" pecl install xdebug-3.3.1 && \ + yes '' | MAKEFLAGS="-j$(($(nproc)+2))" pecl install xdebug-3.3.2 && \ docker-php-ext-enable \ apcu \ mongodb \ @@ -159,7 +162,7 @@ RUN curl -sS https://getcomposer.org/installer | \ php -- \ --install-dir=/usr/local/bin \ --filename=composer \ - --version=2.7.1 + --version=2.7.2 # ---------------------------------------------------------------------------------------------------------------------- # REDIS-TOOLS @@ -170,7 +173,7 @@ RUN DEBIAN_FRONTEND=noninteractive && \ curl -fsSL https://packages.redis.io/gpg | gpg --dearmor -o ${REDIS_KEYRING} && \ echo "deb [signed-by=${REDIS_KEYRING}] https://packages.redis.io/deb ${REDIS_REPO} main" > /etc/apt/sources.list.d/redis.list && \ apt-get update && \ - apt-get install -y redis-tools=6:6.2.14-1rl1~bookworm1 && \ + apt-get install -y redis-tools=6:7.2.4-1rl1~bookworm1 && \ # Cleanup apt-get clean && \ rm -r /var/lib/apt/lists/* @@ -235,10 +238,10 @@ RUN DEBIAN_FRONTEND=noninteractive && \ ${VIPS_RUN_DEPS} && \ cd /tmp && \ wget -qc \ - https://github.com/libvips/libvips/releases/download/v8.15.1/vips-8.15.1.tar.xz \ + https://github.com/libvips/libvips/releases/download/v8.15.2/vips-8.15.2.tar.xz \ -O - | \ tar -xJ && \ - cd vips-8.15.1 && \ + cd vips-8.15.2 && \ meson setup release --libdir=lib --buildtype=release && \ cd release && \ meson compile && \ @@ -293,6 +296,6 @@ COPY ./usr /usr # RUN # Run setup and entrypoint start # ---------------------------------------------------------------------------------------------------------------------- -WORKDIR /var/www/html +WORKDIR ${PROJECT_ROOT} ENTRYPOINT ["docker-entrypoint"] diff --git a/build/php82/cli/vipsffmpeg/usr/local/bin/create-user b/build/php82/cli/vipsffmpeg/usr/local/bin/create-user index 3531b50..9aa34cd 100755 --- a/build/php82/cli/vipsffmpeg/usr/local/bin/create-user +++ b/build/php82/cli/vipsffmpeg/usr/local/bin/create-user @@ -5,6 +5,10 @@ set -euo pipefail USER_UID=${1:-1000} USER_GID=${2:-1000} SYSTEM_FOLDERS=( + "${PROJECT_ROOT:-/var/www/html}" + "${PROJECT_ROOT:-/var/www/html}/var/log" + "${COMPOSER_HOME:-/composer}" + "${COMPOSER_HOME:-/composer}/cache" "/etc/ImageMagick-6" "/etc/nginx" "/etc/supervisor" @@ -19,10 +23,6 @@ SYSTEM_FOLDERS=( "/var/log/php" "/var/run/php" "/var/run/supervisor" - "/var/www/html" - "/var/www/html/var/log" - "${COMPOSER_HOME:-/composer}" - "${COMPOSER_HOME:-/composer}/cache" ) echo "Creating \"user\" group with GID \"${USER_GID}\"" diff --git a/build/php82/cli/vipsffmpeg/usr/local/bin/cron-cmd b/build/php82/cli/vipsffmpeg/usr/local/bin/cron-cmd index 3609918..da338af 100755 --- a/build/php82/cli/vipsffmpeg/usr/local/bin/cron-cmd +++ b/build/php82/cli/vipsffmpeg/usr/local/bin/cron-cmd @@ -3,7 +3,7 @@ set -euo pipefail CRON_LOG_LEVEL="${CRON_LOG_LEVEL:-warn}" -CRON_LOG_DIR="${CRON_LOG_DIR:-/var/www/html/var/log}" +CRON_LOG_DIR="${CRON_LOG_DIR:-${PROJECT_ROOT:-/var/www/html}/var/log}" ARGS=$* COMMAND_NAME="" @@ -98,7 +98,7 @@ function execute() { _info "Starting cron task \"${COMMAND_NAME}\"" - cd /var/www/html || exit 1 + cd "${PROJECT_ROOT:-/var/www/html}" || exit 1 if [ -n "${LOCK_FILE}" ]; then _set flock -w 50 -E 99 "${LOCK_FILE}" bash -c "$command" || true diff --git a/build/php82/cli/vipsffmpeg/usr/local/bin/generate-messenger-supervisor-conf b/build/php82/cli/vipsffmpeg/usr/local/bin/generate-messenger-supervisor-conf index 2ea540d..0ee073a 100755 --- a/build/php82/cli/vipsffmpeg/usr/local/bin/generate-messenger-supervisor-conf +++ b/build/php82/cli/vipsffmpeg/usr/local/bin/generate-messenger-supervisor-conf @@ -10,7 +10,7 @@ SUPERVISOR_MESSENGER_PRIORITY=20 SUPERVISOR_MESSENGER_TIME_LIMIT=${SUPERVISOR_MESSENGER_TIME_LIMIT:-3600} SUPERVISOR_MESSENGER_VERBOSITY=${SUPERVISOR_MESSENGER_VERBOSITY:-} # Logging configuration -MESSENGER_LOG_PREFIX=${MESSENGER_LOG_PREFIX:-/var/www/html/var/log} +MESSENGER_LOG_PREFIX=${MESSENGER_LOG_PREFIX:-${PROJECT_ROOT:-/var/www/html}/var/log} SUPERVISOR_LOG_TO_FILE_ENABLED=${SUPERVISOR_LOG_TO_FILE_ENABLED:-true} SUPERVISOR_STDOUT_LOGFILE="/dev/stdout" SUPERVISOR_STDERR_LOGFILE="/dev/stderr" diff --git a/build/php82/cli/vipsffmpeg/usr/local/bin/start-messenger b/build/php82/cli/vipsffmpeg/usr/local/bin/start-messenger index 4ad5ccb..97006bc 100755 --- a/build/php82/cli/vipsffmpeg/usr/local/bin/start-messenger +++ b/build/php82/cli/vipsffmpeg/usr/local/bin/start-messenger @@ -11,7 +11,7 @@ TIME_LIMIT=3600 LIMIT=1000 VERBOSITY="" -cd /var/www/html || exit 1 +cd "${PROJECT_ROOT:-/var/www/html}" || exit 1 function help() { echo -en "$(printf %q "${BASH_SOURCE[0]}") [OPERATION] [OPTIONS] diff --git a/build/php82/fpm/vipsffmpeg-nginx/Dockerfile b/build/php82/fpm/vipsffmpeg-nginx/Dockerfile index bf28111..3b7d09d 100644 --- a/build/php82/fpm/vipsffmpeg-nginx/Dockerfile +++ b/build/php82/fpm/vipsffmpeg-nginx/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY! # CHECK README FOR MORE INFO. # -FROM php:8.2.16-fpm +FROM php:8.2.18-fpm LABEL maintainer="Lubomir Stanko " @@ -13,6 +13,8 @@ LABEL maintainer="Lubomir Stanko " # ---------------------------------------------------------------------------------------------------------------------- # Building envs ENV MAKEFLAGS="-j4" +# Common envs +ENV PROJECT_ROOT="/var/www/html" # Php # Php error reporting constants https://www.php.net/manual/en/errorfunc.constants.php # Calculate the number for config on https://maximivanov.github.io/php-error-reporting-calculator/ @@ -45,7 +47,8 @@ ENV PHP_DATE_TIMEZONE="UTC" \ PHP_SLOW_LOG="/proc/self/fd/2" \ PHP_UPLOAD_MAX_FILESIZE="20M" \ PHP_VARIABLES_ORDER="GPCS" \ - XDEBUG_LOG="/var/www/html/xdebug.log" + PROJECT_WEBROOT="${PROJECT_ROOT}/public" \ + XDEBUG_LOG="${PROJECT_ROOT}/xdebug.log" # Composer ENV COMPOSER_HOME="/composer" \ PATH="/composer/vendor/bin:$PATH" @@ -122,10 +125,10 @@ RUN apt-get update && \ apt-get install -y \ ${PECL_BUILD_DEPS} && \ yes '' | MAKEFLAGS="-j$(($(nproc)+2))" pecl install apcu-5.1.23 && \ - yes '' | MAKEFLAGS="-j$(($(nproc)+2))" pecl install mongodb-1.17.2 && \ + yes '' | MAKEFLAGS="-j$(($(nproc)+2))" pecl install mongodb-1.18.1 && \ yes '' | MAKEFLAGS="-j$(($(nproc)+2))" pecl install pcov-1.0.11 && \ yes '' | MAKEFLAGS="-j$(($(nproc)+2))" pecl install redis-6.0.2 && \ - yes '' | MAKEFLAGS="-j$(($(nproc)+2))" pecl install xdebug-3.3.1 && \ + yes '' | MAKEFLAGS="-j$(($(nproc)+2))" pecl install xdebug-3.3.2 && \ docker-php-ext-enable \ apcu \ mongodb \ @@ -159,7 +162,7 @@ RUN curl -sS https://getcomposer.org/installer | \ php -- \ --install-dir=/usr/local/bin \ --filename=composer \ - --version=2.7.1 + --version=2.7.2 # ---------------------------------------------------------------------------------------------------------------------- # REDIS-TOOLS @@ -170,7 +173,7 @@ RUN DEBIAN_FRONTEND=noninteractive && \ curl -fsSL https://packages.redis.io/gpg | gpg --dearmor -o ${REDIS_KEYRING} && \ echo "deb [signed-by=${REDIS_KEYRING}] https://packages.redis.io/deb ${REDIS_REPO} main" > /etc/apt/sources.list.d/redis.list && \ apt-get update && \ - apt-get install -y redis-tools=6:6.2.14-1rl1~bookworm1 && \ + apt-get install -y redis-tools=6:7.2.4-1rl1~bookworm1 && \ # Cleanup apt-get clean && \ rm -r /var/lib/apt/lists/* @@ -235,10 +238,10 @@ RUN DEBIAN_FRONTEND=noninteractive && \ ${VIPS_RUN_DEPS} && \ cd /tmp && \ wget -qc \ - https://github.com/libvips/libvips/releases/download/v8.15.1/vips-8.15.1.tar.xz \ + https://github.com/libvips/libvips/releases/download/v8.15.2/vips-8.15.2.tar.xz \ -O - | \ tar -xJ && \ - cd vips-8.15.1 && \ + cd vips-8.15.2 && \ meson setup release --libdir=lib --buildtype=release && \ cd release && \ meson compile && \ @@ -307,7 +310,6 @@ ENV NGINX_ACCESS_CONTROL_ALLOW_HEADERS="Accept,Authorization,Cache-Control,Conte NGINX_PHP_STRICT_TRANSPORT_SECURITY="max-age=31536000" \ NGINX_PHP_X_ROBOTS_TAG="noindex, nofollow, noarchive, nosnippet" \ NGINX_PORT=8080 \ - NGINX_ROOT=/var/www/html/public \ NGINX_SERVER_TOKENS="off" \ NGINX_STATIC_ALLOWED_ORIGINS_REGEX="^https?://.*" \ NGINX_STATIC_CACHE_CONTROL_HEADER="public, max-age=31557600, s-maxage=31557600" \ @@ -357,6 +359,6 @@ COPY ./usr /usr # RUN # Run setup and entrypoint start # ---------------------------------------------------------------------------------------------------------------------- -WORKDIR /var/www/html +WORKDIR ${PROJECT_ROOT} ENTRYPOINT ["docker-entrypoint"] diff --git a/build/php82/fpm/vipsffmpeg-nginx/etc/nginx/conf.d/cors.conf.template b/build/php82/fpm/vipsffmpeg-nginx/etc/nginx/conf.d/cors.conf.template index 6b55636..ee1b58a 100644 --- a/build/php82/fpm/vipsffmpeg-nginx/etc/nginx/conf.d/cors.conf.template +++ b/build/php82/fpm/vipsffmpeg-nginx/etc/nginx/conf.d/cors.conf.template @@ -5,7 +5,7 @@ map $status $static_cache_control_header { server { listen ${NGINX_PORT} default_server; - root ${NGINX_ROOT}; + root ${PROJECT_WEBROOT}; sendfile off; client_body_buffer_size ${NGINX_CLIENT_BODY_BUFFER_SIZE}; diff --git a/build/php82/fpm/vipsffmpeg-nginx/etc/nginx/conf.d/default.conf.template b/build/php82/fpm/vipsffmpeg-nginx/etc/nginx/conf.d/default.conf.template index 3600ba0..4cb8b97 100644 --- a/build/php82/fpm/vipsffmpeg-nginx/etc/nginx/conf.d/default.conf.template +++ b/build/php82/fpm/vipsffmpeg-nginx/etc/nginx/conf.d/default.conf.template @@ -5,7 +5,7 @@ map $status $static_cache_control_header { server { listen ${NGINX_PORT} default_server; - root ${NGINX_ROOT}; + root ${PROJECT_WEBROOT}; sendfile off; client_body_buffer_size ${NGINX_CLIENT_BODY_BUFFER_SIZE}; diff --git a/build/php82/fpm/vipsffmpeg-nginx/usr/local/bin/create-user b/build/php82/fpm/vipsffmpeg-nginx/usr/local/bin/create-user index 3531b50..9aa34cd 100755 --- a/build/php82/fpm/vipsffmpeg-nginx/usr/local/bin/create-user +++ b/build/php82/fpm/vipsffmpeg-nginx/usr/local/bin/create-user @@ -5,6 +5,10 @@ set -euo pipefail USER_UID=${1:-1000} USER_GID=${2:-1000} SYSTEM_FOLDERS=( + "${PROJECT_ROOT:-/var/www/html}" + "${PROJECT_ROOT:-/var/www/html}/var/log" + "${COMPOSER_HOME:-/composer}" + "${COMPOSER_HOME:-/composer}/cache" "/etc/ImageMagick-6" "/etc/nginx" "/etc/supervisor" @@ -19,10 +23,6 @@ SYSTEM_FOLDERS=( "/var/log/php" "/var/run/php" "/var/run/supervisor" - "/var/www/html" - "/var/www/html/var/log" - "${COMPOSER_HOME:-/composer}" - "${COMPOSER_HOME:-/composer}/cache" ) echo "Creating \"user\" group with GID \"${USER_GID}\"" diff --git a/build/php82/fpm/vipsffmpeg-nginx/usr/local/bin/cron-cmd b/build/php82/fpm/vipsffmpeg-nginx/usr/local/bin/cron-cmd index 3609918..da338af 100755 --- a/build/php82/fpm/vipsffmpeg-nginx/usr/local/bin/cron-cmd +++ b/build/php82/fpm/vipsffmpeg-nginx/usr/local/bin/cron-cmd @@ -3,7 +3,7 @@ set -euo pipefail CRON_LOG_LEVEL="${CRON_LOG_LEVEL:-warn}" -CRON_LOG_DIR="${CRON_LOG_DIR:-/var/www/html/var/log}" +CRON_LOG_DIR="${CRON_LOG_DIR:-${PROJECT_ROOT:-/var/www/html}/var/log}" ARGS=$* COMMAND_NAME="" @@ -98,7 +98,7 @@ function execute() { _info "Starting cron task \"${COMMAND_NAME}\"" - cd /var/www/html || exit 1 + cd "${PROJECT_ROOT:-/var/www/html}" || exit 1 if [ -n "${LOCK_FILE}" ]; then _set flock -w 50 -E 99 "${LOCK_FILE}" bash -c "$command" || true diff --git a/build/php82/fpm/vipsffmpeg-nginx/usr/local/bin/docker-entrypoint b/build/php82/fpm/vipsffmpeg-nginx/usr/local/bin/docker-entrypoint index c808514..c99db51 100755 --- a/build/php82/fpm/vipsffmpeg-nginx/usr/local/bin/docker-entrypoint +++ b/build/php82/fpm/vipsffmpeg-nginx/usr/local/bin/docker-entrypoint @@ -38,13 +38,13 @@ if ${NGINX_CORS_CONFIG} && [ -f "${NGINX_CORS_CONF_TEMPLATE}" ]; then \${NGINX_PHP_STRICT_TRANSPORT_SECURITY} \ \${NGINX_PHP_X_ROBOTS_TAG} \ \${NGINX_PORT} \ - \${NGINX_ROOT} \ \${NGINX_STATIC_ALLOWED_ORIGINS_REGEX} \ \${NGINX_STATIC_CACHE_CONTROL_HEADER} \ \${NGINX_STATIC_LOCATION_REGEX} \ \${NGINX_STATIC_X_ROBOTS_TAG} \ \${NGINX_X_CONTENT_TYPE_OPTIONS} \ \${NGINX_X_XSS_PROTECTION} \ + \${PROJECT_WEBROOT} \ " <${NGINX_CORS_CONF_TEMPLATE} >${NGINX_DEFAULT_CONF} elif [ -f "${NGINX_DEFAULT_CONF_TEMPLATE}" ]; then echo "[INFO] Setup nginx default \"${NGINX_DEFAULT_CONF}\" config file" @@ -62,13 +62,13 @@ elif [ -f "${NGINX_DEFAULT_CONF_TEMPLATE}" ]; then \${NGINX_PHP_STRICT_TRANSPORT_SECURITY} \ \${NGINX_PHP_X_ROBOTS_TAG} \ \${NGINX_PORT} \ - \${NGINX_ROOT} \ \${NGINX_STATIC_ALLOWED_ORIGINS_REGEX} \ \${NGINX_STATIC_CACHE_CONTROL_HEADER} \ \${NGINX_STATIC_LOCATION_REGEX} \ \${NGINX_STATIC_X_ROBOTS_TAG} \ \${NGINX_X_CONTENT_TYPE_OPTIONS} \ \${NGINX_X_XSS_PROTECTION} \ + \${PROJECT_WEBROOT} \ " <${NGINX_DEFAULT_CONF_TEMPLATE} >${NGINX_DEFAULT_CONF} fi diff --git a/build/php82/fpm/vipsffmpeg-nginx/usr/local/bin/generate-messenger-supervisor-conf b/build/php82/fpm/vipsffmpeg-nginx/usr/local/bin/generate-messenger-supervisor-conf index 2ea540d..0ee073a 100755 --- a/build/php82/fpm/vipsffmpeg-nginx/usr/local/bin/generate-messenger-supervisor-conf +++ b/build/php82/fpm/vipsffmpeg-nginx/usr/local/bin/generate-messenger-supervisor-conf @@ -10,7 +10,7 @@ SUPERVISOR_MESSENGER_PRIORITY=20 SUPERVISOR_MESSENGER_TIME_LIMIT=${SUPERVISOR_MESSENGER_TIME_LIMIT:-3600} SUPERVISOR_MESSENGER_VERBOSITY=${SUPERVISOR_MESSENGER_VERBOSITY:-} # Logging configuration -MESSENGER_LOG_PREFIX=${MESSENGER_LOG_PREFIX:-/var/www/html/var/log} +MESSENGER_LOG_PREFIX=${MESSENGER_LOG_PREFIX:-${PROJECT_ROOT:-/var/www/html}/var/log} SUPERVISOR_LOG_TO_FILE_ENABLED=${SUPERVISOR_LOG_TO_FILE_ENABLED:-true} SUPERVISOR_STDOUT_LOGFILE="/dev/stdout" SUPERVISOR_STDERR_LOGFILE="/dev/stderr" diff --git a/build/php82/fpm/vipsffmpeg-nginx/usr/local/bin/start-messenger b/build/php82/fpm/vipsffmpeg-nginx/usr/local/bin/start-messenger index 4ad5ccb..97006bc 100755 --- a/build/php82/fpm/vipsffmpeg-nginx/usr/local/bin/start-messenger +++ b/build/php82/fpm/vipsffmpeg-nginx/usr/local/bin/start-messenger @@ -11,7 +11,7 @@ TIME_LIMIT=3600 LIMIT=1000 VERBOSITY="" -cd /var/www/html || exit 1 +cd "${PROJECT_ROOT:-/var/www/html}" || exit 1 function help() { echo -en "$(printf %q "${BASH_SOURCE[0]}") [OPERATION] [OPTIONS] diff --git a/build/php83/cli/base/Dockerfile b/build/php83/cli/base/Dockerfile index d7bc047..76e718e 100644 --- a/build/php83/cli/base/Dockerfile +++ b/build/php83/cli/base/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY! # CHECK README FOR MORE INFO. # -FROM php:8.3.3-cli +FROM php:8.3.6-cli LABEL maintainer="Lubomir Stanko " @@ -13,6 +13,8 @@ LABEL maintainer="Lubomir Stanko " # ---------------------------------------------------------------------------------------------------------------------- # Building envs ENV MAKEFLAGS="-j4" +# Common envs +ENV PROJECT_ROOT="/var/www/html" # Php # Php error reporting constants https://www.php.net/manual/en/errorfunc.constants.php # Calculate the number for config on https://maximivanov.github.io/php-error-reporting-calculator/ @@ -45,7 +47,8 @@ ENV PHP_DATE_TIMEZONE="UTC" \ PHP_SLOW_LOG="/proc/self/fd/2" \ PHP_UPLOAD_MAX_FILESIZE="20M" \ PHP_VARIABLES_ORDER="GPCS" \ - XDEBUG_LOG="/var/www/html/xdebug.log" + PROJECT_WEBROOT="${PROJECT_ROOT}/public" \ + XDEBUG_LOG="${PROJECT_ROOT}/xdebug.log" # Composer ENV COMPOSER_HOME="/composer" \ PATH="/composer/vendor/bin:$PATH" @@ -122,10 +125,10 @@ RUN apt-get update && \ apt-get install -y \ ${PECL_BUILD_DEPS} && \ yes '' | MAKEFLAGS="-j$(($(nproc)+2))" pecl install apcu-5.1.23 && \ - yes '' | MAKEFLAGS="-j$(($(nproc)+2))" pecl install mongodb-1.17.2 && \ + yes '' | MAKEFLAGS="-j$(($(nproc)+2))" pecl install mongodb-1.18.1 && \ yes '' | MAKEFLAGS="-j$(($(nproc)+2))" pecl install pcov-1.0.11 && \ yes '' | MAKEFLAGS="-j$(($(nproc)+2))" pecl install redis-6.0.2 && \ - yes '' | MAKEFLAGS="-j$(($(nproc)+2))" pecl install xdebug-3.3.1 && \ + yes '' | MAKEFLAGS="-j$(($(nproc)+2))" pecl install xdebug-3.3.2 && \ docker-php-ext-enable \ apcu \ mongodb \ @@ -159,7 +162,7 @@ RUN curl -sS https://getcomposer.org/installer | \ php -- \ --install-dir=/usr/local/bin \ --filename=composer \ - --version=2.7.1 + --version=2.7.2 # ---------------------------------------------------------------------------------------------------------------------- # REDIS-TOOLS @@ -170,7 +173,7 @@ RUN DEBIAN_FRONTEND=noninteractive && \ curl -fsSL https://packages.redis.io/gpg | gpg --dearmor -o ${REDIS_KEYRING} && \ echo "deb [signed-by=${REDIS_KEYRING}] https://packages.redis.io/deb ${REDIS_REPO} main" > /etc/apt/sources.list.d/redis.list && \ apt-get update && \ - apt-get install -y redis-tools=6:6.2.14-1rl1~bookworm1 && \ + apt-get install -y redis-tools=6:7.2.4-1rl1~bookworm1 && \ # Cleanup apt-get clean && \ rm -r /var/lib/apt/lists/* @@ -188,6 +191,6 @@ COPY ./usr /usr # RUN # Run setup and entrypoint start # ---------------------------------------------------------------------------------------------------------------------- -WORKDIR /var/www/html +WORKDIR ${PROJECT_ROOT} ENTRYPOINT ["docker-entrypoint"] diff --git a/build/php83/cli/base/usr/local/bin/create-user b/build/php83/cli/base/usr/local/bin/create-user index 3531b50..9aa34cd 100755 --- a/build/php83/cli/base/usr/local/bin/create-user +++ b/build/php83/cli/base/usr/local/bin/create-user @@ -5,6 +5,10 @@ set -euo pipefail USER_UID=${1:-1000} USER_GID=${2:-1000} SYSTEM_FOLDERS=( + "${PROJECT_ROOT:-/var/www/html}" + "${PROJECT_ROOT:-/var/www/html}/var/log" + "${COMPOSER_HOME:-/composer}" + "${COMPOSER_HOME:-/composer}/cache" "/etc/ImageMagick-6" "/etc/nginx" "/etc/supervisor" @@ -19,10 +23,6 @@ SYSTEM_FOLDERS=( "/var/log/php" "/var/run/php" "/var/run/supervisor" - "/var/www/html" - "/var/www/html/var/log" - "${COMPOSER_HOME:-/composer}" - "${COMPOSER_HOME:-/composer}/cache" ) echo "Creating \"user\" group with GID \"${USER_GID}\"" diff --git a/build/php83/cli/base/usr/local/bin/cron-cmd b/build/php83/cli/base/usr/local/bin/cron-cmd index 3609918..da338af 100755 --- a/build/php83/cli/base/usr/local/bin/cron-cmd +++ b/build/php83/cli/base/usr/local/bin/cron-cmd @@ -3,7 +3,7 @@ set -euo pipefail CRON_LOG_LEVEL="${CRON_LOG_LEVEL:-warn}" -CRON_LOG_DIR="${CRON_LOG_DIR:-/var/www/html/var/log}" +CRON_LOG_DIR="${CRON_LOG_DIR:-${PROJECT_ROOT:-/var/www/html}/var/log}" ARGS=$* COMMAND_NAME="" @@ -98,7 +98,7 @@ function execute() { _info "Starting cron task \"${COMMAND_NAME}\"" - cd /var/www/html || exit 1 + cd "${PROJECT_ROOT:-/var/www/html}" || exit 1 if [ -n "${LOCK_FILE}" ]; then _set flock -w 50 -E 99 "${LOCK_FILE}" bash -c "$command" || true diff --git a/build/php83/cli/base/usr/local/bin/generate-messenger-supervisor-conf b/build/php83/cli/base/usr/local/bin/generate-messenger-supervisor-conf index 2ea540d..0ee073a 100755 --- a/build/php83/cli/base/usr/local/bin/generate-messenger-supervisor-conf +++ b/build/php83/cli/base/usr/local/bin/generate-messenger-supervisor-conf @@ -10,7 +10,7 @@ SUPERVISOR_MESSENGER_PRIORITY=20 SUPERVISOR_MESSENGER_TIME_LIMIT=${SUPERVISOR_MESSENGER_TIME_LIMIT:-3600} SUPERVISOR_MESSENGER_VERBOSITY=${SUPERVISOR_MESSENGER_VERBOSITY:-} # Logging configuration -MESSENGER_LOG_PREFIX=${MESSENGER_LOG_PREFIX:-/var/www/html/var/log} +MESSENGER_LOG_PREFIX=${MESSENGER_LOG_PREFIX:-${PROJECT_ROOT:-/var/www/html}/var/log} SUPERVISOR_LOG_TO_FILE_ENABLED=${SUPERVISOR_LOG_TO_FILE_ENABLED:-true} SUPERVISOR_STDOUT_LOGFILE="/dev/stdout" SUPERVISOR_STDERR_LOGFILE="/dev/stderr" diff --git a/build/php83/cli/base/usr/local/bin/start-messenger b/build/php83/cli/base/usr/local/bin/start-messenger index 4ad5ccb..97006bc 100755 --- a/build/php83/cli/base/usr/local/bin/start-messenger +++ b/build/php83/cli/base/usr/local/bin/start-messenger @@ -11,7 +11,7 @@ TIME_LIMIT=3600 LIMIT=1000 VERBOSITY="" -cd /var/www/html || exit 1 +cd "${PROJECT_ROOT:-/var/www/html}" || exit 1 function help() { echo -en "$(printf %q "${BASH_SOURCE[0]}") [OPERATION] [OPTIONS] diff --git a/build/php83/cli/vipsffmpeg/Dockerfile b/build/php83/cli/vipsffmpeg/Dockerfile index 9a936cb..eb336cd 100644 --- a/build/php83/cli/vipsffmpeg/Dockerfile +++ b/build/php83/cli/vipsffmpeg/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY! # CHECK README FOR MORE INFO. # -FROM php:8.3.3-cli +FROM php:8.3.6-cli LABEL maintainer="Lubomir Stanko " @@ -13,6 +13,8 @@ LABEL maintainer="Lubomir Stanko " # ---------------------------------------------------------------------------------------------------------------------- # Building envs ENV MAKEFLAGS="-j4" +# Common envs +ENV PROJECT_ROOT="/var/www/html" # Php # Php error reporting constants https://www.php.net/manual/en/errorfunc.constants.php # Calculate the number for config on https://maximivanov.github.io/php-error-reporting-calculator/ @@ -45,7 +47,8 @@ ENV PHP_DATE_TIMEZONE="UTC" \ PHP_SLOW_LOG="/proc/self/fd/2" \ PHP_UPLOAD_MAX_FILESIZE="20M" \ PHP_VARIABLES_ORDER="GPCS" \ - XDEBUG_LOG="/var/www/html/xdebug.log" + PROJECT_WEBROOT="${PROJECT_ROOT}/public" \ + XDEBUG_LOG="${PROJECT_ROOT}/xdebug.log" # Composer ENV COMPOSER_HOME="/composer" \ PATH="/composer/vendor/bin:$PATH" @@ -122,10 +125,10 @@ RUN apt-get update && \ apt-get install -y \ ${PECL_BUILD_DEPS} && \ yes '' | MAKEFLAGS="-j$(($(nproc)+2))" pecl install apcu-5.1.23 && \ - yes '' | MAKEFLAGS="-j$(($(nproc)+2))" pecl install mongodb-1.17.2 && \ + yes '' | MAKEFLAGS="-j$(($(nproc)+2))" pecl install mongodb-1.18.1 && \ yes '' | MAKEFLAGS="-j$(($(nproc)+2))" pecl install pcov-1.0.11 && \ yes '' | MAKEFLAGS="-j$(($(nproc)+2))" pecl install redis-6.0.2 && \ - yes '' | MAKEFLAGS="-j$(($(nproc)+2))" pecl install xdebug-3.3.1 && \ + yes '' | MAKEFLAGS="-j$(($(nproc)+2))" pecl install xdebug-3.3.2 && \ docker-php-ext-enable \ apcu \ mongodb \ @@ -159,7 +162,7 @@ RUN curl -sS https://getcomposer.org/installer | \ php -- \ --install-dir=/usr/local/bin \ --filename=composer \ - --version=2.7.1 + --version=2.7.2 # ---------------------------------------------------------------------------------------------------------------------- # REDIS-TOOLS @@ -170,7 +173,7 @@ RUN DEBIAN_FRONTEND=noninteractive && \ curl -fsSL https://packages.redis.io/gpg | gpg --dearmor -o ${REDIS_KEYRING} && \ echo "deb [signed-by=${REDIS_KEYRING}] https://packages.redis.io/deb ${REDIS_REPO} main" > /etc/apt/sources.list.d/redis.list && \ apt-get update && \ - apt-get install -y redis-tools=6:6.2.14-1rl1~bookworm1 && \ + apt-get install -y redis-tools=6:7.2.4-1rl1~bookworm1 && \ # Cleanup apt-get clean && \ rm -r /var/lib/apt/lists/* @@ -235,10 +238,10 @@ RUN DEBIAN_FRONTEND=noninteractive && \ ${VIPS_RUN_DEPS} && \ cd /tmp && \ wget -qc \ - https://github.com/libvips/libvips/releases/download/v8.15.1/vips-8.15.1.tar.xz \ + https://github.com/libvips/libvips/releases/download/v8.15.2/vips-8.15.2.tar.xz \ -O - | \ tar -xJ && \ - cd vips-8.15.1 && \ + cd vips-8.15.2 && \ meson setup release --libdir=lib --buildtype=release && \ cd release && \ meson compile && \ @@ -293,6 +296,6 @@ COPY ./usr /usr # RUN # Run setup and entrypoint start # ---------------------------------------------------------------------------------------------------------------------- -WORKDIR /var/www/html +WORKDIR ${PROJECT_ROOT} ENTRYPOINT ["docker-entrypoint"] diff --git a/build/php83/cli/vipsffmpeg/usr/local/bin/create-user b/build/php83/cli/vipsffmpeg/usr/local/bin/create-user index 3531b50..9aa34cd 100755 --- a/build/php83/cli/vipsffmpeg/usr/local/bin/create-user +++ b/build/php83/cli/vipsffmpeg/usr/local/bin/create-user @@ -5,6 +5,10 @@ set -euo pipefail USER_UID=${1:-1000} USER_GID=${2:-1000} SYSTEM_FOLDERS=( + "${PROJECT_ROOT:-/var/www/html}" + "${PROJECT_ROOT:-/var/www/html}/var/log" + "${COMPOSER_HOME:-/composer}" + "${COMPOSER_HOME:-/composer}/cache" "/etc/ImageMagick-6" "/etc/nginx" "/etc/supervisor" @@ -19,10 +23,6 @@ SYSTEM_FOLDERS=( "/var/log/php" "/var/run/php" "/var/run/supervisor" - "/var/www/html" - "/var/www/html/var/log" - "${COMPOSER_HOME:-/composer}" - "${COMPOSER_HOME:-/composer}/cache" ) echo "Creating \"user\" group with GID \"${USER_GID}\"" diff --git a/build/php83/cli/vipsffmpeg/usr/local/bin/cron-cmd b/build/php83/cli/vipsffmpeg/usr/local/bin/cron-cmd index 3609918..da338af 100755 --- a/build/php83/cli/vipsffmpeg/usr/local/bin/cron-cmd +++ b/build/php83/cli/vipsffmpeg/usr/local/bin/cron-cmd @@ -3,7 +3,7 @@ set -euo pipefail CRON_LOG_LEVEL="${CRON_LOG_LEVEL:-warn}" -CRON_LOG_DIR="${CRON_LOG_DIR:-/var/www/html/var/log}" +CRON_LOG_DIR="${CRON_LOG_DIR:-${PROJECT_ROOT:-/var/www/html}/var/log}" ARGS=$* COMMAND_NAME="" @@ -98,7 +98,7 @@ function execute() { _info "Starting cron task \"${COMMAND_NAME}\"" - cd /var/www/html || exit 1 + cd "${PROJECT_ROOT:-/var/www/html}" || exit 1 if [ -n "${LOCK_FILE}" ]; then _set flock -w 50 -E 99 "${LOCK_FILE}" bash -c "$command" || true diff --git a/build/php83/cli/vipsffmpeg/usr/local/bin/generate-messenger-supervisor-conf b/build/php83/cli/vipsffmpeg/usr/local/bin/generate-messenger-supervisor-conf index 2ea540d..0ee073a 100755 --- a/build/php83/cli/vipsffmpeg/usr/local/bin/generate-messenger-supervisor-conf +++ b/build/php83/cli/vipsffmpeg/usr/local/bin/generate-messenger-supervisor-conf @@ -10,7 +10,7 @@ SUPERVISOR_MESSENGER_PRIORITY=20 SUPERVISOR_MESSENGER_TIME_LIMIT=${SUPERVISOR_MESSENGER_TIME_LIMIT:-3600} SUPERVISOR_MESSENGER_VERBOSITY=${SUPERVISOR_MESSENGER_VERBOSITY:-} # Logging configuration -MESSENGER_LOG_PREFIX=${MESSENGER_LOG_PREFIX:-/var/www/html/var/log} +MESSENGER_LOG_PREFIX=${MESSENGER_LOG_PREFIX:-${PROJECT_ROOT:-/var/www/html}/var/log} SUPERVISOR_LOG_TO_FILE_ENABLED=${SUPERVISOR_LOG_TO_FILE_ENABLED:-true} SUPERVISOR_STDOUT_LOGFILE="/dev/stdout" SUPERVISOR_STDERR_LOGFILE="/dev/stderr" diff --git a/build/php83/cli/vipsffmpeg/usr/local/bin/start-messenger b/build/php83/cli/vipsffmpeg/usr/local/bin/start-messenger index 4ad5ccb..97006bc 100755 --- a/build/php83/cli/vipsffmpeg/usr/local/bin/start-messenger +++ b/build/php83/cli/vipsffmpeg/usr/local/bin/start-messenger @@ -11,7 +11,7 @@ TIME_LIMIT=3600 LIMIT=1000 VERBOSITY="" -cd /var/www/html || exit 1 +cd "${PROJECT_ROOT:-/var/www/html}" || exit 1 function help() { echo -en "$(printf %q "${BASH_SOURCE[0]}") [OPERATION] [OPTIONS] diff --git a/build/php83/fpm/vipsffmpeg-nginx/Dockerfile b/build/php83/fpm/vipsffmpeg-nginx/Dockerfile index 555bb9c..4490166 100644 --- a/build/php83/fpm/vipsffmpeg-nginx/Dockerfile +++ b/build/php83/fpm/vipsffmpeg-nginx/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY! # CHECK README FOR MORE INFO. # -FROM php:8.3.3-fpm +FROM php:8.3.6-fpm LABEL maintainer="Lubomir Stanko " @@ -13,6 +13,8 @@ LABEL maintainer="Lubomir Stanko " # ---------------------------------------------------------------------------------------------------------------------- # Building envs ENV MAKEFLAGS="-j4" +# Common envs +ENV PROJECT_ROOT="/var/www/html" # Php # Php error reporting constants https://www.php.net/manual/en/errorfunc.constants.php # Calculate the number for config on https://maximivanov.github.io/php-error-reporting-calculator/ @@ -45,7 +47,8 @@ ENV PHP_DATE_TIMEZONE="UTC" \ PHP_SLOW_LOG="/proc/self/fd/2" \ PHP_UPLOAD_MAX_FILESIZE="20M" \ PHP_VARIABLES_ORDER="GPCS" \ - XDEBUG_LOG="/var/www/html/xdebug.log" + PROJECT_WEBROOT="${PROJECT_ROOT}/public" \ + XDEBUG_LOG="${PROJECT_ROOT}/xdebug.log" # Composer ENV COMPOSER_HOME="/composer" \ PATH="/composer/vendor/bin:$PATH" @@ -122,10 +125,10 @@ RUN apt-get update && \ apt-get install -y \ ${PECL_BUILD_DEPS} && \ yes '' | MAKEFLAGS="-j$(($(nproc)+2))" pecl install apcu-5.1.23 && \ - yes '' | MAKEFLAGS="-j$(($(nproc)+2))" pecl install mongodb-1.17.2 && \ + yes '' | MAKEFLAGS="-j$(($(nproc)+2))" pecl install mongodb-1.18.1 && \ yes '' | MAKEFLAGS="-j$(($(nproc)+2))" pecl install pcov-1.0.11 && \ yes '' | MAKEFLAGS="-j$(($(nproc)+2))" pecl install redis-6.0.2 && \ - yes '' | MAKEFLAGS="-j$(($(nproc)+2))" pecl install xdebug-3.3.1 && \ + yes '' | MAKEFLAGS="-j$(($(nproc)+2))" pecl install xdebug-3.3.2 && \ docker-php-ext-enable \ apcu \ mongodb \ @@ -159,7 +162,7 @@ RUN curl -sS https://getcomposer.org/installer | \ php -- \ --install-dir=/usr/local/bin \ --filename=composer \ - --version=2.7.1 + --version=2.7.2 # ---------------------------------------------------------------------------------------------------------------------- # REDIS-TOOLS @@ -170,7 +173,7 @@ RUN DEBIAN_FRONTEND=noninteractive && \ curl -fsSL https://packages.redis.io/gpg | gpg --dearmor -o ${REDIS_KEYRING} && \ echo "deb [signed-by=${REDIS_KEYRING}] https://packages.redis.io/deb ${REDIS_REPO} main" > /etc/apt/sources.list.d/redis.list && \ apt-get update && \ - apt-get install -y redis-tools=6:6.2.14-1rl1~bookworm1 && \ + apt-get install -y redis-tools=6:7.2.4-1rl1~bookworm1 && \ # Cleanup apt-get clean && \ rm -r /var/lib/apt/lists/* @@ -235,10 +238,10 @@ RUN DEBIAN_FRONTEND=noninteractive && \ ${VIPS_RUN_DEPS} && \ cd /tmp && \ wget -qc \ - https://github.com/libvips/libvips/releases/download/v8.15.1/vips-8.15.1.tar.xz \ + https://github.com/libvips/libvips/releases/download/v8.15.2/vips-8.15.2.tar.xz \ -O - | \ tar -xJ && \ - cd vips-8.15.1 && \ + cd vips-8.15.2 && \ meson setup release --libdir=lib --buildtype=release && \ cd release && \ meson compile && \ @@ -307,7 +310,6 @@ ENV NGINX_ACCESS_CONTROL_ALLOW_HEADERS="Accept,Authorization,Cache-Control,Conte NGINX_PHP_STRICT_TRANSPORT_SECURITY="max-age=31536000" \ NGINX_PHP_X_ROBOTS_TAG="noindex, nofollow, noarchive, nosnippet" \ NGINX_PORT=8080 \ - NGINX_ROOT=/var/www/html/public \ NGINX_SERVER_TOKENS="off" \ NGINX_STATIC_ALLOWED_ORIGINS_REGEX="^https?://.*" \ NGINX_STATIC_CACHE_CONTROL_HEADER="public, max-age=31557600, s-maxage=31557600" \ @@ -357,6 +359,6 @@ COPY ./usr /usr # RUN # Run setup and entrypoint start # ---------------------------------------------------------------------------------------------------------------------- -WORKDIR /var/www/html +WORKDIR ${PROJECT_ROOT} ENTRYPOINT ["docker-entrypoint"] diff --git a/build/php83/fpm/vipsffmpeg-nginx/etc/nginx/conf.d/cors.conf.template b/build/php83/fpm/vipsffmpeg-nginx/etc/nginx/conf.d/cors.conf.template index 6b55636..ee1b58a 100644 --- a/build/php83/fpm/vipsffmpeg-nginx/etc/nginx/conf.d/cors.conf.template +++ b/build/php83/fpm/vipsffmpeg-nginx/etc/nginx/conf.d/cors.conf.template @@ -5,7 +5,7 @@ map $status $static_cache_control_header { server { listen ${NGINX_PORT} default_server; - root ${NGINX_ROOT}; + root ${PROJECT_WEBROOT}; sendfile off; client_body_buffer_size ${NGINX_CLIENT_BODY_BUFFER_SIZE}; diff --git a/build/php83/fpm/vipsffmpeg-nginx/etc/nginx/conf.d/default.conf.template b/build/php83/fpm/vipsffmpeg-nginx/etc/nginx/conf.d/default.conf.template index 3600ba0..4cb8b97 100644 --- a/build/php83/fpm/vipsffmpeg-nginx/etc/nginx/conf.d/default.conf.template +++ b/build/php83/fpm/vipsffmpeg-nginx/etc/nginx/conf.d/default.conf.template @@ -5,7 +5,7 @@ map $status $static_cache_control_header { server { listen ${NGINX_PORT} default_server; - root ${NGINX_ROOT}; + root ${PROJECT_WEBROOT}; sendfile off; client_body_buffer_size ${NGINX_CLIENT_BODY_BUFFER_SIZE}; diff --git a/build/php83/fpm/vipsffmpeg-nginx/usr/local/bin/create-user b/build/php83/fpm/vipsffmpeg-nginx/usr/local/bin/create-user index 3531b50..9aa34cd 100755 --- a/build/php83/fpm/vipsffmpeg-nginx/usr/local/bin/create-user +++ b/build/php83/fpm/vipsffmpeg-nginx/usr/local/bin/create-user @@ -5,6 +5,10 @@ set -euo pipefail USER_UID=${1:-1000} USER_GID=${2:-1000} SYSTEM_FOLDERS=( + "${PROJECT_ROOT:-/var/www/html}" + "${PROJECT_ROOT:-/var/www/html}/var/log" + "${COMPOSER_HOME:-/composer}" + "${COMPOSER_HOME:-/composer}/cache" "/etc/ImageMagick-6" "/etc/nginx" "/etc/supervisor" @@ -19,10 +23,6 @@ SYSTEM_FOLDERS=( "/var/log/php" "/var/run/php" "/var/run/supervisor" - "/var/www/html" - "/var/www/html/var/log" - "${COMPOSER_HOME:-/composer}" - "${COMPOSER_HOME:-/composer}/cache" ) echo "Creating \"user\" group with GID \"${USER_GID}\"" diff --git a/build/php83/fpm/vipsffmpeg-nginx/usr/local/bin/cron-cmd b/build/php83/fpm/vipsffmpeg-nginx/usr/local/bin/cron-cmd index 3609918..da338af 100755 --- a/build/php83/fpm/vipsffmpeg-nginx/usr/local/bin/cron-cmd +++ b/build/php83/fpm/vipsffmpeg-nginx/usr/local/bin/cron-cmd @@ -3,7 +3,7 @@ set -euo pipefail CRON_LOG_LEVEL="${CRON_LOG_LEVEL:-warn}" -CRON_LOG_DIR="${CRON_LOG_DIR:-/var/www/html/var/log}" +CRON_LOG_DIR="${CRON_LOG_DIR:-${PROJECT_ROOT:-/var/www/html}/var/log}" ARGS=$* COMMAND_NAME="" @@ -98,7 +98,7 @@ function execute() { _info "Starting cron task \"${COMMAND_NAME}\"" - cd /var/www/html || exit 1 + cd "${PROJECT_ROOT:-/var/www/html}" || exit 1 if [ -n "${LOCK_FILE}" ]; then _set flock -w 50 -E 99 "${LOCK_FILE}" bash -c "$command" || true diff --git a/build/php83/fpm/vipsffmpeg-nginx/usr/local/bin/docker-entrypoint b/build/php83/fpm/vipsffmpeg-nginx/usr/local/bin/docker-entrypoint index c808514..c99db51 100755 --- a/build/php83/fpm/vipsffmpeg-nginx/usr/local/bin/docker-entrypoint +++ b/build/php83/fpm/vipsffmpeg-nginx/usr/local/bin/docker-entrypoint @@ -38,13 +38,13 @@ if ${NGINX_CORS_CONFIG} && [ -f "${NGINX_CORS_CONF_TEMPLATE}" ]; then \${NGINX_PHP_STRICT_TRANSPORT_SECURITY} \ \${NGINX_PHP_X_ROBOTS_TAG} \ \${NGINX_PORT} \ - \${NGINX_ROOT} \ \${NGINX_STATIC_ALLOWED_ORIGINS_REGEX} \ \${NGINX_STATIC_CACHE_CONTROL_HEADER} \ \${NGINX_STATIC_LOCATION_REGEX} \ \${NGINX_STATIC_X_ROBOTS_TAG} \ \${NGINX_X_CONTENT_TYPE_OPTIONS} \ \${NGINX_X_XSS_PROTECTION} \ + \${PROJECT_WEBROOT} \ " <${NGINX_CORS_CONF_TEMPLATE} >${NGINX_DEFAULT_CONF} elif [ -f "${NGINX_DEFAULT_CONF_TEMPLATE}" ]; then echo "[INFO] Setup nginx default \"${NGINX_DEFAULT_CONF}\" config file" @@ -62,13 +62,13 @@ elif [ -f "${NGINX_DEFAULT_CONF_TEMPLATE}" ]; then \${NGINX_PHP_STRICT_TRANSPORT_SECURITY} \ \${NGINX_PHP_X_ROBOTS_TAG} \ \${NGINX_PORT} \ - \${NGINX_ROOT} \ \${NGINX_STATIC_ALLOWED_ORIGINS_REGEX} \ \${NGINX_STATIC_CACHE_CONTROL_HEADER} \ \${NGINX_STATIC_LOCATION_REGEX} \ \${NGINX_STATIC_X_ROBOTS_TAG} \ \${NGINX_X_CONTENT_TYPE_OPTIONS} \ \${NGINX_X_XSS_PROTECTION} \ + \${PROJECT_WEBROOT} \ " <${NGINX_DEFAULT_CONF_TEMPLATE} >${NGINX_DEFAULT_CONF} fi diff --git a/build/php83/fpm/vipsffmpeg-nginx/usr/local/bin/generate-messenger-supervisor-conf b/build/php83/fpm/vipsffmpeg-nginx/usr/local/bin/generate-messenger-supervisor-conf index 2ea540d..0ee073a 100755 --- a/build/php83/fpm/vipsffmpeg-nginx/usr/local/bin/generate-messenger-supervisor-conf +++ b/build/php83/fpm/vipsffmpeg-nginx/usr/local/bin/generate-messenger-supervisor-conf @@ -10,7 +10,7 @@ SUPERVISOR_MESSENGER_PRIORITY=20 SUPERVISOR_MESSENGER_TIME_LIMIT=${SUPERVISOR_MESSENGER_TIME_LIMIT:-3600} SUPERVISOR_MESSENGER_VERBOSITY=${SUPERVISOR_MESSENGER_VERBOSITY:-} # Logging configuration -MESSENGER_LOG_PREFIX=${MESSENGER_LOG_PREFIX:-/var/www/html/var/log} +MESSENGER_LOG_PREFIX=${MESSENGER_LOG_PREFIX:-${PROJECT_ROOT:-/var/www/html}/var/log} SUPERVISOR_LOG_TO_FILE_ENABLED=${SUPERVISOR_LOG_TO_FILE_ENABLED:-true} SUPERVISOR_STDOUT_LOGFILE="/dev/stdout" SUPERVISOR_STDERR_LOGFILE="/dev/stderr" diff --git a/build/php83/fpm/vipsffmpeg-nginx/usr/local/bin/start-messenger b/build/php83/fpm/vipsffmpeg-nginx/usr/local/bin/start-messenger index 4ad5ccb..97006bc 100755 --- a/build/php83/fpm/vipsffmpeg-nginx/usr/local/bin/start-messenger +++ b/build/php83/fpm/vipsffmpeg-nginx/usr/local/bin/start-messenger @@ -11,7 +11,7 @@ TIME_LIMIT=3600 LIMIT=1000 VERBOSITY="" -cd /var/www/html || exit 1 +cd "${PROJECT_ROOT:-/var/www/html}" || exit 1 function help() { echo -en "$(printf %q "${BASH_SOURCE[0]}") [OPERATION] [OPTIONS] diff --git a/config/all/usr/local/bin/create-user b/config/all/usr/local/bin/create-user index 3531b50..9aa34cd 100755 --- a/config/all/usr/local/bin/create-user +++ b/config/all/usr/local/bin/create-user @@ -5,6 +5,10 @@ set -euo pipefail USER_UID=${1:-1000} USER_GID=${2:-1000} SYSTEM_FOLDERS=( + "${PROJECT_ROOT:-/var/www/html}" + "${PROJECT_ROOT:-/var/www/html}/var/log" + "${COMPOSER_HOME:-/composer}" + "${COMPOSER_HOME:-/composer}/cache" "/etc/ImageMagick-6" "/etc/nginx" "/etc/supervisor" @@ -19,10 +23,6 @@ SYSTEM_FOLDERS=( "/var/log/php" "/var/run/php" "/var/run/supervisor" - "/var/www/html" - "/var/www/html/var/log" - "${COMPOSER_HOME:-/composer}" - "${COMPOSER_HOME:-/composer}/cache" ) echo "Creating \"user\" group with GID \"${USER_GID}\"" diff --git a/config/all/usr/local/bin/cron-cmd b/config/all/usr/local/bin/cron-cmd index 3609918..da338af 100755 --- a/config/all/usr/local/bin/cron-cmd +++ b/config/all/usr/local/bin/cron-cmd @@ -3,7 +3,7 @@ set -euo pipefail CRON_LOG_LEVEL="${CRON_LOG_LEVEL:-warn}" -CRON_LOG_DIR="${CRON_LOG_DIR:-/var/www/html/var/log}" +CRON_LOG_DIR="${CRON_LOG_DIR:-${PROJECT_ROOT:-/var/www/html}/var/log}" ARGS=$* COMMAND_NAME="" @@ -98,7 +98,7 @@ function execute() { _info "Starting cron task \"${COMMAND_NAME}\"" - cd /var/www/html || exit 1 + cd "${PROJECT_ROOT:-/var/www/html}" || exit 1 if [ -n "${LOCK_FILE}" ]; then _set flock -w 50 -E 99 "${LOCK_FILE}" bash -c "$command" || true diff --git a/config/all/usr/local/bin/generate-messenger-supervisor-conf b/config/all/usr/local/bin/generate-messenger-supervisor-conf index 2ea540d..0ee073a 100755 --- a/config/all/usr/local/bin/generate-messenger-supervisor-conf +++ b/config/all/usr/local/bin/generate-messenger-supervisor-conf @@ -10,7 +10,7 @@ SUPERVISOR_MESSENGER_PRIORITY=20 SUPERVISOR_MESSENGER_TIME_LIMIT=${SUPERVISOR_MESSENGER_TIME_LIMIT:-3600} SUPERVISOR_MESSENGER_VERBOSITY=${SUPERVISOR_MESSENGER_VERBOSITY:-} # Logging configuration -MESSENGER_LOG_PREFIX=${MESSENGER_LOG_PREFIX:-/var/www/html/var/log} +MESSENGER_LOG_PREFIX=${MESSENGER_LOG_PREFIX:-${PROJECT_ROOT:-/var/www/html}/var/log} SUPERVISOR_LOG_TO_FILE_ENABLED=${SUPERVISOR_LOG_TO_FILE_ENABLED:-true} SUPERVISOR_STDOUT_LOGFILE="/dev/stdout" SUPERVISOR_STDERR_LOGFILE="/dev/stderr" diff --git a/config/all/usr/local/bin/start-messenger b/config/all/usr/local/bin/start-messenger index 4ad5ccb..97006bc 100755 --- a/config/all/usr/local/bin/start-messenger +++ b/config/all/usr/local/bin/start-messenger @@ -11,7 +11,7 @@ TIME_LIMIT=3600 LIMIT=1000 VERBOSITY="" -cd /var/www/html || exit 1 +cd "${PROJECT_ROOT:-/var/www/html}" || exit 1 function help() { echo -en "$(printf %q "${BASH_SOURCE[0]}") [OPERATION] [OPTIONS] diff --git a/config/fpm-nginx/etc/nginx/conf.d/cors.conf.template b/config/fpm-nginx/etc/nginx/conf.d/cors.conf.template index 6b55636..ee1b58a 100644 --- a/config/fpm-nginx/etc/nginx/conf.d/cors.conf.template +++ b/config/fpm-nginx/etc/nginx/conf.d/cors.conf.template @@ -5,7 +5,7 @@ map $status $static_cache_control_header { server { listen ${NGINX_PORT} default_server; - root ${NGINX_ROOT}; + root ${PROJECT_WEBROOT}; sendfile off; client_body_buffer_size ${NGINX_CLIENT_BODY_BUFFER_SIZE}; diff --git a/config/fpm-nginx/etc/nginx/conf.d/default.conf.template b/config/fpm-nginx/etc/nginx/conf.d/default.conf.template index 3600ba0..4cb8b97 100644 --- a/config/fpm-nginx/etc/nginx/conf.d/default.conf.template +++ b/config/fpm-nginx/etc/nginx/conf.d/default.conf.template @@ -5,7 +5,7 @@ map $status $static_cache_control_header { server { listen ${NGINX_PORT} default_server; - root ${NGINX_ROOT}; + root ${PROJECT_WEBROOT}; sendfile off; client_body_buffer_size ${NGINX_CLIENT_BODY_BUFFER_SIZE}; diff --git a/config/fpm-nginx/usr/local/bin/docker-entrypoint b/config/fpm-nginx/usr/local/bin/docker-entrypoint index c808514..c99db51 100755 --- a/config/fpm-nginx/usr/local/bin/docker-entrypoint +++ b/config/fpm-nginx/usr/local/bin/docker-entrypoint @@ -38,13 +38,13 @@ if ${NGINX_CORS_CONFIG} && [ -f "${NGINX_CORS_CONF_TEMPLATE}" ]; then \${NGINX_PHP_STRICT_TRANSPORT_SECURITY} \ \${NGINX_PHP_X_ROBOTS_TAG} \ \${NGINX_PORT} \ - \${NGINX_ROOT} \ \${NGINX_STATIC_ALLOWED_ORIGINS_REGEX} \ \${NGINX_STATIC_CACHE_CONTROL_HEADER} \ \${NGINX_STATIC_LOCATION_REGEX} \ \${NGINX_STATIC_X_ROBOTS_TAG} \ \${NGINX_X_CONTENT_TYPE_OPTIONS} \ \${NGINX_X_XSS_PROTECTION} \ + \${PROJECT_WEBROOT} \ " <${NGINX_CORS_CONF_TEMPLATE} >${NGINX_DEFAULT_CONF} elif [ -f "${NGINX_DEFAULT_CONF_TEMPLATE}" ]; then echo "[INFO] Setup nginx default \"${NGINX_DEFAULT_CONF}\" config file" @@ -62,13 +62,13 @@ elif [ -f "${NGINX_DEFAULT_CONF_TEMPLATE}" ]; then \${NGINX_PHP_STRICT_TRANSPORT_SECURITY} \ \${NGINX_PHP_X_ROBOTS_TAG} \ \${NGINX_PORT} \ - \${NGINX_ROOT} \ \${NGINX_STATIC_ALLOWED_ORIGINS_REGEX} \ \${NGINX_STATIC_CACHE_CONTROL_HEADER} \ \${NGINX_STATIC_LOCATION_REGEX} \ \${NGINX_STATIC_X_ROBOTS_TAG} \ \${NGINX_X_CONTENT_TYPE_OPTIONS} \ \${NGINX_X_XSS_PROTECTION} \ + \${PROJECT_WEBROOT} \ " <${NGINX_DEFAULT_CONF_TEMPLATE} >${NGINX_DEFAULT_CONF} fi diff --git a/doc/PHP-Changelog/3.3.0.md b/doc/PHP-Changelog/3.3.0.md new file mode 100644 index 0000000..9968f87 --- /dev/null +++ b/doc/PHP-Changelog/3.3.0.md @@ -0,0 +1,13 @@ +2024-04-18 +=== + +### Changed +- Change `NGINX_ROOT` variable to `PROJECT_ROOT` +- Docker packages update: + - php 8.2 `8.2.18` + - php 8.3 `8.3.6` + - php ext mongodb `1.18.1` + - php ext xdebug `3.3.2` + - composer `2.7.2` + - redis client `7.2.4` + - libvips `8.15.2` diff --git a/template.Dockerfile b/template.Dockerfile index b92e7b9..24c877f 100644 --- a/template.Dockerfile +++ b/template.Dockerfile @@ -7,6 +7,8 @@ LABEL maintainer="Lubomir Stanko " # ---------------------------------------------------------------------------------------------------------------------- # Building envs ENV MAKEFLAGS="-j4" +# Common envs +ENV PROJECT_ROOT="/var/www/html" # Php # Php error reporting constants https://www.php.net/manual/en/errorfunc.constants.php # Calculate the number for config on https://maximivanov.github.io/php-error-reporting-calculator/ @@ -39,7 +41,8 @@ ENV PHP_DATE_TIMEZONE="UTC" \ PHP_SLOW_LOG="/proc/self/fd/2" \ PHP_UPLOAD_MAX_FILESIZE="20M" \ PHP_VARIABLES_ORDER="GPCS" \ - XDEBUG_LOG="/var/www/html/xdebug.log" + PROJECT_WEBROOT="${PROJECT_ROOT}/public" \ + XDEBUG_LOG="${PROJECT_ROOT}/xdebug.log" # Composer ENV COMPOSER_HOME="/composer" \ PATH="/composer/vendor/bin:$PATH" @@ -182,6 +185,6 @@ COPY ./usr /usr # RUN # Run setup and entrypoint start # ---------------------------------------------------------------------------------------------------------------------- -WORKDIR /var/www/html +WORKDIR ${PROJECT_ROOT} ENTRYPOINT ["docker-entrypoint"] diff --git a/variant-nginx.Dockerfile b/variant-nginx.Dockerfile index 8cf6580..6c107dd 100644 --- a/variant-nginx.Dockerfile +++ b/variant-nginx.Dockerfile @@ -24,7 +24,6 @@ ENV NGINX_ACCESS_CONTROL_ALLOW_HEADERS="Accept,Authorization,Cache-Control,Conte NGINX_PHP_STRICT_TRANSPORT_SECURITY="max-age=31536000" \ NGINX_PHP_X_ROBOTS_TAG="noindex, nofollow, noarchive, nosnippet" \ NGINX_PORT=8080 \ - NGINX_ROOT=/var/www/html/public \ NGINX_SERVER_TOKENS="off" \ NGINX_STATIC_ALLOWED_ORIGINS_REGEX="^https?://.*" \ NGINX_STATIC_CACHE_CONTROL_HEADER="public, max-age=31557600, s-maxage=31557600" \ diff --git a/versions.conf b/versions.conf index 9924797..a36944e 100644 --- a/versions.conf +++ b/versions.conf @@ -1,12 +1,12 @@ -export PHP82_VERSION=8.2.16 -export PHP83_VERSION=8.3.3 +export PHP82_VERSION=8.2.18 +export PHP83_VERSION=8.3.6 # Pecl ext versions export PECL_APCU_VERSION=5.1.23 -export PECL_MONGODB_VERSION=1.17.2 +export PECL_MONGODB_VERSION=1.18.1 export PECL_PCOV_VERSION=1.0.11 export PECL_REDIS_VERSION=6.0.2 export PECL_VIPS_VERSION=1.0.13 -export PECL_XDEBUG_VERSION=3.3.1 +export PECL_XDEBUG_VERSION=3.3.2 # Nginx version export NGINX_VERSION=1.24.0 export NGINX_NJS_VERSION=0.8.3 @@ -14,10 +14,10 @@ export NGINX_PKG_RELEASE=1~bookworm # Php Security Checker version export PHP_SECURITY_CHECKER_VERSION=2.0.6 # Composer version -export COMPOSER_VERSION=2.7.1 +export COMPOSER_VERSION=2.7.2 # Redis version export REDIS_PRE_RELEASE=6 -export REDIS_VERSION=6.2.14 +export REDIS_VERSION=7.2.4 export REDIS_PKG_RELEASE=1rl1~bookworm1 # Supervisor version export SUPERVISOR_VERSION=4.2.5 @@ -27,4 +27,4 @@ export FFMPEG_PRE_RELEASE=7 export FFMPEG_VERSION=5.1.4 export FFMPEG_PKG_RELEASE=0+deb12u1 # Libvips version -export LIBVIPS_VERSION=8.15.1 +export LIBVIPS_VERSION=8.15.2