Wiedereinrichtung von Discourse nach ungültiger GitHub-Repo-Hinzufügung

Ich habe ein Problem mit meiner Discourse-Site, nachdem ich versehentlich ein ungültiges GitHub-Repository zur app.yml-Datei hinzugefügt habe. Als ich ./launcher rebuild app ausführte, schlug der Prozess fehl, und jetzt lässt sich die Site nicht mehr neu erstellen. Leider habe ich Backups, aber diese schlagen während des Wiederherstellungsprozesses fehl. Nachfolgend finden Sie die Details des Problems, einschließlich des gesamten Fehlerprotokolls.

Ergriffene Schritte:

  1. Ich habe versucht, DeepSeek LLM zu meiner Discourse-Installation hinzuzufügen, indem ich der Anleitung aus diesem Beitrag gefolgt bin.
  2. Ich habe die Repository-URL https://github.com/deepseek-ai/DeepSeek-LLM zur app.yml-Datei hinzugefügt.
  3. Ich habe ./launcher rebuild app ausgeführt, was fehlschlug und dazu führte, dass die Site nicht mehr funktionierte.

Vollständiges Fehlerprotokoll:

plaintext

KopierenBearbeiten

(Vollständige Spur durch Ausführen der Aufgabe mit --trace anzeigen)
I, [2025-01-21T02:32:16.599723 #1]  INFO -- : gem install multipart-post -v 2.4.0 -i /var/www/discourse/plugins/discourse-ai-topic-summary/gems/3.3.6 --no-document --ignore-dependencies --no-user-install
Successfully installed multipart-post-2.4.0
1 gem installed
gem install faraday-multipart -v 1.0.4 -i /var/www/discourse/plugins/discourse-ai-topic-summary/gems/3.3.6 --no-document --ignore-dependencies --no-user-install
Successfully installed faraday-multipart-1.0.4
1 gem installed
gem install event_stream_parser -v 1.0.0 -i /var/www/discourse/plugins/discourse-ai-topic-summary/gems/3.3.6 --no-document --ignore-dependencies --no-user-install
Successfully installed event_stream_parser-1.0.0
1 gem installed
gem install ruby-openai -v 7.0.0 -i /var/www/discourse/plugins/discourse-ai-topic-summary/gems/3.3.6 --no-document --ignore-dependencies --no-user-install
Successfully installed ruby-openai-7.0.0
1 gem installed
gem install tokenizers -v 0.4.4 -i /var/www/discourse/plugins/discourse-ai/gems/3.3.6 --no-document --ignore-dependencies --no-user-install
Successfully installed tokenizers-0.4.4-x86_64-linux
1 gem installed
gem install tiktoken_ruby -v 0.0.9 -i /var/www/discourse/plugins/discourse-ai/gems/3.3.6 --no-document --ignore-dependencies --no-user-install
Successfully installed tiktoken_ruby-0.0.9-x86_64-linux
1 gem installed
gem install ed25519 -v 1.2.4 -i /var/www/discourse/plugins/discourse-ai/gems/3.3.6 --no-document --ignore-dependencies --no-user-install
Building native extensions. This could take a while...
Successfully installed ed25519-1.2.4
1 gem installed
... (weitere Gem-Installationsprotokolle) ...
I, [2025-01-21T02:32:16.600035 #1]  INFO -- : Terminating async processes
I, [2025-01-21T02:32:16.600051 #1]  INFO -- : Sending INT to HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/13/bin/postmaster -D /etc/postgresql/13/main pid: 39
I, [2025-01-21T02:32:16.600103 #1]  INFO -- : Sending TERM to exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 107
2025-01-21 02:32:16.600 UTC [39] LOG:  received fast shutdown request
107:signal-handler (1737426736) Received SIGTERM scheduling shutdown...
2025-01-21 02:32:16.602 UTC [39] LOG:  aborting any active transactions
2025-01-21 02:32:16.604 UTC [39] LOG:  background worker "logical replication launcher" (PID 54) exited with exit code 1
2025-01-21 02:32:16.605 UTC [49] LOG:  shutting down
107:M 21 Jan 2025 02:32:16.612 # User requested shutdown...
107:M 21 Jan 2025 02:32:16.612 * Saving the final RDB snapshot before exiting.
2025-01-21 02:32:16.634 UTC [39] LOG:  database system is shut down
107:M 21 Jan 2025 02:32:16.667 * DB saved on disk
107:M 21 Jan 2025 02:32:16.667 # Redis is now ready to exit, bye bye...

> FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 837 exit 1>
Location of failure: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
exec failed with the params {"cd"=>"$home", "tag"=>"migrate", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
bootstrap failed with exit code 1
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.

Herausforderungen:

  • Ich kann die Website nicht aus einem Backup wiederherstellen.
  • Der Wiederaufbau schlägt konstant fehl und lässt die Website unbrauchbar.

Hilfeanfrage:

  1. Wie kann ich diese Probleme angehen? Der Befehl rebuild app muss ein fehlerhaftes Plugin oder Ähnliches erstellt haben.
  2. Gibt es manuelle Wiederherstellungsschritte?
  3. Haben Sie Vorschläge, um die Website aus diesem Zustand sicher wiederherzustellen?

Ich habe eine gehostete Discourse-Instanz abonniert und ein Backup hochgeladen, aber die Wiederherstellungsoption wird nicht angezeigt, obwohl die Datei normal hochgeladen wurde.

Ich bin für jeden Rat oder jede Anleitung zur Vorgehensweise dankbar. Bitte lassen Sie mich wissen, wenn weitere Details benötigt werden!

Schlagen die Builds immer noch fehl, wenn Sie das Plugin entfernen?

Außerdem ist dieses Repository kein Plugin. Es ist der Quellcode für Deepseek. Ich glaube, was Sam meinte, war, daraus ein Plugin zu machen?

1 „Gefällt mir“

Und der manuelle Wiederherstellungsschritt ist ./launcher start app – wenn der letzte lebende Container nicht zerstört wurde. Und das Entfernen dieses Repos aus app.yml und anschließendes Neuerstellen.

1 „Gefällt mir“

Ist das oben der Fehler? Sie müssen den Teil oben einbeziehen, der zeigt, welche Migration fehlschlägt.

Ich vermute, dass Sie entweder immer noch ein fehlerhaftes Plugin oder einen Formatierungsfehler in Ihrer YML-Datei haben, aber mit den von Ihnen bereitgestellten Informationen ist es unmöglich, dies zu sagen.

Um ein Backup wiederherzustellen, müssen Sie eine E-Mail an team@discourse.org senden und sie bitten, es wiederherzustellen.

1 „Gefällt mir“

Entfernen Sie dies so schnell wie möglich.

GitHub - deepseek-ai/DeepSeek-LLM: DeepSeek LLM: Let there be answers ist kein Discourse-Plugin und sollte daher niemals in einer app.yml-Datei erscheinen.

6 „Gefällt mir“

Ich schätze jeden und Ihr Feedback. Ich kann nicht erklären, wie dies gelöst wurde, aber es scheint zu funktionieren. Das Erste, was ich tat, als ich meinen Fehler bemerkte, dass ich das Nicht-Plugin-GitHub-Repository in app.yml platziert und Discourse zum Absturz gebracht hatte, war, diese Zeile zu entfernen und ohne Erfolg zu versuchen, neu zu erstellen. Ich habe den Server mehrmals ohne Erfolg neu gestartet. Ein Neustart würde die Website wieder in Betrieb nehmen, aber ein erneutes Erstellen über Admin oder SSH würde wieder abstürzen. Dann plötzlich BAM, es wurde von SSH neu erstellt und später die Plugins aktualisiert und über Admin neu erstellt. Ich habe jetzt Ubuntu aktualisiert und scheine in Ordnung zu sein. Scheint gelöst zu sein, aber immer noch ein kleines Rätsel. :partying_face:

3 „Gefällt mir“