Nextcloud: Wenn der Updater Ärger macht

  Ralf Hersel   Lesezeit: 6 Minuten  🗪 18 Kommentare Auf Mastodon ansehen

Der Nextcloud-Updater ist bequem und funktioniert meistens ohne Probleme. Doch manchmal wird es schwierig.

nextcloud: wenn der updater Ärger macht

Viele von uns verwenden Nextcloud als freie und souveräne Alternative zu den grossen kommerziellen Cloud-Diensten. Das ist gut so und darf sich gerne weiter verbreiten. Damit einher geht auch eine grössere Verantwortung für selbst gehostete oder beim Provider des Vertrauens betriebene Dienste.

Wer eine Nextcloud-Installation betreibt, hatte vermutlich schon einmal Probleme mit dem Updater. Die Nextcloud informiert per E-Mail (falls man das eingerichtet hat) oder über eine Benachrichtigung auf der eigenen NC-Webseite, wenn neue Versionen für Apps oder die Nextcloud selbst zur Verfügung stehen. Dann kann man den Updater starten:

Im oben gezeigten Beispiel steht ein Update von Version 30.0.6 auf 30.0.7 bereit. Nach einem Klick auf Updater öffnen, sieht man die einzelnen Schritte, die der Updater durchläuft:

In der Regel funktioniert das reibungslos, doch manchmal bleibt der Updater hängen. Neulich hatte ein Freund an der Stelle Check for expected files ein Problem. Dies konnte gelöst werden, indem ich die fraglichen Dateien gelöscht und den Update-Prozess erneut angestossen habe. Im obigen Screenshot seht ihr ein Problem beim Herunterladen der ZIP-Datei für die neue Version. Der Prozess stoppt bei Punkt 4, dem Downloading. Die Fehlermeldung "Parsing response failed" ist wenig hilfreich. Tatsächlich handelt es sich um ein Timeout; das Herunterladen der Datei nextcloud-30.0.7.zip dauert zu lange, weshalb Nextcloud oder PHP (weiss ich nicht genau) den Vorgang abbricht.

Nun befindet sich der Updater in einem Zwischenstadium, das einem nicht weiterhilft. Startet man den Updater erneut, bekommt man diese Meldung angezeigt:

Step 4 is currently in process. Please reload this page later or remove the following file to start from scratch:
.../httpdocs/nextcloud/data/updater-oc2mc967xw5o/.step

Möchte man dieses Zwischenstadium beenden, muss die besagte Datei über den Dateimanager im Hosting-Backend gelöscht werden. Der Inhalt dieser .step-Datei sieht so aus:

{"state":"start","step":4}

Nach dem Löschen der Datei startet der Updater wieder mit Schritt 1. Leider nützt das nichts, weil er bei Schritt 4 wieder in den Timeout läuft.

Lösungsvorschläge

Am Zwischentitel könnt ihr erkennen, dass ich Zweifel daran habe, eine Lösung zu finden. Folgende Überlegungen habe ich angestellt: Die Datei nextcloud-30.0.7.zip ist knapp 230 MB gross. Der manuelle Download dauerte bei mir 30 Minuten. Das lässt auf eine Überlastung der Nextcloud-Server schliessen und wäre ein Grund für das Timeout bei Schritt 4. Im Download-Verzeichnis auf dem Server befindet sich eine halb fertige Datei:

Wenn die Million Nextcloud-Anwender:innen zeitnah eine Benachrichtigung über ein neues Update erhalten, wäre das ein Grund für die Überlastung des Downloads. Na gut, dann warte ich ein paar Tage ab und versuche es danach erneut. Dieser Gedanke ist naheliegend, aber unbefriedigend, weil man Dinge sofort erledigen möchte.

Meine zweite Idee war, den Updater zu überlisten. Deshalb habe ich die nextcloud-30.0.7.zip manuell heruntergeladen und in das Download-Verzeichnis geschoben. Ausserdem habe ich die Datei .step modifiziert, um dem Updater vorzugaukeln, dass Schritt 4 erfolgreich abgeschlossen wurde:

{"state":"start","step":5}

Leider hat das nicht funktioniert. Der Updater meldet:

Step 5 is currently in process. Please reload this page later or remove the following file to start from scratch:
.../httpdocs/nextcloud/data/updater-oc2mc967xw5o/.step

Dann habe ich die vollständige ZIP-Datei erneut hochgeladen und die Datei .step so geändert:

{"state":"end","step":4}

Damit wollte ich dem Update-Prozess vorgaukeln, dass Schritt 4 (Download) erfolgreich abgeschlossen wurde. Dann habe ich den Updater erneut gestartet. Und der meldete sich so:

