docker icon indicating copy to clipboard operation
docker copied to clipboard

[Bug]: Docker Image for 32.0.3 Does not Have Modules memcached or redis installed

Open farewarr opened this issue 2 weeks ago • 9 comments

⚠️ This issue respects the following points: ⚠️

Bug description

I am on the latest tag and i am seeing this in the logs:

Cannot load module "memcached" because required module "igbinary" is not loaded Cannot load module "redis" because required module "igbinary" is not loaded

This renders Nextcloud unable to load in the browser.

Steps to reproduce

  1. Update to 32.0.3
  2. Site does not load
  3. Check the logs

Expected behavior

Nextcloud should be able to load those modules.

Nextcloud Server version

32

Operating system

Debian/Ubuntu

PHP engine version

PHP 8.4

Web server

Apache (supported)

Database engine version

PostgreSQL

Is this bug present after an update or on a fresh install?

Updated from a MINOR version (ex. 32.0.1 to 32.0.2)

Are you using the Nextcloud Server Encryption module?

Encryption is Disabled

What user-backends are you using?

  • [x] Default user-backend (database)
  • [ ] LDAP/ Active Directory
  • [x] SSO - SAML
  • [ ] Other

Configuration report

PHP Warning:  Cannot load module "memcached" because required module "igbinary" is not loaded in Unknown on line 0
PHP Warning:  Cannot load module "redis" because required module "igbinary" is not loaded in Unknown on line 0
An unhandled exception has been thrown:
OCP\HintException: [0]: Memcache OC\Memcache\Redis not available for distributed cache (Is the matching PHP module installed and enabled?)

List of activated Apps

PHP Warning: Cannot load module "memcached" because required module "igbinary" is not loaded
PHP Warning: Cannot load module "redis" because required module "igbinary" is not loaded
OCP\HintException: Memcache OC\Memcache\Redis not available for distributed cache

Nextcloud Signing status

The site does not load because of this issue

Nextcloud Logs

Configuring Redis as session handler
PHP Warning:  Cannot load module "memcached" because required module "igbinary" is not loaded in Unknown on line 0
PHP Warning:  Cannot load module "redis" because required module "igbinary" is not loaded in Unknown on line 0
PHP Warning:  Cannot load module "memcached" because required module "igbinary" is not loaded in Unknown on line 0
PHP Warning:  Cannot load module "redis" because required module "igbinary" is not loaded in Unknown on line 0
Warning: /var/www/html/config/redis.config.php differs from the latest version of this image at /usr/src/nextcloud/config/redis.config.php
Warning: /var/www/html/config/reverse-proxy.config.php differs from the latest version of this image at /usr/src/nextcloud/config/reverse-proxy.config.php
Warning: /var/www/html/config/s3.config.php differs from the latest version of this image at /usr/src/nextcloud/config/s3.config.php
Warning: /var/www/html/config/upgrade-disable-web.config.php differs from the latest version of this image at /usr/src/nextcloud/config/upgrade-disable-web.config.php
=> Searching for hook scripts (*.sh) to run, located in the folder "/docker-entrypoint-hooks.d/before-starting"
==> Skipped: the "before-starting" folder is empty (or does not exist)
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.26.0.9. Set the 'ServerName' directive globally to suppress this message
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.26.0.9. Set the 'ServerName' directive globally to suppress this message
PHP Warning:  Cannot load module "memcached" because required module "igbinary" is not loaded in Unknown on line 0
PHP Warning:  Cannot load module "redis" because required module "igbinary" is not loaded in Unknown on line 0
[Fri Dec 12 01:20:36.038785 2025] [mpm_prefork:notice] [pid 1:tid 1] AH00163: Apache/2.4.65 (Debian) PHP/8.3.28 configured -- resuming normal operations
[Fri Dec 12 01:20:36.038976 2025] [core:notice] [pid 1:tid 1] AH00094: Command line: 'apache2 -D FOREGROUND'

Additional info

Please mark this as a high sev bug. This is a critical issue that affects the functionality of the Nextcloud

farewarr avatar Dec 12 '25 06:12 farewarr

Unable to reproduce. Are you perhaps using your custom Dockerfile? If so, it may be out of date.

joshtrichards avatar Dec 12 '25 15:12 joshtrichards

Hello, same problem, just pulled nextcloud:fpm as usual and starts logging: Can't start Nextcloud because the version of the data ( Warning: Cannot load module "memcached" because required module "igbinary" is not loaded in Unknown on line 0

pci06 avatar Dec 12 '25 18:12 pci06

Unable to reproduce. Are you perhaps using your custom Dockerfile? If so, it may be out of date.

No I am not using a custom docker file. Let me know if you need my compose file

farewarr avatar Dec 12 '25 18:12 farewarr

Re, I fixed the problem. I had a volume which overlap the new config: nextcloud_phpfpm_config:/usr/local/etc

I removed it and now it's ok

pci06 avatar Dec 12 '25 18:12 pci06

Re, I fixed the problem. I had a volume which overlap the new config: nextcloud_phpfpm_config:/usr/local/etc

