كيفية تثبيت الإضافات دون استخدام مضيف تابع لجهة خارجية؟

@Falco @pfaffman شكراً لكم، لقد أوضحت إجاباتكم شكوكي.

أترك هنا إعداد ملف app.yml الخاص بي في حال كان مفيداً لأي شخص يحاول تحميل الإضافات المحلية إلى Discourse من جهاز المضيف.

## حاوية Docker عديمة الحالة؛ يتم تخزين جميع البيانات في /shared
volumes:
  - volume:
      host: /var/discourse/shared/standalone
      guest: /shared
  - volume:
      host: /var/discourse/shared/standalone/log/var-log
      guest: /var/log
  - volume:
      host: /var/discourse/plugins
      guest: /var/plugins

## تذهب الإضافات إلى هنا
## راجع https://meta.discourse.org/t/19157 للحصول على التفاصيل
hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/discourse/docker_manager.git
          - cp -a /var/plugins/. $home/plugins/

في إعدادي، أحافظ على جميع الإضافات المخصصة في /var/discourse/plugins على المضيف.

تصبح الدليل المثبتة متاحة داخل الحاوية كـ /var/plugins، وخلال خطاف after_code، الأمر:

cp -a /var/plugins/. $home/plugins/

ينسخ جميع الإضافات المثبتة إلى دليل الإضافات الأصلي في Discourse ($home/plugins، وعادةً ما يكون /var/www/discourse/plugins).

هذا يجعل من الممكن إدارة الإضافات مباشرة من المضيف دون استخدام تثبيت الإضافات المعتمد على git أو الاعتماد على خدمات الاستضافة التابعة لأطراف ثالثة.