Das sieht vielversprechend aus. Der Download wird als abgeschlossen angezeigt und es gibt die Möglichkeit "Continue update". Und siehe da, der Updater läuft problemlos bis zum Ende durch. Ich bin jetzt auf Version 30.0.7

Aber was ist das? Es steht bereits das nächste Update auf Version 31.0.1 an. Dafür habe ich jetzt keine Nerven mehr. Oder doch? Bei diesem Update ergibt sich dasselbe Problem und die Lösung ist auch dieselbe.

Titelbild: https://pixabay.com/vectors/cloud-reload-to-update-2044820/

Quelle: keine

Tags

Nextcloud, Update, Updater

Martin
Geschrieben von Martin am 17. März 2025 um 09:13

Ja, die Nextcloud-Updates… Wenn man einen Root-Server hat, ist es von Vorteil, die Updates über eine Konsole zu machen. Ich gehe dazu in das updater-Unterverzeichnis und starte die Prozedur mit sudo -u www-data php updater.phar. Auf diesem Weg ist das Update etwas geduldiger und man läuft nicht so schnell in einen Timeout rein. Aber je nach Hostingvariante geht dieser Weg halt leider nicht immer.

Bjoern
Geschrieben von Bjoern am 17. März 2025 um 09:29

Ich mach das Update immer über die Konsole - dadurch können solche Timeouts verhindert werden

sudo -u www-data php --define apc.enable_cli=1 /pfad/zur/cloud/updater/updater.phar

Bislang immer ohne Probleme

Alex
Geschrieben von Alex am 17. März 2025 um 10:19

Sehr schön, so ähnlich war das Problem bei mir letzte Woche auch. Nur dass ich nicht mit dem Nextcloud-internen Updater arbeite, sondern ein eigenes Tooling drumherum gebaut habe. Weil ich auch andere Apps selbst hoste und der NC-Updater es bei mir irgendwie eh noch nie getan hat.

Jedenfalls war mein Tooling auch nicht darauf vorbereitet, dass der Download des ZIPs nicht in normaler Zeit abgeschlossen werden kann.

Mein Workaround war derselbe: manuell herunterladen und an die richtige Stelle legen.

Generell scheint der Nextcloud-Server letzte Woche wohl extrem unter Strom gestanden zu haben, denn bisher habe ich in den letzten Jahren ein solches Problem nicht beobachten können. Die x-hundert MB waren immer recht schnell heruntergeladen.

Klaus
Geschrieben von Klaus am 17. März 2025 um 10:19

Das Download Problem liest sich so, als könnte man es mit Torrenting anpacken. Das scheint mir doch ein bereits gelöstes Problem zu sein.

Thomas K
Geschrieben von Thomas K am 17. März 2025 um 10:30

genau aus diesem grund sind wir von nextcloud zu cryptpad umgestiegen. das upgrade hat dort noch immer funktioniert und bei nextcloud gefühlt nie.

tux0r
Geschrieben von tux0r am 17. März 2025 um 12:10

Bei mir läuft (aus Faulheit) seit Jahren eine nextCloud-Installation, die ich einfach per pkgsrc (ist ein illumos-Server) aktuell halte. Da gab es bisher nie Probleme:

pfexec pkgin up ; pfexec pkgin fug

Das Datenbankupdate beim Aufruf der neuen Version ist bei mir bisher nur einmal fehlgeschlagen. (Das war echt nervig.) Den eingebauten Downloader-Updater habe ich nie gebraucht.

devzero
Geschrieben von devzero am 17. März 2025 um 12:58

Ah gut, ich hab mich schon gewundert, dass die letzten paar updates beim Download gestockt haben. Da ich auch überall einen eigenen Server nutze, kann ich auch die updater.phar Variante nutzen und hab dann Ruhe.

The_Raven
Geschrieben von The_Raven am 17. März 2025 um 14:32

Uiuiui, Nextcloud-Update, ein ganz heikles Thema! 😁 Da gibt es so viel das schiefgehen kann und nach gefühlt jedem Update gibt es irgendwelche "Probleme" die vorher nicht da waren. Meist "nur" irgendwelche Datenbank-Einträge die nicht stimmen, oder irgend eine Landesvorwahl die man noch zusätzlich in die config.php eintragen muss, oder Apps die mit der neuen Version nicht mehr laufen. Gerade vor kurzem habe ich wieder zwei Instanzen zerschossen beim Update von 30.0.0.6 -> 31.0.0. Grund war, dass das 2FA-App nicht kompatibel war und ich mich selber ausgesperrt habe (das ist die Kurzform, natürlich war das ganze einiges komplexer). Aber hey, dafür weiss ich jetzt wie man direkt in der Datenbank herum pfuscht. 😜 Ganz ehrlich: Ich würde NC niemandem empfehlen. Ausser es ist im Langweilig und er ist auf der Suche nach einer Herausforderung. 😉 Auch wenn ich es nicht gerne sage: NC ist ein "Gefrickel" das einiges an Nerven braucht. 🙄 Aktuell betreibe ich übrigens sechs Instanzen.

