استعادة موقع واحد من شبكة مواقع متعددة

مرحبًا، أتبع هذا الرابط Multisite configuration with Docker لتكوين متعدد المواقع، والآن أريد العودة إلى موقع واحد. ماذا يجب أن أفعل بخلاف استعادة ملف app.yml؟

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

أريد فقط الاحتفاظ بالموقع الأول وحذف الموقع الثاني.

نعم، أبسط نهج هو أخذ نسخة احتياطية من الموقع الأول، وإيقاف حاويتين (web_only و data) اللتين قد تكون استخدمتهما أثناء إعداد الموقع متعدد المواقع، ثم إعداد موقع جديد عبر ./discourse-setup، وأخيرًا استعادة النسخة الاحتياطية. أما الحل الأكثر تقدمًا فقد يتضمن إزالة إعدادات الموقع الثاني من ملفات yml، والدخول إلى حاوية البيانات لحذف قاعدة بيانات الموقع الثاني، وإزالة أصول الموقع الثاني من المجلد المشترك، وما إلى ذلك.

شكرًا لك! سأجرب الطريقة الأولى.

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

عند ترقية discourse، ظهرت صفحة فارغة في صفحة الإضافات، وظهر خطأ في وحدة التحكم:

Uncaught TypeError: Cannot read property 'extend' of undefined
    at _discourse-rss-poster-422da9e50d576ad45cb7287315e7a35550af3708eb68422bee05813edc01521d.js:188
    at t.module.exports.u.<computed> (_ember_jquery-1ed3f3559e6f967733b4088aa729ff7039dff2c09c5a5f787a214b016f58aabc.js:74640)
    at t.module.exports.u.<computed> (_ember_jquery-1ed3f3559e6f967733b4088aa729ff7039dff2c09c5a5f787a214b016f58aabc.js:74470)
    at require (_ember_jquery-1ed3f3559e6f967733b4088aa729ff7039dff2c09c5a5f787a214b016f58aabc.js:74637)
    at t.customResolve (_application-572c27eef10b724b244ce26553c6fe92b75f44172387b25ef144f338da4faa1e.js:1015)
    at t.resolveRoute (_application-572c27eef10b724b244ce26553c6fe92b75f44172387b25ef144f338da4faa1e.js:1051)
    at t.e [as resolveRoute] (_ember_jquery-1ed3f3559e6f967733b4088aa729ff7039dff2c09c5a5f787a214b016f58aabc.js:43433)
    at t.n.resolve (_ember_jquery-1ed3f3559e6f967733b4088aa729ff7039dff2c09c5a5f787a214b016f58aabc.js:46378)
    at _ember_jquery-1ed3f3559e6f967733b4088aa729ff7039dff2c09c5a5f787a214b016f58aabc.js:12420
    at e.t.resolve (_ember_jquery-1ed3f3559e6f967733b4088aa729ff7039dff2c09c5a5f787a214b016f58aabc.js:11959)

أعتقد أن المشكلة ناتجة عن الموقع الثاني، لكنني لا أعرف كيفية إصلاحها. شكرًا لك!

هل يمكنك مساعدتي من فضلك؟ @sam

سيُطلب منك مشاركة ملف app.yml مع حذف كلمات المرور. أعتقد أن المشكلة سببها إغفال أو خطأ ما في ملف app.yml الخاص بك يتسبب في ذلك.

## هذا قالب حاوية Docker المستقلة الشاملة لـ Discourse
##
## بعد إجراء أي تغييرات على هذا الملف، يجب عليك إعادة البناء
## /var/discourse/launcher rebuild app
##
## كن حذرًا للغاية عند التعديل!
## ملفات YAML حساسة للغاية للأخطاء في المسافات البادئة أو المحاذاة!
## قم بزيارة http://www.yamllint.com/ للتحقق من صحة هذا الملف عند الحاجة

templates:
  - "templates/postgres.template.yml"
  - "templates/redis.template.yml"
  - "templates/web.template.yml"
  - "templates/web.ratelimited.template.yml"
## قم بإلغاء التعليق عن هذين السطرين إذا كنت ترغب في إضافة Lets Encrypt (https)
#  - "templates/web.ssl.template.yml"
#  - "templates/web.letsencrypt.ssl.template.yml"
  - "templates/web.socketed.template.yml"

## ما هي منافذ TCP/IP التي يجب أن تعرضها هذه الحاوية؟
## إذا كنت ترغب في مشاركة منفذ لـ Discourse مع خادم ويب آخر مثل Apache أو nginx،
## راجع https://meta.discourse.org/t/17247 للحصول على التفاصيل
expose:
        #  - "80:80"   # http
        #  - "443:443" # https

