Probleme MAJ Nextcloud

exemple54

Apprenti
18 Septembre 2022
57
10
8
Bonjour à tous,

J'ai encore un petit souci, cette fois avec la mise à jour de Nextcloud. J'étais un peu (beaucoup) en retard sur les mises à jour (je devais faire la 25.0.13), et j'ai eu un problème pendant la mise à jour à l'étape 9 : "delete old files"

A noter que j'ai effectué la mise à jour depuis l'interface de Nextcloud.

Au moment de cette étape, il y a un "failed". J'ai essayé de faire "retry" pour relancer la maj, mais ça n'a pas fonctionné.
Résultat des courses, je suis bloqué avec l'interface qui marque "update in process"

Et la je ne sais pas vraiment quoi faire.
J'ai essayé de faire la mise à jour manuelle, en suivant les indications de la doc nextcloud (https://docs.nextcloud.com/server/latest/admin_manual/maintenance/manual_upgrade.html) mais le souci c'est qu'arrivé au lancement de la maj sudo -u www-data php occ upgrade je suis bloqué.

Je communique avec le nas en ssh avec VScode, et l'utilisateur root et j'ai donc executé php occ upgrade et j'obtiens l'erreur suivante :

Doctrine\DBAL\Exception: Failed to connect to the database: An exception occurred in the driver: could not find driver in /srv/dev-disk-by-uuid-81ea0641-4bfb-4cdc-9a47-d22fd7e104fd/appdata/nextcloud/config/www/nextcloud/lib/private/DB/Connection.php:139

A savoir que j'ai mis le nouvelle version à installé dans "nextcloud/config/www" et que j'ai renommé l'ancienne "nextcloud-old" comme indiqué dans le documents

De plus, j'ai uniquement fais une sauvegarde du repertoire "data" mais pas du reste ... j'aurai peut être du faire tout d'un coup

Enfin, j'avais les deux fichiers suivants : .step et .step-previous-update

dans le repertoire : appdata/nextcloud/data/updater-oc5zikywiimo/

Ils indiquaient respectivement :
{"state":"end","step":9} et {"state":"end","step":12}

et les log de la mise à jour 'updater.log' sur les dernières lignes indiquent :

2024-08-27T11:18:33+0200 Pu9Muggjij [info] POST request for step "8"
2024-08-27T11:18:33+0200 Pu9Muggjij [info] startStep("8")
2024-08-27T11:18:33+0200 Pu9Muggjij [info] replaceEntryPoints()
2024-08-27T11:18:33+0200 Pu9Muggjij [info] replace index.php
2024-08-27T11:18:33+0200 Pu9Muggjij [info] replace status.php
2024-08-27T11:18:33+0200 Pu9Muggjij [info] replace remote.php
2024-08-27T11:18:33+0200 Pu9Muggjij [info] replace public.php
2024-08-27T11:18:33+0200 Pu9Muggjij [info] replace ocs/v1.php
2024-08-27T11:18:33+0200 Pu9Muggjij [info] replace ocs/v2.php
2024-08-27T11:18:33+0200 Pu9Muggjij [info] end of replaceEntryPoints()
2024-08-27T11:18:33+0200 Pu9Muggjij [info] endStep("8")
2024-08-27T11:18:33+0200 cailCa0mkE [info] request to updater
2024-08-27T11:18:33+0200 cailCa0mkE [info] currentStep()
2024-08-27T11:18:33+0200 cailCa0mkE [info] Step 8 is in state "end".
2024-08-27T11:18:33+0200 cailCa0mkE [info] POST request for step "9"
2024-08-27T11:18:33+0200 cailCa0mkE [info] startStep("9")
2024-08-27T11:18:33+0200 cailCa0mkE [info] deleteOldFiles()
2024-08-27T11:18:52+0200 cailCa0mkE [info] config sample exists
2024-08-27T11:18:52+0200 cailCa0mkE [info] themes README exists
2024-08-27T11:19:54+0200 HOEtZ64q9c [info] request to updater
2024-08-27T11:19:54+0200 HOEtZ64q9c [info] currentStep()
2024-08-27T11:19:54+0200 HOEtZ64q9c [info] Step 9 is in state "start".
2024-08-27T11:19:57+0200 AQYsHztKvI [info] request to updater
2024-08-27T11:19:57+0200 AQYsHztKvI [info] currentStep()
2024-08-27T11:19:57+0200 AQYsHztKvI [info] Step 9 is in state "start".
2024-08-27T11:19:57+0200 V6O95inteu [info] request to updater
2024-08-27T11:19:57+0200 V6O95inteu [info] currentStep()
2024-08-27T11:19:57+0200 V6O95inteu [info] Step 9 is in state "start".
2024-08-27T11:20:11+0200 cailCa0mkE [info] end of deleteOldFiles()
2024-08-27T11:20:11+0200 cailCa0mkE [info] endStep("9")


