Ich erhalte einen Fehler, wenn ich meine Instanz mit ./launcher rebuild app unter Ubuntu 22.04 aktualisiere. Soweit ich das beurteilen kann, beginnen die Probleme hier:
Es gibt ein paar " _ has unmet peer dependency"-Warnungen darüber, aber dies ist der erste Fehler (abgesehen von “_ already exists”, wenn die Datenbank eingerichtet wird, aber ich verstehe, dass dies erwartetes Verhalten ist).
Leider war das Upgrade, bei dem dies zum ersten Mal auftrat, am Tag bevor ich auf einen Familienausflug ging, daher war ich etwas überstürzt und hatte keine Zeit, mich in dem Moment darum zu kümmern. Aber ich bekomme das konsistent. Der Host ist vollständig aktualisiert und ich erinnere mich nicht, etwas besonders Einzigartiges mit dem Setup gemacht zu haben. Ich habe /var/discourse vor etwa 3 Monaten auf ein separates Digital Ocean-Volume gelegt (was ich weiß, dass es aus Leistungsgründen nicht empfohlen wird™), aber es funktionierte danach, soweit ich das beurteilen kann, einwandfrei.
Um das zu tun, muss ich in den Container wechseln. Das habe ich getan, und wenn ich den Container danach starte, zeigt die Weboberfläche Folgendes an:
Ups
Die Software, die dieses Diskussionsforum antreibt, ist auf ein unerwartetes Problem gestoßen. Wir entschuldigen uns für die Unannehmlichkeiten.
Detaillierte Informationen über den Fehler wurden protokolliert und eine automatische Benachrichtigung generiert. Wir werden uns darum kümmern.
Es sind keine weiteren Maßnahmen erforderlich. Wenn das Fehlerproblem jedoch weiterhin besteht, können Sie zusätzliche Details, einschließlich der Schritte zur Reproduktion des Fehlers, bereitstellen, indem Sie ein Diskussionsthema in der Feedback-Kategorie der Website veröffentlichen.
./launcher logs app gibt Folgendes aus:
[Mi 19 Jul 2023 23:52:05 UTC] Domains not changed.
[Mi 19 Jul 2023 23:52:05 UTC] Skip, Next renewal time is: 2023-08-21T00:34:21Z
[Mi 19 Jul 2023 23:52:05 UTC] Add '--force' to force to renew.
[Mi 19 Jul 2023 23:52:05 UTC] Installing key to: /shared/ssl/distroleaders.club_ecc.key
[Mi 19 Jul 2023 23:52:05 UTC] Installing full chain to: /shared/ssl/distroleaders.club_ecc.cer
[Mi 19 Jul 2023 23:52:05 UTC] Run reload cmd: sv reload nginx
fail: nginx: runsv not running
[Mi 19 Jul 2023 23:52:05 UTC] Reload error for :
Started runsvdir, PID is 530
ok: run: redis: (pid 544) 0s
ok: run: postgres: (pid 543) 0s
supervisor pid: 538 unicorn pid: 575
Wenn ich erneut in den Container wechsle, kann ich sv reload nginx erfolgreich ausführen, aber das ändert das Verhalten nicht.
Wenn ich ./launcher rebuild app erneut ausführe, muss ich auch wieder in den Container wechseln, um bundle install erneut auszuführen.
Nicht, dass ich mich erinnere (es sei denn, @mattdm hat heimlich welche eingebaut, als ich nicht hingesehen habe ). discourse-doctor sagt auch “Keine inoffiziellen Plugins erkannt”.
fatal: not a git repository (or any parent up to mount point /var)
Ihr /var/discourse-Verzeichnis ist kein Git-Repository, was unser automatisches Update des Launchers und die Tools, die wir zum Bootstrapping von Discourse verwenden, unterbricht, was wiederum bedeutet, dass Sie in einem alten Docker-Image feststecken.
Sie müssen die Änderungen rückgängig machen, die Sie vorgenommen haben, um dies zu unterbinden.
Als Sie die Dateien in Ihr Volume kopiert haben, haben Sie .git nicht kopiert. Sie müssen es also klonen und die anderen Dinge hineinkopieren.
Sie sollten wahrscheinlich Ihr Volume nur mit den Uploads versehen lassen, was vermutlich den Großteil des Speicherplatzes beansprucht, und dann nur die Uploads und Backups auf dem Volume haben.
Oh mein Gott. Ich wette, ich kann genau erraten, was ich getan habe, und es hat damit zu tun, dass * in einem rsync-Befehl nicht mit .git übereinstimmt. Es wäre nicht das erste Mal, dass ich rsync benutzt habe, um mir das Leben schwer zu machen. Danke, dass Sie das bemerkt haben!
Gibt es einen technischen Grund, warum der Rebuild an dieser Stelle nicht beendet werden kann? Das hätte die Fehlersuche erleichtert (obwohl es das auch hätte, wenn man oben statt unten anfängt).
Glücklicherweise habe ich noch das Tarball vor der Migration, da ich im Laufe der Jahre nicht alle meine Sysadmin-Fähigkeiten verloren habe.
Dies ist auf dem kleinsten Digital Ocean Droplet, daher nimmt hauptsächlich das System Platz ein. Uploads und Backups zusammen sind ~100MB. Ich denke, was ich wahrscheinlich tun werde, wenn ich etwas ändere, ist, zu einem größeren Droplet mit mehr Speicherplatz zu wechseln.
Vielen Dank für die Hilfe, ich weiß sie wirklich zu schätzen!