إعادة بناء Discourse بعد إضافة مستودع GitHub غير صالح

أواجه مشكلة في موقع Discourse الخاص بي بعد إضافة مستودع GitHub غير صالح عن طريق الخطأ إلى ملف app.yml. عندما قمت بتشغيل ./launcher rebuild app، فشلت العملية، والآن لا يمكن إعادة بناء الموقع. لسوء الحظ، لدي نسخ احتياطية ولكنها تفشل أثناء عملية الاستعادة. فيما يلي تفاصيل المشكلة، بما في ذلك سجل الأخطاء بالكامل.

الخطوات المتخذة:

  1. حاولت إضافة DeepSeek LLM إلى تثبيت Discourse الخاص بي باتباع الإرشادات من هذا المنشور.
  2. أضفت عنوان URL للمستودع https://github.com/deepseek-ai/DeepSeek-LLM إلى ملف app.yml.
  3. قمت بتشغيل ./launcher rebuild app، والذي فشل وتسبب في جعل الموقع غير قابل للتشغيل.

سجل الأخطاء الكامل:

plaintext

CopyEdit

(انظر التتبع الكامل عن طريق تشغيل المهمة مع --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
... (المزيد من سجلات تثبيت 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.

التحديات:

  • لا يمكنني استعادة الموقع من نسخة احتياطية.
  • فشل إعادة البناء باستمرار، مما يترك الموقع غير قابل للتشغيل.

طلب المساعدة:

  1. كيف يمكنني التعامل مع هذه المشكلات، حيث أن تشغيل rebuild app يجب أن يكون قد أنشأ إضافة خاطئة أو ما شابه؟
  2. هل هناك أي خطوات استرداد يدوية؟
  3. أي اقتراحات لإعادة بناء الموقع بأمان من هذه الحالة؟

لقد سجلت للحصول على نسخة مستضافة من Discourse وقمت بتحميل نسخة احتياطية ولكن خيار الاستعادة لا يظهر على الرغم من تحميل الملف بشكل طبيعي.

أقدر بشدة أي نصيحة أو توجيه حول كيفية المضي قدمًا. يرجى إعلامي إذا كانت هناك حاجة إلى مزيد من التفاصيل!

هل تستمر عمليات إعادة البناء في الفشل إذا قمت بإزالة المكون الإضافي؟

أيضًا، هذا المستودع ليس مكونًا إضافيًا. إنه الكود المصدري لـ Deepseek. أعتقد أن ما كان يشير إليه سام هو إنشاء مكون إضافي منه؟

إعجاب واحد (1)

وخطوة الاسترداد اليدوي هي ./launcher start app — إذا لم يتم تدمير آخر حاوية نشطة. وإزالة هذا المستودع من app.yml وإعادة البناء بعد ذلك.

إعجاب واحد (1)

هل هذا هو الفشل؟ تحتاج إلى تضمين الجزء أعلاه الذي يوضح أي ترحيل يفشل.

تخميني هو أن لديك إما مكونًا إضافيًا معطلاً لا يزال موجودًا أو خطأ في التنسيق في ملف yml الخاص بك، ولكن من المستحيل معرفة ذلك بالمعلومات التي قدمتها.

لاستعادة نسخة احتياطية، يجب عليك مراسلة team@discourse.org وطلب استعادتها.

إعجاب واحد (1)

أزل هذا في أسرع وقت ممكن.

GitHub - deepseek-ai/DeepSeek-LLM: DeepSeek LLM: Let there be answers ليس مكونًا إضافيًا لـ Discourse، لذلك لا ينبغي أن يظهر أبدًا في ملف app.yml.

6 إعجابات

أقدر الجميع وملاحظاتكم. لا أستطيع شرح كيفية حل هذه المشكلة ولكن يبدو أنها تعمل. أول شيء فعلته عندما أدركت خطئي في وضع مستودع GitHub غير المكون الإضافي في app.yml وتعطيل discourse كان إزالة هذا السطر ومحاولة إعادة البناء دون نجاح. قمت بإعادة تشغيل الخادم عدة مرات دون نجاح. كانت إعادة التشغيل تعيد الموقع إلى التشغيل ولكن إعادة البناء من المسؤول أو SSH كانت تتعطل مرة أخرى. ثم فجأة تمكنت من إعادة البناء من SSH ثم لاحقًا تحديث المكونات الإضافية وإعادة البناء من المسؤول. لقد قمت الآن بتحديث Ubuntu ويبدو أنني بخير. يبدو أن المشكلة قد تم حلها ولكنها لا تزال لغزًا بعض الشيء. :partying_face:

3 إعجابات