Fehlgeschlagenes Update

root@www:/var/discourse# ./launcher start data
x86_64 arch detected.

+ /usr/bin/docker run --shm-size=512m -d --restart=always -e LANG=en_US.UTF-8 -e LC_ALL=en_US.UTF-8 -e LANGUAGE=en_US.UTF-8 -h www-data -e DOCKER_HOST_IP=172.17.0.1 --name data -t -v /var/discourse/shared/data:/shared -v /var/discourse/shared/data/log/var-log:/var/log --mac-address 02:e6:17:cc:a2:dc local_discourse/data /sbin/boot
Unable to find image 'local_discourse/data:latest' locally
docker: Error response from daemon: pull access denied for local_discourse/data, repository does not exist or may require 'docker login': denied: requested access to the resource is denied

Run 'docker run --help' for more information
root@www:/var/discourse# 

Irgendwelche Vorschläge? Die Suche nach dieser Fehlermeldung liefert nur diesen Thread.

Das deutet darauf hin, dass Sie vielleicht einen ./launcher cleanup ausgeführt und den Datencontainer gelöscht haben (ich sehe keinen anderen Weg, wie der Container fehlen könnte, aber ich könnte mich irren). Wenn das der Fall ist, und wirklich in jedem Fall, würde ich einen neuen Droplet hochfahren, Ihre yml-Dateien kopieren und Ihr letztes Backup wiederherstellen.

Wenn Sie lieber einen Fisch möchten, anstatt zu lernen, wie man fischt, können Sie mich kontaktieren oder im Marketplace fragen.

1 „Gefällt mir“

Das, was die Website wieder zum Laufen brachte, nachdem der Datencontainer weg war, war die Bearbeitung von data.yml, die Vorlage auf die postgres13-Vorlage zu ändern und dann den Datencontainer neu zu erstellen. Danach war es möglich, den Datencontainer zu starten, den web_only-Container zu zerstören und zu starten (er wird keine Verbindung zu einem anderen Datencontainer als dem herstellen, den er bei seiner Erstellung gefunden hat). Dann war die Website wieder in Betrieb.

Ich bin ziemlich sicher, dass der Datenbank-Upgrade-Versuch funktioniert hätte, aber um sicherzugehen, habe ich ein frisches Datenbank-Backup erstellt, ihn auf ein neues Droplet verschoben, die Datenbank wiederhergestellt und er läuft wieder.

1 „Gefällt mir“

Könnten Sie vielleicht ein paar Worte dazu sagen, wie das Problem entstanden ist, um andere zu beruhigen, dass es sie wahrscheinlich nicht betreffen wird?

1 „Gefällt mir“

Tk;dr: nein.

Ich kann nicht sagen, was das ursprüngliche Problem war. Zu wissen, dass man zur pg13-Vorlage wechseln muss, war die Lösung für das Problem, sobald der Container gelöscht war. Das ist Teil dessen, was im pg15-Thema gesagt wird. Vielleicht gab es irgendwann ein Problem mit dem Speicherplatz?

ah, ich glaube, ich verstehe jetzt… es war ein Upgrade eines ziemlich alten Systems mit pg13? Also eine ziemlich seltene Situation.

Das Upgrade schlug fehl, da das PostgreSQL-Upgrade 14 GB freien Festplattenspeicher benötigte und das Droplet nicht ganz so viel hatte.

Warum es nicht funktionierte, nachdem ich den Speicherplatz erweitert hatte, könnte daran liegen, dass ich, wie von @Jagster oben vorgeschlagen, einen ./launcher cleanup durchgeführt habe, der für eine Zwei-Container-Installation ungeeignet war.

Irgendwann möchte ich zu einer Ein-Container-Installation wechseln, da dies für jemanden, der die Discourse-Architektur nicht wirklich kennt, weniger problematisch zu sein scheint. Ich würde auch lieber nicht selbst hosten, aber die Website hat viele Fotos und das Discourse-Hosting sprang von 100 auf 200 pro Monat, als uns der Speicherplatz ausging. Die Website bringt nur etwa 30-40 $ pro Monat durch Google Ads ein.

Ich bin erst vor zwei Jahren zu Digital Ocean migriert.

Und doch habe ich es vor einer Woche getan, als mir der Speicherplatz ausging.

@pfaffman schlug vor, dass dies das Problem gewesen sein könnte. Ich habe keine Ahnung.

Nein. Das hätte dasselbe Problem für die Single-Container-Installation verursacht.

Das Problem war, dass Sie beim Versuch, Speicherplatz zu gewinnen, Ihren gestoppten Datencontainer zerstört haben. Der entscheidende Fehler war meiner Meinung nach, die Bereinigung durchzuführen, während Ihre Daten- und Web-Container gestoppt waren.

Die Zwei-Container-Einrichtung hat Ihnen einige Schwierigkeiten erspart, da sie das Verschieben des PostgreSQL-Upgrades erleichtert hat. In diesem Fall sind Sie jedoch stecken geblieben, da das Upgrade das KI-Plugin hinzugefügt hat und Sie dadurch das PostgreSQL-Upgrade auf dem Datencontainer durchführen mussten.

Vielleicht, wenn vor dem Upgrade ein Launcher-Cleanup ausgeführt worden wäre oder wenn Sie es gar nicht ausgeführt und die Größe geändert hätten.

Es gab also eine Reihe von Problemen

  • Möglicherweise zu viele Docker-Images, die den Speicherplatz füllen (vielleicht zu wenig Speicherplatz)
  • PostgreSQL-Update erforderlich
  • KI-Plugin zu Core hinzugefügt, was ein Datenbank-Upgrade erzwingt
  • PostgreSQL-Upgrade schlägt aus irgendeinem Grund fehl und Sie wissen nicht, wie Sie den Datencontainer starten sollen (ich glaube, die Nachricht besagt, dass Sie es tun sollen)
  • Ausführen von Launcher-Cleanup mit heruntergefahrenem Datencontainer, wodurch der Container gelöscht wurde, der zum sauberen Herunterfahren gestartet werden musste
1 „Gefällt mir“

Das Einzige, was ich getan habe, um Speicherplatz zu gewinnen, war, das Droplet zu vergrößern.

Alles andere, was ich getan habe, war, zu versuchen, das fehlgeschlagene Upgrade abzuschließen, basierend auf Vorschlägen in der Befehlsausgabe, Beiträgen hier oder in verlinkten Themen.

1 „Gefällt mir“

@pfaffman Meine Website wird mit offensichtlichem Spam überflutet. Ist es möglich, dass ein Anti-Spam-Tool beim Upgrade verloren gegangen ist?

Das ist unwahrscheinlich. Ich weiß nicht, ob Akismet jemals konfiguriert wurde, aber es ist nicht mehr sehr effektiv. Was jetzt empfohlen wird, ist dies: Discourse AI - Spam detection Das KI-Plugin ist jetzt Teil des Kerns und installiert.

Wenn Sie Hilfe wünschen, können Sie mir eine E-Mail senden.

EDIT: Es ist möglich, aber unwahrscheinlich, dass die hier beschriebene Änderung hier Ihren Spam-Anstieg erklären könnte.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.