From 015fd04a372b0f8d0307cc5ced1f666e0949f74d Mon Sep 17 00:00:00 2001 From: FreddleSpl0it <75116288+FreddleSpl0it@users.noreply.github.com> Date: Wed, 21 Oct 2026 11:06:14 +0200 Subject: [PATCH] [PHP] Update base to Alpine 3.24, build PECL extensions from GitHub --- data/Dockerfiles/phpfpm/Dockerfile | 21 +++++++++++++-------- data/conf/phpfpm/php-conf.d/other.ini | 2 ++ 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/data/Dockerfiles/phpfpm/Dockerfile b/data/Dockerfiles/phpfpm/Dockerfile index ca252163a..af23bc2ec 100644 --- a/data/Dockerfiles/phpfpm/Dockerfile +++ b/data/Dockerfiles/phpfpm/Dockerfile @@ -1,4 +1,4 @@ -FROM php:8.2-fpm-alpine3.21 +FROM php:8.2-fpm-alpine3.24 LABEL maintainer = "The Infrastructure Company GmbH " @@ -47,6 +47,7 @@ RUN apk add -U --no-cache autoconf \ libressl-dev \ librsvg \ libtool \ + libwebp \ libwebp-dev \ libxml2-dev \ libxpm \ @@ -63,13 +64,16 @@ RUN apk add -U --no-cache autoconf \ samba-client \ zlib-dev \ tzdata \ - && pecl install APCu-${APCU_PECL_VERSION} \ - && pecl install imagick-${IMAGICK_PECL_VERSION} \ - && pecl install mailparse-${MAILPARSE_PECL_VERSION} \ - && pecl install memcached-${MEMCACHED_PECL_VERSION} \ - && pecl install redis-${REDIS_PECL_VERSION} \ - && docker-php-ext-enable apcu imagick memcached mailparse redis \ - && pecl clear-cache \ + && docker-php-source extract \ + # PECL extensions from their GitHub tags (pecl.php.net is not reliable enough for builds) + && mkdir -p /usr/src/php/ext/apcu /usr/src/php/ext/imagick /usr/src/php/ext/mailparse /usr/src/php/ext/memcached /usr/src/php/ext/redis \ + && curl -fsSL https://github.com/krakjoe/apcu/archive/refs/tags/v${APCU_PECL_VERSION}.tar.gz | tar -xz --strip-components=1 -C /usr/src/php/ext/apcu \ + && curl -fsSL https://github.com/Imagick/imagick/archive/refs/tags/${IMAGICK_PECL_VERSION}.tar.gz | tar -xz --strip-components=1 -C /usr/src/php/ext/imagick \ + && sed -i "s/@PACKAGE_VERSION@/${IMAGICK_PECL_VERSION}/" /usr/src/php/ext/imagick/php_imagick.h \ + && curl -fsSL https://github.com/php/pecl-mail-mailparse/archive/refs/tags/v${MAILPARSE_PECL_VERSION}.tar.gz | tar -xz --strip-components=1 -C /usr/src/php/ext/mailparse \ + && curl -fsSL https://github.com/php-memcached-dev/php-memcached/archive/refs/tags/v${MEMCACHED_PECL_VERSION}.tar.gz | tar -xz --strip-components=1 -C /usr/src/php/ext/memcached \ + && curl -fsSL https://github.com/phpredis/phpredis/archive/refs/tags/${REDIS_PECL_VERSION}.tar.gz | tar -xz --strip-components=1 -C /usr/src/php/ext/redis \ + && docker-php-ext-install -j 4 apcu imagick mailparse memcached redis \ && docker-php-ext-configure intl \ && docker-php-ext-configure exif \ && docker-php-ext-configure gd --with-freetype=/usr/include/ \ @@ -83,6 +87,7 @@ RUN apk add -U --no-cache autoconf \ && curl --silent --show-error https://getcomposer.org/installer | php -- --version=${COMPOSER_VERSION} \ && mv composer.phar /usr/local/bin/composer \ && chmod +x /usr/local/bin/composer \ + && docker-php-source delete \ && apk del --purge autoconf \ aspell-dev \ cyrus-sasl-dev \ diff --git a/data/conf/phpfpm/php-conf.d/other.ini b/data/conf/phpfpm/php-conf.d/other.ini index 02f59a9c0..e60e9f815 100644 --- a/data/conf/phpfpm/php-conf.d/other.ini +++ b/data/conf/phpfpm/php-conf.d/other.ini @@ -1,3 +1,5 @@ max_execution_time = 3600 max_input_time = 3600 memory_limit = 512M +; not used by mailcow, disabled as hardening (PHP security release 2026-10-21) +session.upload_progress.enabled = Off