Discourse لا يبدأ

لقد كنت أقوم مؤخرًا بنشر Discourse، ولكن واجهت مشكلة أدت إلى عدم القدرة على بدء التشغيل.

حدث الخطأ التالي:

فشل
--------------------
خطأ تنفيذ Pups: cd /var/www/discourse && su discourse -c 'bundle install --no-deployment --path vendor/bundle --jobs $(($(nproc) - 1)) --without test development' فشل مع إرجاع #<Process::Status: pid 1193 exit 15>
موقع الفشل: /usr/local/lib/ruby/gems/3.4.0/gems/pups-1.4.0/lib/pups/exec_command.rb:138:in 'Pups::ExecCommand#spawn'
فشل التنفيذ مع المعاملات {"cd" => "$home", "cmd" => ["echo \"gem 'mysql2'\" >> Gemfile", "apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y libmariadb-dev", "su discourse -c 'bundle config unset deployment'", "su discourse -c 'bundle install --no-deployment --path vendor/bundle --jobs $(($(nproc) - 1)) --without test development'"]}
فشل التمهيد مع رمز خروج 15
** فشل التمهيد ** يرجى التمرير للأعلى والبحث عن رسائل الخطأ السابقة، فقد يكون هناك أكثر من خطأ.
قد يساعد ./discourse-doctor في تشخيص المشكلة.
7a849a20b51e8b8ff94c6ac3727c393aeb899e9b48b7d2313931232ceb9e6411

ملف التكوين هو كما يلي:

## هذا قالب حاوية 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/import/mysql-dep.template.yml"
  #- "templates/web.ratelimited.template.yml"
  ## قم بإلغاء التعليق عن هذين السطرين إذا كنت ترغب في إضافة Lets Encrypt (https)
  #- "templates/web.ssl.template.yml"
  #- "templates/web.letsencrypt.ssl.template.yml"

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

params:
  db_default_text_search_config: "pg_catalog.chinese"

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

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

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

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

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

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

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

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

  ## TODO: قم بتكوين خادم البريد
  ##       (يستخدم للتحقق من الحسابات الجديدة، والإشعارات، والملخصات، إلخ.)
  ## مطلوب: اسم النطاق لخادم SMTP المستخدم لإرسال البريد
  DISCOURSE_SMTP_ADDRESS: smtp.exmail.qq.com
  ## قم بإلغاء التعليق لتعيين المنفذ إلى شيء غير الافتراضي (25)
  DISCOURSE_SMTP_PORT: 587
  ## اسم المستخدم / كلمة المرور مطلوبان إذا كان مزود SMTP يحتاج إلى مصادقة
  ## تحذير: قد يتم تفسير علامة '#' في كلمة مرور SMTP بشكل خاطئ؛ تأكد من وضعها داخل علامات اقتباس، مثل:
  ##   DISCOURSE_SMTP_PASSWORD: "#pass#ord"
  DISCOURSE_SMTP_USER_NAME: noreply@akarinliu.com
  DISCOURSE_SMTP_PASSWORD: "***"
  ## قم بإلغاء التعليق لتمكين TLS الضمني عند وقت الاتصال، وقد يكون ذلك ضروريًا لاستخدام المنفذ 465
  #DISCOURSE_SMTP_FORCE_TLS: true
  ## قم بإلغاء التعليق لتعيين نطاق HELO/EHLO، قم بتعيينه فقط إذا طلبه المزود
  #DISCOURSE_SMTP_DOMAIN: discourse.example.com
  ## العنوان الذي تُرسل منه الإشعارات
  #DISCOURSE_NOTIFICATION_EMAIL: noreply@discourse.example.com
  ## قم بإلغاء التعليق لتغيير التحقق من شهادة الخادم
  #DISCOURSE_SMTP_OPENSSL_VERIFY_MODE: peer # peer|none
  ## قم بإلغاء التعليق لتجاوز طريقة المصادقة
  #DISCOURSE_SMTP_AUTHENTICATION: plain # plain|login|cram_md5
  ## علامة اختيار إعداد البريد الإلكتروني الاختيارية
  #DISCOURSE_SKIP_EMAIL_SETUP: "1" # (اختياري)، قم بإلغاء التعليق لتجاوز التحقق من إعداد البريد الإلكتروني

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

## معرف حساب Maxmind الجغرافي ومفتاح الترخيص للبحث عن عناوين IP
## راجع https://meta.discourse.org/t/-/173941 للحصول على التفاصيل
DISCOURSE_MAXMIND_ACCOUNT_ID: 1083541
DISCOURSE_MAXMIND_LICENSE_KEY: '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'

## حاوية Docker عديمة الحالة؛ تُخزن جميع البيانات في /shared
volumes:
  - volume:
      host: ./shared
      guest: /shared
  - volume:
      host: ./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

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

(حُذِفَ المنشور من قِبَل المؤلف)

قم بذلك وشارك النتيجة :slight_smile:

نعم - يرجى لصق ما لا يقل عن 100 سطر.

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

قد يكون السبب هو أن الصين تشهد امتحانات القبول الجامعي هذه الأيام، مما أدى إلى تشديد حجب الشبكة بشكل كبير. يُنصح بانتظار انتهاء هذه الفترة قبل المحاولة مرة أخرى، أو استخدام وكيل (بروكسي).