Merci à ceux qui aurait des idées pour m'aider
J'espère surtout que je ne vais pas devoir tout réinstaller ...


EDIT : maintenant, nextcloud est passé en "mode maintenance"
 
Dernière édition:
Bonjour,
Tu es sous quel OS ?
Nextcloud est installé sur un serveur web ou en Docker ?
 
Ah oui pardon j'ai oublié de préciser la base, désolé

OS : OMV 6
Nextcloud est installé en docker (avec portainer) et j'utilise mariadb pour la base de données
Quelle image de nextcloud ?
Attention il y a eu du break change avec les images linuxserver. Bien suivre les versions
 
Dans ce cas tu vas dans Portainer, et tu redéploies ton script ("en repoussant l'image"). Et regarde si tout est OK.
Message automatiquement fusionné :

et j'utilise mariadb pour la base de données
incluse dans ton script, je suppose (ou séparée) ?
 
  • J'aime
Réactions: exemple54
Quelle image de nextcloud ?
c'est lscr.io/linuxserver/nextcloud
Attention il y a eu du break change avec les images linuxserver. Bien suivre les versions
Alors je l'ai déployé le 26 fev 2023 (je pensais que je l'avais remise à jour mais la preuve que non) donc ça doit etre celle qui date du 20.01.23

Et justement je repoussais à faire les mises à jour pour voir comment il fallait faire et je pensais faire tout ça aujourd'hui mais du coup ça va être compliqué ^^

Dans ce cas tu vas dans Portainer, et tu redéploies ton script ("en repoussant l'image"). Et regarde si tout est OK.
C'est ça dire "en repoussant l'image" ? Je vais dans la stack, j'enleve le :latest pour éviter le déploiement de la dernière, et en faisant l'update je mets "Re-pull image and redeploy" c'est ça ? (C'est vraiment pour être sur car ça serait pas ma première bétise de la journée ^^

incluse dans ton script, je suppose (ou séparée) ?
Oui c'est dans le meme script

version: "2"
services:
nextcloud:
image: lscr.io/linuxserver/nextcloud:latest
container_name: nextcloud
networks:
- nextcloud-network
environment:
- PUID=*******
- PGID=*******
- TZ=Europe/Paris
volumes:
- /srv/*******/appdata/nextcloud/config:/config
- /srv/*******/appdata/nextcloud/data:/data
ports:
- 450:443
depends_on:
- mariadb
restart: unless-stopped


mariadb:
image: linuxserver/mariadb
container_name: nextclouddb
networks:
- nextcloud-network
environment:
- PUID=*******
- PGID=*******
- MYSQL_ROOT_PASSWORD=*******
- TZ=Europe/Paris
- MYSQL_DATABASE=*******
- MYSQL_USER=*******
- MYSQL_PASSWORD=*******
volumes:
- /srv/*******/appdata/nextcloud/mariadb:/config
restart: unless-stopped


av:
image: mkodockx/docker-clamav:alpine
container_name: nextav
networks:
- nextcloud-network
restart: unless-stopped


networks:
nextcloud-network:
external:
name: nextcloud-network
 
je mets "Re-pull image and redeploy" c'est ça ?
Oui, c'est comme cela que je relance mes "docker" quand ça "bloque" et cela marche (jusu'à maintenant) à chaque fois - C'est ce que je fais pour mes WP à chaque nouvelle version de la DB ou de WP (1 x tous les 3 mois).
Aussi, comme l'indique @EVO - il faut rester dans la même "série" c-à-d si tu utilisais "linuxserver" il faut continuer avec (ne pas changer).
 
  • J'aime
Réactions: exemple54
Merci pour l'idée, cependant ça n'a rien changé j'ai toujours le message "Update in process."
En redeployant l'image docker ça n'a pas changer en soit l'état de la config qui en soit n'a pas fini la mise à jour de Nextcloud
 
