Ricostruire Discourse dopo l'aggiunta di un repository GitHub non valido

Ho riscontrato un problema con il mio sito Discourse dopo aver aggiunto erroneamente un repository GitHub non valido al file app.yml. Quando ho eseguito ./launcher rebuild app, il processo è fallito e ora il sito non si ricostruisce. Sfortunatamente, ho dei backup ma falliscono durante il processo di ripristino. Di seguito sono riportati i dettagli del problema, inclusi i log di errore completi.

Passaggi Eseguiti:

  1. Ho tentato di aggiungere DeepSeek LLM alla mia installazione di Discourse seguendo le indicazioni da questo post.
  2. Ho aggiunto l’URL del repository https://github.com/deepseek-ai/DeepSeek-LLM al file app.yml.
  3. Ho eseguito ./launcher rebuild app, che è fallito e ha reso il sito non funzionante.

Log di Errore Completo:

plaintext

CopyEdit

(Vedi la traccia completa eseguendo il task con --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
... (altri log di installazione gem) ...
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.

Sfide:

  • Non riesco a ripristinare il sito da un backup.
  • La ricostruzione fallisce costantemente, lasciando il sito inoperativo.

Richiesta di Aiuto:

  1. Come posso affrontare questi problemi? L’esecuzione di rebuild app deve aver creato un plugin errato o simile.
  2. Esistono procedure di recupero manuale?
  3. Ci sono suggerimenti per ricostruire in sicurezza il sito da questo stato?

Mi sono iscritto a un’istanza Discourse ospitata e ho caricato un backup, ma l’opzione di ripristino non appare, anche se il file è stato caricato normalmente.

Apprezzo molto qualsiasi consiglio o guida su come procedere. Fatemi sapere se sono necessari ulteriori dettagli!

Se rimuovi il plugin, le ricompilazioni continuano a fallire?

Inoltre, quel repository non è un plugin. È il codice sorgente di Deepseek. Penso che quello a cui Sam si riferiva fosse farne un plugin?

1 Mi Piace

E il passaggio di ripristino manuale è ./launcher start app — se l’ultimo container attivo non viene distrutto. E rimuovere quel repository da app.yml e ricostruire dopo.

1 Mi Piace

Questo è il fallimento? Devi includere la parte sopra che mostra quale migrazione sta fallendo.

La mia ipotesi è che tu abbia ancora un plugin danneggiato o un errore di formattazione nel tuo file yml, ma è impossibile dirlo con le informazioni che hai fornito.

Per ripristinare un backup devi inviare un’email a team@discourse.org e chiedere loro di ripristinarlo.

1 Mi Piace

Rimuovi questo il prima possibile.

GitHub - deepseek-ai/DeepSeek-LLM: DeepSeek LLM: Let there be answers non è un plugin di Discourse, quindi non dovrebbe mai apparire in un file app.yml.

6 Mi Piace

Apprezzo tutti e i vostri feedback. Non riesco a spiegare come sia stato risolto, ma sembra che funzioni. La prima cosa che ho fatto quando mi sono reso conto del mio errore nel posizionare il repository GitHub non plugin in app.yml e nel far crashare discourse è stata rimuovere quella riga e provare a ricostruire senza successo. Ho riavviato il server diverse volte senza successo. Il riavvio riportava il sito operativo, ma la ricostruzione dall’admin o da ssh causava nuovamente il crash. Poi, improvvisamente, BAM, si è ricostruito da SSH e successivamente ha aggiornato i plugin e si è ricostruito dall’admin. Ora ho aggiornato Ubuntu e sembra che vada tutto bene. Sembra risolto ma rimane un po’ un mistero. :partying_face:

3 Mi Piace