كيفية تثبيت إضافات Discourse المستضافة في مستودعات خاصة باستخدام مفتاح SSH؟

لقد اتبعت دليل Discourse الرسمي لتثبيت الإضافات على موقع مستضاف ذاتيًا (الدليل الرسمي)، ولكنه يعود تاريخه إلى عام 2014، وأنا متأكد تمامًا من أن الكثير من المعلومات قديمة الآن.

لقد جربت أيضًا بعض الحلول الأحدث والموصى بها المشتركة في ردود المناقشة، مثل تحميل مفاتيح SSH عبر وحدات التخزين وتكوين الوصول إلى SSH أثناء عملية التمهيد. للأسف، على الرغم من هذه الجهود، ما زلت غير قادر على استنساخ وتثبيت الإضافات من مستودعات Git الخاصة بي باستخدام SSH.

إذا كان لدى أي شخص طريقة محدثة وعاملة أو أفضل ممارسة لاستخدام مفاتيح SSH لتثبيت إضافات Discourse من المستودعات الخاصة، فسيكون توجيهك محل تقدير كبير.

هل هناك طريقة لتنزيل ملفات المكون الإضافي مباشرة إلى الخادم مسبقًا، بحيث لا يحتاج إلى جلبها مرة أخرى من GitHub أثناء تشغيل Discourse الأولي؟

هذا لا يزال النهج الصحيح

أنا أستخدمه طوال الوقت.

إعجابَين (2)

من المحتمل أن تتمكن من استنساخ الملفات مباشرة في /plugins ثم تشغيل عمليات الترحيل اللازمة، ولكن بعد ذلك قد لا تتلقى تحديثات للمكونات الإضافية.

شكرًا لك! لكن السبب الذي يجعلني أفضل استخدام SSH هو أن رموز OAuth لا تسمح بفصل أذونات القراءة والكتابة - فهي تأتي دائمًا مع وصول أكثر من اللازم.

باستخدام SSH، يمكنني إنشاء مفتاح نشر للقراءة فقط، وهو أكثر أمانًا ويتوافق بشكل أفضل مع مبدأ الحد الأدنى من الامتيازات.

شكراً على الاقتراح!

لقد حاولت بالفعل استنساخ المكون الإضافي مباشرةً في /var/www/discourse/plugins، لكنه لم ينجح - حتى عندما قمت بتحميل مجلد المكون الإضافي من المضيف إلى هذا المسار داخل الحاوية.

يبدو أنه أثناء التهيئة، يتوقع Discourse جلب المكونات الإضافية عبر Git، ووضع ملفات المكون الإضافي يدويًا لا يتجاوز هذه الخطوة.

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

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

IIRC هناك مشاكل إذا قمت بالاستنساخ مباشرة (أعتقد هذا)، لهذا السبب استخدام الرموز للاستنساخ هو الطريقة الموصى بها.

ولكن أعتقد أنك قد ترغب في تجربة هذا، إذا كنت ترغب في استخدام مفاتيح SSH:

شكرًا لك، ولكنني جربت بالفعل الطريقة الموضحة في الدليل الرسمي لعام 2014 الذي أشرت إليه — ويمكنني التأكيد على أنها لم تعد تعمل للوصول إلى المستودعات الخاصة عبر مفاتيح SSH أثناء التهيئة الأولية.

لقد جربت أيضًا النهج الأحدث المذكور في إحدى الردود (تحميل مفتاح SSH في الحاوية وتهيئة core.sshCommand في after_code)، ولكن للأسف، فشل ذلك أيضًا في حالتي. لا يزال Discourse يرمي خطأ في إذن SSH عند محاولة استنساخ المكون الإضافي الخاص.

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

يمكنك استنساخها محليًا إما عن طريق تحميلها في دليل الإضافات أو نسخها من تحميل مؤقت إلى دليل الإضافات.

كنت تستطيع الحصول على عنوان URL لمستودع GitHub يحتوي على بيانات اعتماد مضمنة في عنوان URL. لقد فعلت ذلك من قبل.