Échec de la mise à niveau - besoin d'aide pour tenter de résoudre le problème via SSH

Yesterday I had an admin message about upgrades. From the web UI, I did the Docker upgrade first and this seemed to go well. After it finished, the upgrade button for Discourse was enabled and I initiated that. At some point something broke and now our site is down. I was on my phone at the time and I didn’t manage to look at the log carefully to see where exactly things broke, before

I’m currently pocking around over SSH and about to try ./launcher rebuild app to hopefully get a better idea about what exactly is the problem in the upgrade. I’ve never done Discourse command-line repair and I want to make sure that I don’t blow away our data. Looking over app.yml, I see that the container is stateless - great - and that all the data is on the host, accessed as a shared volume.

I ran discourse-doctor and it looks like disk space is not the issue. Will the rebuild app command touch the local data store?

Yes, do the ./launcher rebuild app that should do it. It will not blow away your data.

If you’d rather not to it yourself, please see Automatic Rebuilds When You Need Them.

Thanks, the rebuild seems to have worked - the GitHub avatars and favicon don’t show for some reason, though.

Bonjour !
J’ai effectué une mise à niveau et la page m’a renvoyé une erreur 504 Gateway Time-out.
J’ai fait cela, mais cela ne fonctionne toujours pas.

cd /var/discourse
git pull; ./launcher rebuild app

Avez-vous une idée de pourquoi cela ne fonctionne toujours pas ?

Non. Il n’y a pas beaucoup de chances d’avoir une idée. Ma meilleure hypothèse est que vous n’avez pas attendu que le serveur redémarre complètement, mais cela pourrait concerner n’importe quoi. La reconstruction s’est-elle terminée sans erreur ? Manquez-vous d’espace disque ? La commande docker ps indique-t-elle que le conteneur est en cours d’exécution ?

Docker ps m’affiche ceci :
Captura de pantalla 2020-11-04 a las 16.52.52

Si je tape ./launcher enter app, il m’indique que le conteneur n’est pas en cours d’exécution. Comment puis-je le lancer ?

Dans le fichier de journal, je vois ceci :
Impossible de trouver rake-13.0.1 dans l’une des sources
Exécutez bundle install pour installer les gems manquantes.
Cela a-t-il de l’importance ?
Merci

Ce nom de conteneur indique que la reconstruction est toujours en cours et cela ne dure que depuis 4 minutes.

Vous pouvez suivre les journaux avec

docker logs -tf sweet_chatelet

Les journaux défilent-ils ?

La reconstruction est terminée et voici ce qui s’affiche :
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

Et lorsque j’exécute ./launcher enter app, je reçois ce message :
Erreur de réponse du démon : Le conteneur … n’est pas en cours d’exécution

Donc, la reconstruction échoue à une certaine étape.

Essayez une nouvelle reconstruction avec simplement ./launcher rebuild app et surveillez les journaux. Lorsqu’elle s’arrête avec une autre erreur, faites défiler vers le haut et recherchez les messages d’erreur ; ils vous indiqueront quel est le problème. Copiez-les ici et nous pourrons vous aider.

@Falco si je lance ./launcher logs app, j’obtiens ceci :
Impossible de trouver rake-13.0.1 dans aucune des sources
Exécutez bundle install pour installer les gems manquantes.

Est-ce l’intégralité des journaux ? Pouvez-vous partager une plus grande partie des journaux ?

Ce serveur est-il derrière un pare-feu étrange ou un environnement d’entreprise ? Ou s’agit-il d’un simple VPS sur Internet ?

Après avoir terminé la reconstruction de l’application ./launcher, cela m’affiche ceci : ** ÉCHEC DU BOOTSTRAP ** veuillez faire défiler vers le haut et rechercher les messages d’erreur précédents, il peut y en avoir plus d’un.
./discourse-doctor peut aider à diagnostiquer le problème.

mais ./discourse-doctor ne résout rien.

Pouvez-vous remonter et chercher les messages d’erreur précédents ?

Je ne sais pas si cela vous aidera à voir ce qui se passe !

Les trois premières captures d’écran proviennent de ./launcher logs app et ne sont pas utiles.

La dernière provient de ./launcher rebuild app et contient les réponses ! Veuillez vérifier les erreurs et, si possible, coller l’intégralité de la sortie en tant que texte ici.

Merci pour cela !

/pups/lib/pups/config.rb:106:in `block (2 levels) in run_commands': Invalid run command cd (SyntaxError)
	from /pups/lib/pups/config.rb:100:in `each'
	from /pups/lib/pups/config.rb:100:in `block in run_commands'
	from /pups/lib/pups/config.rb:99:in `each'
	from /pups/lib/pups/config.rb:99:in `run_commands'
	from /pups/lib/pups/config.rb:78:in `run'
	from /pups/lib/pups/cli.rb:31:in `run'
	from /pups/bin/pups:8:in `<main>'
44bf915bdff740d4441ad5239f79d5b14a6ed375300c52b85c10eefb7af677a2
** ÉCHEC DU BOOTSTRAP ** veuillez faire défiler vers le haut et rechercher les messages d'erreur précédents, il peut y en avoir plus d'un.
./discourse-doctor peut aider à diagnostiquer le problème.

Il semble que votre app.yml contienne des commandes invalides.

Peut-être avez-vous essayé d’ajouter un plugin et inclus certains caractères invalides ?

Pouvez-vous le coller ici, après avoir supprimé tous les mots de passe ?

Bien sûr, le voici :
app.txt|pièce jointe (3,4 Ko)

Oh, il semble que vous ayez essayé d’activer le support des sous-dossiers avec Docker, mais la première indentation du bloc a été perturbée.

Il vous suffit d’ajouter deux espaces supplémentaires au début des lignes 82, 83, 84 et 85.

Ensuite, enregistrez le fichier et reconstruisez-le.