Reconstruire Discourse après ajout de dépôt GitHub invalide

Je rencontre un problème avec mon site Discourse après avoir ajouté par erreur un dépôt GitHub invalide au fichier app.yml. Lorsque j’ai exécuté ./launcher rebuild app, le processus a échoué et le site ne peut plus être reconstruit. Malheureusement, j’ai des sauvegardes mais elles échouent lors du processus de restauration. Vous trouverez ci-dessous les détails du problème, y compris le journal d’erreurs complet.

Étapes suivies :

  1. J’ai tenté d’ajouter DeepSeek LLM à mon installation Discourse en suivant les instructions de ce post.
  2. J’ai ajouté l’URL du dépôt https://github.com/deepseek-ai/DeepSeek-LLM au fichier app.yml.
  3. J’ai exécuté ./launcher rebuild app, ce qui a échoué et rendu le site non fonctionnel.

Journal d’erreurs complet :

plaintext

CopyEdit

(Voir la trace complète en exécutant la tâche avec --trace)
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
... (plus de logs d'installation de gems) ...
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.

Défis :

  • Je ne peux pas restaurer le site à partir d’une sauvegarde.
  • La reconstruction échoue systématiquement, laissant le site inutilisable.

Demande d’aide :

  1. Comment puis-je aborder ces problèmes, la reconstruction de l’application a dû créer un plugin erroné ou similaire ?
  2. Existe-t-il des étapes de récupération manuelles ?
  3. Des suggestions pour reconstruire le site en toute sécurité à partir de cet état ?

Je me suis inscrit pour une instance Discourse hébergée et j’ai téléchargé une sauvegarde, mais l’option de restauration n’apparaît pas, même si le fichier a été téléchargé normalement.

J’apprécie grandement tout conseil ou toute orientation sur la façon de procéder. N’hésitez pas à me faire savoir si des détails supplémentaires sont nécessaires !

Si vous supprimez le plugin, les reconstructions échouent toujours ?

De plus, ce dépôt n’est pas un plugin. C’est le code source de Deepseek. Je pense que ce à quoi Sam faisait référence était d’en faire un plugin ?

1 « J'aime »

Et l’étape de récupération manuelle est ./launcher start app — si le dernier conteneur actif n’est pas détruit. Et supprimer ce dépôt de app.yml et reconstruire après cela.

1 « J'aime »

Est-ce que ce qui précède est l’échec ? Vous devez inclure la partie ci-dessus qui montre quelle migration échoue.

Je suppose que vous avez toujours un plugin cassé ou une erreur de formatage dans votre fichier yml, mais il est impossible de le dire avec les informations que vous avez fournies.

Pour restaurer une sauvegarde, vous devez envoyer un e-mail à team@discourse.org et leur demander de la restaurer.

1 « J'aime »

Supprimez ceci dès que possible.

GitHub - deepseek-ai/DeepSeek-LLM: DeepSeek LLM: Let there be answers n’est pas un plugin Discourse, il ne devrait donc jamais apparaître dans un fichier app.yml.

6 « J'aime »

J’apprécie tout le monde et vos commentaires. Je ne peux pas expliquer comment cela a été résolu, mais cela semble fonctionner. La première chose que j’ai faite lorsque j’ai réalisé mon erreur en plaçant le dépôt GitHub non plugin dans app.yml et en plantant discourse a été de supprimer cette ligne et d’essayer de reconstruire sans succès. J’ai redémarré le serveur plusieurs fois sans succès. Le redémarrage remettait le site en fonctionnement, mais la reconstruction depuis l’administration ou SSH plantait à nouveau. Puis soudain BAM, il a reconstruit depuis SSH et plus tard mis à jour les plugins et reconstruit depuis l’administration. J’ai maintenant mis à jour Ubuntu et tout semble aller bien. Cela semble résolu mais reste un peu mystérieux. :partying_face:

3 « J'aime »