Rainer
Geschrieben von Rainer am 17. März 2025 um 16:13

Weiß jemand wieso Nextcloud verschiedene Versionen 29, 30 und 31 mit jeweils eigenen Updates am leben hält? Gibt es irgendeinen vernünftigen Grund dafür?

The_Raven
Geschrieben von The_Raven am 19. März 2025 um 23:39

Keine Ahnung. 🤷 Ich weiss auch nicht warum ständig eine neue Version kommt und wieso 31.x.x auch als Hub10 gehandelt wird. 🤔 Alles recht kompliziert wie ich finde. Auch für die App-Entwickler die ständig ihre Apps anpassen müssen.

neffets
Geschrieben von neffets am 17. März 2025 um 16:33

Nehmt Docker. :)

Seit dem viel weniger Probleme beim Updaten von solchen LAMP-Kolossen wie Nextcloud.

MonieurHulot
Geschrieben von MonieurHulot am 17. März 2025 um 17:09

Ich bin ein Boomer. Ich nutze noch immer USB-Festplatten und USB-Sticks.

Esteban
Geschrieben von Esteban am 17. März 2025 um 17:52

Ich nutze schon seit mehreren Jahren Nextcloud über Docker und war bisher immer zufrieden. Einmal hat es mir die Datenbank verhauen, aber das war wohl meine Schuld und lief sonst aber ohne Probleme. Und für mich war immer wichtig: aktuelle Version (30) [testing], vorherige Version (29) [stable] und mit Nextcloud 29 fahre ich aktuell auch echt gut.

Jean
Geschrieben von Jean am 18. März 2025 um 17:41

Nextcloud ... eigentlich eine gute Idee, Cloud unter der eigenen Regie zu haben. Aber: mit 'nem "normalen" Hosting-Paket kann ich alle handvoll updates den ganzen Kram löschen und neu aufsetzen, weil in der Anleitung immer von "Kommandozeile" die Rede ist, um die ständigen Quirks zu beheben. Also: um mal ein paar große Dateien auszutauschen: ok. Aber als dauerhaften Speicher mit vielen Nutzern (Familie, Bekanntenkreis) ... lieber nicht. Oder aber viel mehr Geld in die Hand nehmen für'n großes Paket beim Hoster und viel mehr Zeit, um in den Eingeweiden rumzudoktorn ...

Tom Mayer
Geschrieben von Tom Mayer am 19. März 2025 um 09:15

In diesem Fall waren wohl „nur“ die Download-Server gnadenlos überlastet. Selbst der manuelle Download zum Erscheinungstermin war eine Geduldsprobe.

Unabhängig davon kann ich es nur wiederholen: das Tempo, in dem Nextcloud neue Hauptversionen raushaut, ohne zunächst mal die unendlichen Fehler in der aktuellen Version zu beheben, ist einfach ungesund. Beispiel: mit dem Update 30.0.6 zerlegte man erfolgreich den Login für die iOS-App. Nebenbei war auch die App „Passwords“ betroffen, die nun ebenfalls komplett die Dienst versagte. Auf eine Korrektur diese Fehlers mit der 30.0.7RC1 musste man mehrere Wochen warten, auf die finale 30.0.7 noch länger. Das kann nicht akzeptabel sein, wenn man bei jedem Update Gefahr läuft, dass grundlegende Dinge hinterher kaputt sind.

The_Raven
Geschrieben von The_Raven am 21. März 2025 um 12:51

Und wieder ein Update (30.0.7 - > 30.0.8) und wieder hat es nicht geklappt. Diesmal wegen dem Download-Problem bez. weil die Server wohl überlastet sind. Habe nun die ".step" Datei gelöscht und versuche nochmal. So viele Updates in so kurzer Zeit. Da hat man schon fast etwas "Beta-Feeling". 🤪

´Simwa
Geschrieben von ´Simwa am 21. März 2025 um 15:36

Super Zusammenfassung, die ich ohne Weiteres nachvollziehen konnte. Vielen Dank dafür!

Andy
Geschrieben von Andy am 23. März 2025 um 19:14

Danke, hat mir sehr geholfen!