Wer Nextcloud in Docker auf seiner Synology NAS betreibt, stolpert dabei seit Nextcloud Version 22 möglicherweise über den folgenden Fehler: AH00141: Could not initialize random number generator
. Das Problem tritt auf meiner Synology DS716+II leider sowohl mit DSM 6.2 als auch DSM 7 auf.
Die Nextcloud läuft nach dem Update des Containers nicht mehr. Was tun? Erstmal tief durchatmen und dann Schritt für Schritt die Lösung suchen.
[:crit] [pid 1] (38)Function not implemented: AH00141: Could not initialize random number generator
[:crit] [pid 1] (38)Function not implemented: AH00141: Could not initialize random number generator
[:crit] [pid 1] (38)Function not implemented: AH00141: Could not initialize random number generator
Eine ausgiebige Suche im Netz brachte mich schließlich zur Ursache des Problems: Der Kernel der DSM 6.2 als auch der DSM 7 ist zu alt bzw. die Synology Hardware unterstützt keinen Hardware Random-Number-Generator. Allerdings scheint das Fehlen des RNG Moduls bis Debian Buster kein Problem darzustellen - erst ab Debian Bullseye laufen die Docker Container nicht mehr auf dem NAS.
Mehr Details in diese beiden Isssues auf GitHub:
Damit eure Nextcloud wieder funktioniert müsst ihr "einfach" den Docker Container modifizieren und ein angepasstes Container Images erstellen. Da ich auf meiner Synology Portainer zur Verwaltung des Docker-Setups nutze und die Nextcloud als (Compose-)Stack deployed habe, orientiert sich diese Anleitung stark an den Funktionen von Portainer. Ihr könnt das Container-Build aber auch per SSH auf der Shell erstellen oder möglicherweise per Synology Oberfläche rein laden.
Damit ihr euch das manuelle Anpassen des Dockerfiles sparen könnt bzw. ein Beispiel habt, wie das Archiv hinterher aufgebaut sein muss, habe ich euch hier das fertige Tar-Archiv mit Nextcloud-Docker-Apache2 für Nextcloud 22, Nextcloud 23, Nextcloud 24, Nextcloud 25, Nextcloud 26, Nextcloud 27, Nextcloud 28 und Nextcloud 29 zum Download bereitgestellt.
/23/apache/
).FROM php:8.0-apache-bullseye
, die ihr ersetzen müsst mit php:8.0-apache-buster
, damit Nextcloud das ältere Debian als Basis-Image nutzt, bei dem der Fehler mit dem RNG nicht auftritt. Bei den neueren Nextcloud Images bzw. wenn ihr PHP 8.2 nehmt, müsst ihr im Dockerfile bei apt install
ggf. noch libssl-dev
ergänzen.nextcloud:23
taggen
Viel Spaß mit eurer "neuen" Nextcloud! :-)
Vorheriger Beitrag Nächster Beitrag