Il me semble qu'il y a un fichier temporaire dans le répertoire config ou le répertoire data qui indique une mise à jour en cours. Lors d'un plantage pendant une mise à jour, il peut ne pas être supprimé et bloquer Nextcloud sur l'écran de maj...
Je fais une recherche et j'éditerai le post.
Édit: il semblerait qu'il faille chercher un fichier "update-XXX" (le XXX sera une suite de chiffres et/ou lettres), en faire un backup au cas où, le supprimer et redémarrer.
 
Dernière édition:
  • J'aime
Réactions: EVO
Merci pour ton aide
Il me semble qu'il y a un fichier temporaire dans le répertoire config ou le répertoire data qui indique une mise à jour en cours. Lors d'un plantage pendant une mise à jour, il peut ne pas être supprimé et bloquer Nextcloud sur l'écran de maj...
Oui il y a 4 fichiers (index public remote et status.php) qui ont comme code :
PHP:
<?php
http_response_code(503);
die('Update in process.');


Édit: il semblerait qu'il faille chercher un fichier "update-XXX" (le XXX sera une suite de chiffres et/ou lettres), en faire un backup au cas où, le supprimer et redémarrer.
Oui j'ai un repertoire qui ressemble qui est dans "/data" et qui s'appelle "updater-oc5zikywiimo"

Je vais essayer de faire un backup de tout ça et essayer de tout virer pour voir
 
  • J'aime
Réactions: Nincha
Merci @morgyann , @Nincha et @EVO pour votre aide.
Le fichier config t'indique que tu es en quelle version ?
'version' => '25.0.3.2',

Édit: il semblerait qu'il faille chercher un fichier "update-XXX" (le XXX sera une suite de chiffres et/ou lettres), en faire un backup au cas où, le supprimer et redémarrer.
Alors dans l'ordre j'ai supprimé les 4 fichiers (index public remote et status.php) mais ça ne changeait rien. l'ecran n'étant plus "update in process" mais "Maintenance en cours"

Ensuite j'ai supprimé le dossier download dans /data/updater-oc5zikywiimo
ça n'a rien changé.

Finalement j'ai mis le dossier backup de config, présent dans /data/updater-oc5zikywiimo à la place de celui qui y était. La première fois ça n'avait pas fonctionné mais la cette fois ça refonctionne.

Donc j'imagine que parmi les dossiers ou fichiers que j'ai supprimé il y avait un élément bloquant, mais en tout cas j'ai pu redémarrer nextcloud.


Par contre @EVO concernant la mise à jour de l'image docker linuxserver, si j'ai bien compris c'est qu'à partir de la version 27 de nextcloud, toutes les mises à jour ne font qu'avec l'image et plus avec une double mise à jour web / image ?
Est ce que c'est bien ça, et y a t'il des précautions à prendre avant de les faire (hors backup), sachant que je ne suis qu'a la version 25 pour le moment ?
 
Il faut que tu monte de version nextcloud et conteneur au fur et a mesure.
A partir de la 27, tu montra uniquement les images conteneur pour maj .

Ne fait pas un saut de deux majeurs ou plus d'un coup. 25 vers 26, 26 vers 27, ...
 
Il faut que tu monte de version nextcloud et conteneur au fur et a mesure.
A partir de la 27, tu montra uniquement les images conteneur pour maj .

Ne fait pas un saut de deux majeurs ou plus d'un coup. 25 vers 26, 26 vers 27, ...
Ah d'accord pas trop dur
Merci beaucoup...


Bon avant d'arriver à la maj 27, il va falloir que j'arrive à faire la 25.0.13

Car j'ai toujours une erreur sur l'étape 3 maintenant "create backup", avec comme erreur :

Parsing response failed.

HTML:
<html>
<head><title>504 Gateway Time-out</title></head>
<body>
<center><h1>504 Gateway Time-out</h1></center>
<hr><center>nginx</center>
</body>
</html>
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->

Donc j'arrive à utiliser nextcloud mais pas à faire de maj
 
Normalement si tu reviens plus tard, il l'autorise a continuer, le backup ce fait en arrière plan, cela peut prendre 10/15min dépend de la taille de ta db
 
  • J'aime
Réactions: exemple54
J'ai oublié de conclure le sujet (la rentrée n'aidant pas), en disant que j'avais finalement réussi, avec un peu de patience et quelques autres bugs sur les maj suivantes
Il me reste plus que les erreurs que Nextcloud m'indique a résoudre
Merci a tous pour votre aide !
 
  • J'aime
Réactions: Nincha et EVO