I removed it and now it's ok

These are my volumes

volumes: - /home/fareedwarrad/docker/nextcloud/html:/var/www/html:rw - /home/fareedwarrad/docker/nextcloud/custom_apps:/var/www/html/custom_apps:rw - /home/fareedwarrad/docker/nextcloud/config:/var/www/html/config:rw - /home/fareedwarrad/docker/nextcloud/data:/var/www/html/data:rw - /home/fareedwarrad/docker/nextcloud/themes:/var/www/html/themes:rw - /home/fareedwarrad/docker/nextcloud/apache-config/apache2/sites-available:/etc/apache2/sites-enabled:rw - /home/fareedwarrad/docker/nextcloud/php:/usr/local/etc/php:rw - /var/run/clamav/:/var/run/clamav/ -

Could it be this?

/home/fareedwarrad/docker/nextcloud/php:/usr/local/etc/php:rw

farewarr avatar Dec 12 '25 18:12 farewarr

Try to remove this one:

  • /home/fareedwarrad/docker/nextcloud/php:/usr/local/etc/php:rw

pci06 avatar Dec 12 '25 18:12 pci06

Try to remove this one:

  • /home/fareedwarrad/docker/nextcloud/php:/usr/local/etc/php:rw

Now I have these errors

Configuring Redis as session handler Initializing nextcloud 32.0.3.2 ... New nextcloud instance Installing with MySQL database => Searching for hook scripts (*.sh) to run, located in the folder "/docker-entrypoint-hooks.d/pre-installation" ==> Skipped: the "pre-installation" folder is empty (or does not exist) Starting nextcloud installation The Login is already being used Retrying install... The Login is already being used Retrying install... The Login is already being used Retrying install... The Login is already being used Retrying install... The Login is already being used Retrying install... The Login is already being used Retrying install... The Login is already being used Retrying install... The Login is already being used Retrying install... The Login is already being used Retrying install... The Login is already being used Retrying install... The Login is already being used Retrying install... Installing of nextcloud failed! Configuring Redis as session handler => Searching for hook scripts (*.sh) to run, located in the folder "/docker-entrypoint-hooks.d/before-starting" ==> Skipped: the "before-starting" folder is empty (or does not exist) AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.26.0.9. Set the 'ServerName' directive globally to suppress this message AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.26.0.9. Set the 'ServerName' directive globally to suppress this message [Fri Dec 12 13:37:11.745661 2025] [mpm_prefork:notice] [pid 1:tid 1] AH00163: Apache/2.4.65 (Debian) PHP/8.3.28 configured -- resuming normal operations [Fri Dec 12 13:37:11.745747 2025] [core:notice] [pid 1:tid 1] AH00094: Command line: 'apache2 -D FOREGROUND' 136.61.116.233 - - [12/Dec/2025:13:37:17 -0500] "GET /apps/external/1/ HTTP/1.1" 404 612 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36" 136.61.116.233 - - [12/Dec/2025:13:37:18 -0500] "GET /index.php/apps/files/preview-service-worker.js HTTP/1.1" 200 2992 "https://cloud.nonooculusnas.com/index.php/apps/files/preview-service-worker.js" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Mobile Safari/537.36" [Fri Dec 12 13:37:30.712766 2025] [autoindex:error] [pid 67:tid 67] [client 136.61.116.233:0] AH01276: Cannot serve directory /var/www/html/apps/dashboard/: No matching DirectoryIndex (index.php,index.html) found, and server-generated directory index forbidden by Options directive 136.61.116.233 - - [12/Dec/2025:13:37:30 -0500] "GET /apps/dashboard/ HTTP/1.1" 403 615 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36" 136.61.116.233 - - [12/Dec/2025:13:37:32 -0500] "GET /index.php/apps/files/preview-service-worker.js HTTP/1.1" 200 2807 "https://cloud.nonooculusnas.com/index.php/apps/files/preview-service-worker.js" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Mobile Safari/537.36" 127.0.0.1 - - [12/Dec/2025:13:37:41 -0500] "GET / HTTP/1.1" 200 5411 "-" "curl/8.14.1" 136.61.116.233 - - [12/Dec/2025:13:38:01 -0500] "GET /index.php/apps/files/preview-service-worker.js HTTP/1.1" 200 2808 "https://cloud.nonooculusnas.com/index.php/apps/files/preview-service-worker.js" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Mobile Safari/537.36" [Fri Dec 12 13:38:10.341917 2025] [autoindex:error] [pid 66:tid 66] [client 136.61.116.233:0] AH01276: Cannot serve directory /var/www/html/apps/dashboard/: No matching DirectoryIndex (index.php,index.html) found, and server-generated directory index forbidden by Options directive 136.61.116.233 - - [12/Dec/2025:13:38:10 -0500] "GET /apps/dashboard/ HTTP/1.1" 403 615 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36" 127.0.0.1 - - [12/Dec/2025:13:38:11 -0500] "GET / HTTP/1.1" 200 5409 "-" "curl/8.14.1" 136.61.116.233 - - [12/Dec/2025:13:38:11 -0500] "GET /index.php/apps/files/preview-service-worker.js HTTP/1.1" 200 2809 "https://cloud.nonooculusnas.com/index.php/apps/files/preview-service-worker.js" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Mobile Safari/537.36"

