نقوم بتشغيل تثبيت قياسي لـ Discourse على DO. كان كل شيء على ما يرام. ثم قررنا إضافة مكون إضافي واحد باتباع هذا
تفترض هذه الإرشادات أن لديك تثبيت قياسي مستضاف ذاتيًا. نحن ندعم فقط طريقة التثبيت القياسية هنا، لذا تفترض هذه التعليمات أن لديك تثبيتًا قياسيًا.
تنطبق هذه الإرشادات فقط على مثيلات Discourse المستضافة ذاتيًا. إذا كنت تستخدم خدمة استضافة مُدارة، فإن المكونات الإضافية المتاحة يتم التحكم فيها بواسطة مزود الاستضافة الخاص بك. على سبيل المثال، على الاستضافة الخاصة بنا، تتوفر هذه المكونات الإضافية المحددة حسب مستوى الاستضافة.
اعتبارًا من منتصف عام 2025، تم…
بإضافة سطر
hooks:
after_code:
- exec:
cd: $home/plugins
cmd:
- sudo -E -u discourse git clone https://github.com/discourse/docker_manager.git && sudo -E -u discourse git clone https://github.com/discourse/discourse-templates.git
الحاوية تفشل في إعادة البناء.
--------------------
Pups::ExecError: echo "End of custom commands failed with return #<Process::Status: pid 5121 exit 2>
Location of failure: /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
exec failed with the params "echo \"End of custom commands"
bootstrap failed with exit code 2
تم تشغيل جميع الأوامر كـ root. أعتقد أن المشكلة هنا
I, [2024-04-18T04:28:49.985355 #1] INFO -- : > cd /var/www/discourse/plugins && sudo -E -u discourse git clone https://github.com/discourse/docker_manager.git && sudo -E -u discourse git clone https://github.com/discourse/discourse-templates.git
Cloning into 'docker_manager'...
warning: unable to access '/root/.config/git/attributes': Permission denied
Cloning into 'discourse-templates'...
warning: unable to access '/root/.config/git/attributes': Permission denied
يرجى تقديم المشورة هنا
pfaffman
(Jay Pfaffman)
18 أبريل 2024، 10:33ص
3
يقول “تم رفض الوصول”. هل أنت متأكد من أنك تعمل بصلاحيات الجذر؟
Robert:
جربها بدون هذا.
لدي فقط - git clone ...
… وهذا يعمل منذ سنوات!
أنا أتبع دليل التثبيت الذي تم نشره هنا كدليل رسمي لتثبيت إضافات Discourse. جميع الإضافات لديها رابط لهذا الدليل. في حالتي، لقد دمر تثبيتنا ولم نتمكن حتى من استعادته، وأعدنا بنائه حتى تحت إعدادات YML الأولية.
أنا متأكد من أننا قمنا بتشغيله تحت صلاحيات الجذر (root). بعد اتباع التعليمات، تم إنهاء التثبيت الخاص بنا ولا يمكننا إعادة بنائه حتى تحت الإعدادات الأولية لـ yml.
لا ينبغي أن يؤدي فشل البناء إلى تدمير أي شيء، بل سيؤدي فقط إلى تعطيلك لفترة قصيرة.
ستظل قاعدة البيانات سليمة.
pfaffman
(Jay Pfaffman)
18 أبريل 2024، 3:36م
7
هل سيؤدي تشغيل ./launcher start app إلى تشغيل المنتدى؟
تخميني الأفضل هو أنك أدخلت علامة جدولة أو شيئًا آخر يجعل ملف yml غير صالح.
الخطأ يتعلق بـ “echo” في نهاية ملف yml، مما يشير إلى وجود مشكلة تنسيق في مكان ما قبل ذلك.
هل قمت بحفظ نسخة من الملف قبل تعديله، أو هل حاولت تعديله لاستعادته إلى ما تعتقد أنه كان عليه قبل تعديله؟
يمكنك تجربة إعادة تسمية ملف app.yml الخاص بك، وتدوين القيم (خاصة إعدادات SMTP) وتشغيل ./discourse-setup مرة أخرى. سيعطيك هذا ملف app.yml يعمل.
Jay Pfaffman:
./launcher start app
هذا يبدأ المنتدى.
هل سيؤدي تشغيل ./discourse-setup إلى الاحتفاظ ببيانات المنتدى الحالية أم يجب علي النسخ الاحتياطي أولاً ثم استعادتها؟ شكراً جزيلاً لدعمكم.
pfaffman
(Jay Pfaffman)
18 أبريل 2024، 4:14م
9
نعم. ستبقى قاعدة البيانات الحالية وما شابه ذلك في مكانها. هذه مجرد طريقة لإنشاء app.yml جديد.
عزيزي @pfaffman و @merefield شكراً لدعمكم.
كانت هناك مشكلتان:
حرجة - خطأ في بناء جملة YML، تم إصلاحه بواسطة مدقق YML
أقل أهمية - استبدال sudo -E -u discourse بـ git clone فقط (تحت الجذر)
هذا يساعدنا على إعادة بناء وتثبيت المكون الإضافي
شكراً جزيلاً لكم،