Upgrade fehlgeschlagen – bitte um Hilfe zur Fehlerbehebung über 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 „Gefällt mir“

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

1 „Gefällt mir“

Hallo!
Ich habe ein Upgrade durchgeführt, aber die Seite hat mir einen 504 Gateway Time-out-Fehler angezeigt.
Ich habe Folgendes getan, aber es funktioniert immer noch nicht.

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

Hast du eine Idee, warum es immer noch nicht funktioniert?

Nein. Es gibt nicht viel Hoffnung, eine Idee zu haben. Meine beste Vermutung ist, dass du nicht darauf gewartet hast, bis der Server vollständig neu gestartet wurde, aber es könnte auch etwas anderes sein. Wurde der Neuaufbau ohne Fehler abgeschlossen? Ist der Speicherplatz erschöpft? Zeigt docker ps, dass der Container läuft?

Docker ps zeigt mir Folgendes:
Captura de pantalla 2020-11-04 a las 16.52.52

Wenn ich ./launcher enter app eingebe, meldet er mir, dass der Container nicht läuft. Wie kann ich ihn zum Laufen bringen?

In der Protokolldatei sehe ich Folgendes:
Could not find rake-13.0.1 in any of the sources
Run bundle install to install missing gems.
Ist das von Bedeutung?
Vielen Dank

Dieser Containername bedeutet, dass der Neuaufbau noch läuft und erst seit 4 Minuten.

Du kannst die Logs mit

docker logs -tf sweet_chatelet

in Echtzeit verfolgen.

Bewegen sich die Logs?

1 „Gefällt mir“

Der Neuaufbau wurde abgeschlossen, und es wird nur Folgendes ausgegeben:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

Und bei ./launcher enter app erhalte ich folgende Meldung:
Fehlerantwort vom Daemon: Container … läuft nicht

1 „Gefällt mir“

Der Neuaufbau schlägt also in einem bestimmten Schritt fehl.

Versuche einen neuen Neuaufbau nur mit ./launcher rebuild app und beobachte die Protokolle. Wenn er mit einem weiteren Fehler stoppt, scrolle nach oben und suche nach Fehlermeldungen. Diese zeigen, was das Problem ist. Kopiere sie hierher, damit wir helfen können.

1 „Gefällt mir“

@Falco Wenn ich ./launcher logs app eingebe, erhalte ich Folgendes:
Konnte rake-13.0.1 in keiner der Quellen finden
Führen Sie bundle install aus, um fehlende Gems zu installieren.

Sind das die gesamten Logs? Könntest du einen größeren Ausschnitt der Logs teilen?

Steht dieser Server hinter einer seltsamen Firewall oder in einer Unternehmensumgebung? Oder handelt es sich um einen einfachen VPS im Internet?

Nach dem Abschluss des ./launcher rebuild app-Befehls wird Folgendes angezeigt: ** BOOTSTRAP FEHLGESCHLAGEN ** Bitte scrollen Sie nach oben und suchen Sie nach früheren Fehlermeldungen; es kann mehr als eine geben. ./discourse-doctor kann bei der Diagnose des Problems helfen.

Aber ./discourse-doctor löst nichts.

Können Sie nach oben scrollen und nach früheren Fehlermeldungen suchen?

Ich weiß nicht, ob dir das hilft, zu sehen, was passiert!

Die ersten 3 Screenshots stammen von ./launcher logs app und sind nutzlos.

Der letzte stammt von ./launcher rebuild app und enthält die Antworten! Bitte prüfe ihn auf Fehler und füge, falls möglich, die gesamte Ausgabe als Text hier ein.

Danke dafür!

/pups/lib/pups/config.rb:106:in `block (2 levels) in run_commands': Ungültiger Befehl 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
** BOOTSTRAP FEHLGESCHLAGEN ** Bitte scrollen Sie nach oben und suchen Sie nach früheren Fehlermeldungen; es kann mehr als eine geben.
./discourse-doctor kann bei der Diagnose des Problems helfen.

Anscheinend enthält Ihre app.yml einige ungültige Befehle.

Vielleicht haben Sie versucht, ein Plugin hinzuzufügen und dabei einige ungültige Zeichen verwendet?

Können Sie sie hier einfügen, nachdem Sie alle Passwörter entfernt haben?

Klar, hier ist es:
app.txt|Anhang (3,4 KB)

Oh, sieht so aus, als hättest du versucht, Unterordner-Unterstützung mit Docker zu aktivieren, aber die Einrückung des ersten Blocks ist durcheinandergeraten.

Alles, was du tun musst, ist, am Anfang der Zeilen 82, 83, 84 und 85 zwei zusätzliche Leerzeichen hinzuzufügen.

Danach speichere die Datei und starte den Build neu.

3 „Gefällt mir“