From d1ed80af33d1dab1ab16e27e6e3f7623405c7b4f Mon Sep 17 00:00:00 2001 From: ernolf Date: Tue, 11 Jun 2024 19:52:10 +0200 Subject: [PATCH] Add igbinary as serializer for increased performance - Install igbinary via PECL - Enable igbinary support for memcached and redis - Configure PHP to use igbinary for APCu and session serialization - Update Dockerfile to include igbinary and its configuration Signed-off-by: ernolf --- Containers/nextcloud/Dockerfile | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/Containers/nextcloud/Dockerfile b/Containers/nextcloud/Dockerfile index ef2493fe..3e2a62f9 100644 --- a/Containers/nextcloud/Dockerfile +++ b/Containers/nextcloud/Dockerfile @@ -78,12 +78,18 @@ RUN set -ex; \ ; \ \ # pecl will claim success even if one install fails, so we need to perform each install separately + pecl install igbinary-3.2.15; \ pecl install APCu-5.1.23; \ - pecl install memcached-3.2.0; \ - pecl install redis-6.0.2; \ + pecl install --configureoptions \ + 'enable-memcached-igbinary="yes"' \ + memcached-3.2.0; \ + pecl install --configureoptions \ + 'enable-redis-igbinary="yes" enable-redis-zstd="yes" enable-redis-lz4="yes"' \ + redis-6.0.2; \ pecl install imagick-3.7.0; \ \ docker-php-ext-enable \ + igbinary \ apcu \ memcached \ redis \ @@ -99,6 +105,11 @@ RUN set -ex; \ apk add --no-cache --virtual .nextcloud-phpext-rundeps $runDeps; \ apk del .build-deps; \ \ + { \ + echo 'apc.serializer=igbinary'; \ + echo 'session.serialize_handler=igbinary'; \ + } >> /usr/local/etc/php/conf.d/docker-php-ext-igbinary.ini; \ + \ # set recommended PHP.ini settings # see https://docs.nextcloud.com/server/stable/admin_manual/configuration_server/server_tuning.html#enable-php-opcache { \