Kann die veraltete Theme-Komponente nicht über die CLI löschen – Bootstrapping fehlgeschlagen

Ich weiß, dass es an den Alternative Logos liegt:

I, [2021-06-25T11:00:32.360020 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake themes:update assets:precompile'
Failed to update Alternative Logos
about.json contains invalid values: Maximum discourse version is invalid
/var/www/discourse/app/models/remote_theme.rb:169:in `update_from_remote'
/var/www/discourse/lib/tasks/themes.rake:61:in `block (2 levels) in <main>'

Ich hatte diese Komponente, aber da Discourse nicht erreichbar ist, kann ich nicht auf das Admin-Panel zugreifen, um sie zu löschen. Wie kann ich diese Theme-Komponente über die Befehlszeile löschen?

Ich bin mir nicht sicher, was „cleanup

Genau.

Ich weiß, dass es an Alternative Logos liegt:

I, [2021-06-25T11:00:32.360020 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake themes:update assets:precompile'
Fehler beim Aktualisieren von Alternative Logos
about.json enthält ungültige Werte: Maximale Discourse-Version ist ungültig
/var/www/discourse/app/models/remote_theme.rb:169:in `update_from_remote'
/var/www/discourse/lib/tasks/themes.rake:61:in `block (2 levels) in <main>'

Ich hatte diese Komponente, aber da Discourse heruntergefahren ist, kann ich nicht auf das Admin-Panel zugreifen, um sie zu löschen. Wie kann ich diese Theme-Komponente über die Befehlszeile löschen? Ich kann die App nicht neu aufbauen oder starten, was sehr ärgerlich ist.

Also:

  • Ich kann nicht neu erstellen, da Alternative Logos eine about.json mit einer maximalen Version hat, die über meiner liegt.
  • Ich kann die Alternative Logos-Komponente nicht löschen, ohne die App zu starten.
  • Ich kann die App nicht starten, weil ich sie nicht neu erstellen kann.

Gibt es hier eine Möglichkeit, etwas zu tun? Ich möchte die Alternative Logos-Komponente loswerden.

Kannst du die App nicht einfach starten, ohne sie neu zu erstellen?

./launcher start app

Das Bild 'local_discourse/app:latest' kann lokal nicht gefunden werden
docker: Fehlerantwort vom Daemon: Zugriff zum Herunterladen für local_discourse/app verweigert, das Repository existiert nicht oder es ist möglicherweise eine 'docker login' erforderlich: verweigert: angeforderter Zugriff auf die Ressource wurde verweigert.
Siehe 'docker run --help'.

Leider nicht wirklich

Dann vielleicht git pull, aber vielleicht wartest du lieber auf die Verstärkung :sweat_smile: (Ich sehe, Jay antwortet…)

Nein, git pull bewirkt nichts.

Haben Sie Folgendes versucht:

  ./launcher start app

Wenn Sie jedoch bereits ./launcher cleanup ausgeführt haben, während der alte Container heruntergefahren war, und keinen Container zum Starten haben, dann befinden Sie sich in einer ziemlichen Zwickmühle. Haben Sie das gemacht? Es sieht so aus, als hätten Sie das getan.

Ich denke, es ist ein Fehler, dass eine fehlerhafte Theme-Komponente ein Upgrade unmöglich macht, daher wird vielleicht bald eine Lösung angeboten.

Ich glaube, Sie könnten die Datenbank so ändern, dass die Theme-Komponente entfernt wird. Wenn jedoch kein Container läuft, über den Sie auf die Datenbank zugreifen können, bin ich mir nicht ganz sicher, wie Sie das bewerkstelligen sollen.

Meine einzige andere Notfall-Lösung wäre zu prüfen, ob Sie die vorhandene Datenbank auf einer sauberen Installation wiederherstellen können.

Vielleicht können Sie die Datenbank auf einer sauberen Installation wiederherstellen (vielleicht ignoriert sie das defekte Theme?), dann Ihre Datenbank löschen und mit einer aktualisierten Discourse-Installation eine neue leere Datenbank erstellen, bevor Sie die Datenbank von der sauberen Remote-Installation wiederherstellen.

Eine weitere Lösung wäre, ein reines Datenbank-Image zu erstellen und mit SQL die fehlerhafte Theme-Komponente zu entfernen.

2 „Gefällt mir“

Ich glaube, ich werde eine Neuinstallation durchführen und aus einem Backup wiederherstellen (und in dieser .sql-Backup-Datei werde ich Änderungen an den alternativen Logos vornehmen.

Es ist jedoch eine wirklich schlechte Situation, dass, wenn eine Komponente Discourse beschädigt, Sie keine andere Option als eine Neuinstallation haben.

2 „Gefällt mir“

Okay, die Lösung bestand darin, eine frische Discourse-Installation einzurichten, aus einem Backup wiederherzustellen und dann die Komponente zu löschen, die das Problem verursachte.

3 „Gefällt mir“

Mir ist heute Morgen eine ähnliche Situation passiert, aber ich konnte die App einfach neu starten.

Meine Website verfügt über etwa 10 Themes, die alle seit jeher die Alternative Logos-Komponente verwenden, da jedes Theme farblich abgestimmte Logos benötigt. Ich sehe nun, dass ich die Logos für das Dark Theme in den Website-Einstellungen eingeben kann. Wenn ich diese veraltete Komponente jedoch entferne, wo füge ich dann alle anderen benutzerdefinierten Logos für die übrigen Themes hinzu?

Ich denke, das Problem liegt nur in der Datei about.json, und du kannst die Theme-Komponente forken, um deine eigene Version zu erstellen. Ich habe es jedoch nicht genauer untersucht oder selbst ausprobiert.

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