farewarr avatar Dec 12 '25 18:12 farewarr

Same issue here, running our standard upgrade procedure, nothing changed except nextcloud container and neither redis nor memcached load.

Attempted upgrade path: 32.0.2-fpm-alpine -> 32.0.3-fpm-alpine

Reverting to 32.0.2 solves the issue. I checked the OCI image and the redis and memcached extensions are here but would not load. Probably something more subtle in the packaging or compiling.

khassad avatar Dec 12 '25 21:12 khassad

This is not a defect in the traditional sense. After commenting out

/home/fareedwarrad/docker/nextcloud/php:/usr/local/etc/php:rw

I got these warnings:

Warning: /var/www/html/config/apache-pretty-urls.config.php differs from the latest version of this image at /usr/src/nextcloud/config/apache-pretty-urls.config.php Warning: /var/www/html/config/apcu.config.php differs from the latest version of this image at /usr/src/nextcloud/config/apcu.config.php Warning: /var/www/html/config/apps.config.php differs from the latest version of this image at /usr/src/nextcloud/config/apps.config.php Warning: /var/www/html/config/redis.config.php differs from the latest version of this image at /usr/src/nextcloud/config/redis.config.php Warning: /var/www/html/config/reverse-proxy.config.php differs from the latest version of this image at /usr/src/nextcloud/config/reverse-proxy.config.php Warning: /var/www/html/config/s3.config.php differs from the latest version of this image at /usr/src/nextcloud/config/s3.config.php Warning: /var/www/html/config/smtp.config.php differs from the latest version of this image at /usr/src/nextcloud/config/smtp.config.php Warning: /var/www/html/config/swift.config.php differs from the latest version of this image at /usr/src/nextcloud/config/swift.config.php Warning: /var/www/html/config/upgrade-disable-web.config.php differs from the latest version of this image at /usr/src/nextcloud/config/upgrade-disable-web.config.php

Which means I was missing the two modules on my host PLUS all the files under /var/www/html/config.

the problem I have is I have no idea that these files that didnt exist before now exist and thus broke the server. After copying those files from a temporary container of the same image version and making sure the permissions and ownership were the smae i was able to run the updater and its working now,

farewarr avatar Dec 13 '25 01:12 farewarr

I have similar problem, and was able to reproduce it.

Revert back to yesterday's state with zfs snapshots.

Run nextcloud:32.0.2.2 image, everything is fine.

replace it with :latest, and i get the following error in logs:

(normal official nextcloud image, not the aio)

Can't start Nextcloud because the version of the data ( Warning: Cannot load module "memcached" because required module "igbinary" is not loaded in Unknown on line 0 Warning: Cannot load module "redis" because required module "igbinary" is not loaded in Unknown on line 0 32.0.2.2) is higher than the docker image version ( Warning: Cannot load module "memcached" because required module "igbinary" is not loaded in Unknown on line 0 Warning: Cannot load module "redis" because required module "igbinary" is not loaded in Unknown on line 0 32.0.3.2) and downgrading is not supported. Are you sure you have pulled the newest image version? Configuring Redis as session handler

I am more confused with the data version is higher than the image version part of the error.

gazsoimi avatar Dec 13 '25 09:12 gazsoimi

@gazsoimi Are you overwriting the image's PHP ini directory? If so, the one try for igbinary is presumably missing. I'd suggest just adding an additional ini file if you have local changes, rather than mounting over the entire directory.

I am more confused with the data version is higher than the image version part of the error.

That's because the check uses PHP to run. The error output from the PHP error is spit out during the version check.

joshtrichards avatar Dec 13 '25 19:12 joshtrichards

@gazsoimi Are you overwriting the image's PHP ini directory? If so, the one try for igbinary is presumably missing. I'd suggest just adding an additional ini file if you have local changes, rather than mounting over the entire directory.

I am more confused with the data version is higher than the image version part of the error.

That's because the check uses PHP to run. The error output from the PHP error is spit out during the version check.

Clearly there are files this image expects that were not previously expected even in the most recent previous version. Which sucks because most power will "overwrite" the directory via a persistent mount

farewarr avatar Dec 13 '25 23:12 farewarr

@joshtrichards

I have these locationts mounted persistently from outside

:/var/www/html :/var/www/html/data :/usr/local/etc/php/conf.d/

gazsoimi avatar Dec 14 '25 12:12 gazsoimi

:/usr/local/etc/php/conf.d/

@gazsoimi Yeah if you're overwriting the entire PHP configuration directory that is the cause of this.

It means you don't get updated PHP settings or new PHP modules, etc.

I'd suggest mounting a single file within that folder with any local changes instead.

joshtrichards avatar Dec 16 '25 21:12 joshtrichards