params:
  db_default_text_search_config: "pg_catalog.english"

  ## قم بتعيين db_shared_buffers إلى أقصى 25% من إجمالي الذاكرة.
  ## سيتم تعيينها تلقائيًا بواسطة bootstrap بناءً على الذاكرة المكتشفة، أو يمكنك تجاوزها
  db_shared_buffers: "128MB"

  ## يمكن أن يحسن أداء الفرز، لكنه يزيد من استخدام الذاكرة لكل اتصال
  #db_work_mem: "40MB"

  ## أي إصدار Git يجب أن تستخدمه هذه الحاوية؟ (الافتراضي: tests-passed)
  #version: tests-passed

env:
  LANG: en_US.UTF-8
  # DISCOURSE_DEFAULT_LOCALE: en

  ## كم عدد طلبات الويب المتزامنة المدعومة؟ يعتمد على الذاكرة وأنوية المعالج.
  ## سيتم تعيينها تلقائيًا بواسطة bootstrap بناءً على المعالجات المكتشفة، أو يمكنك تجاوزها
  UNICORN_WORKERS: 2

  ## TODO: اسم النطاق الذي ستستجيب له هذه النسخة من Discourse
  ## مطلوب. لن يعمل Discourse مع عنوان IP مجرد.
  DISCOURSE_HOSTNAME: at4am.io

  ## قم بإلغاء التعليق إذا كنت تريد بدء الحاوية بنفس اسم النطاق
  ## (-h option) كما هو محدد أعلاه (الافتراضي "$hostname-$config")
  #DOCKER_USE_HOSTNAME: true

  ## TODO: قائمة عناوين البريد الإلكتروني المفصولة بفواصل سيتم تعيينها كمسؤول ومطور
  ## عند التسجيل الأولي، مثال 'user1@example.com,user2@example.com'
  DISCOURSE_DEVELOPER_EMAILS: 'a@gmail.com'

  ## TODO: خادم البريد SMTP المستخدم للتحقق من الحسابات الجديدة وإرسال الإشعارات
  ## مطلوب عنوان SMTP واسم المستخدم وكلمة المرور
  # تحذير: قد تسبب علامة '#' في كلمة مرور SMTP مشاكل!
  DISCOURSE_SMTP_ADDRESS: smtp.office365.com
  DISCOURSE_SMTP_PORT: 587
  DISCOURSE_SMTP_USER_NAME: a@outlook.com
  DISCOURSE_SMTP_PASSWORD: "a"
  DISCOURSE_SMTP_AUTHENTICATION: login
  #DISCOURSE_SMTP_ENABLE_START_TLS: true           # (اختياري، الافتراضي true)

  ## إذا قمت بإضافة قالب Lets Encrypt، قم بإلغاء التعليق أدناه للحصول على شهادة SSL مجانية
  LETSENCRYPT_ACCOUNT_EMAIL: a@gmail.com

  ## عنوان CDN لهذه النسخة من Discourse (مُهيأ للسحب)
  ## راجع https://meta.discourse.org/t/14857 للحصول على التفاصيل
  #DISCOURSE_CDN_URL: //discourse-cdn.example.com

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

## تذهب الإضافات هنا
## راجع https://meta.discourse.org/t/19157 للحصول على التفاصيل
hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/livc/discourse-rss-poster
            #- git clone https://github.com/paviliondev/discourse-ratings
          - git clone https://github.com/discourse/discourse-data-explorer
          - git clone https://github.com/discourse/discourse-solved

## أي أوامر مخصصة للتشغيل بعد البناء
run:
  - exec: echo "Beginning of custom commands"
  ## إذا كنت تريد تعيين عنوان البريد الإلكتروني 'From' لتسجيلك الأول، قم بإلغاء التعليق وتغييره:
  ## بعد الحصول على أول بريد إلكتروني للتسجيل، قم بإعادة التعليق على السطر. يجب تشغيله مرة واحدة فقط.
  #- exec: rails r "SiteSetting.notification_email='info@unconfigured.discourse.org'"
  - exec: echo "End of custom commands"

هذا هو ملف app.yml الخاص بي، شكرًا لك على مساعدتك.

بالنظر إلى الخطأ السابق الخاص بك وملف app.yml، فمن المرجح جدًا أن المشكلة تكمن في نسخة الـ rss plugin التي تستخدمها. قد يكون هناك خلل فيها يتسبب في هذه المشكلة. هل يمكنك محاولة إعادة البناء بعد تعطيل هذا الملحق؟

@itsbhanusharma

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

لذا، لست متأكدًا مما إذا كان السبب هو ترقية Discourse أو نظام المواقع المتعددة.

خاصة أنني وجدت أن
https://meta.discourse.org/t/discourse-subscriptions/140818/77?u=livc
يواجه نفس الخطأ في نظام المواقع المتعددة.

هذا الملحق مهم جدًا لموقعي، وأنا الآن لا أعرف ماذا أفعل. :pensive:

إذا كنت أنت من صنع هذه الإضافة، فحاول إصلاحها. وإذا كان شخص ما قد بناها لك، فحاول الاتصال به لإصلاحها