É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.

2 « J'aime »

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

1 « J'aime »

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 ?

1 « J'aime »

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

1 « J'aime »

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.

1 « J'aime »

@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.

3 « J'aime »