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?
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.
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'.
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.
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.
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.
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.