شكراً على كل الدعم، للأسف لم يحل ذلك المشكلة.
بالنسبة للمستخدمين الجدد، ربما يكون من المفيد إضافة:
- الدخول إلى الحاوية (مثال:
./launcher enter app
لقد فعلت ذلك. وكان pnp مثبتًا بالفعل:
root@vtdiscourse-app:/var/www/discourse# pnpm --version
9.5.0
لقد فعلت ذلك بالفعل، كما هو مكتوب في مشاركتي أعلاه، دون حل المشكلة.
تم تثبيت Discourse في أبريل 2023.
لقد قمت بالترقية بنجاح حتى (وتشمل) v3.4.0.beta3.
كما هو مكتوب أعلاه، نظام التشغيل هو حاوية LXC، تستخدم Debian bullseye مع آخر التحديثات المثبتة.
الإضافة الوحيدة المثبتة هي Private Topics Plugin (لا تزال قيد الصيانة ويتم تحديثها أيضًا مع كل تحديث لـ discourse من جانبي).
ها هي:
## هذا هو قالب حاوية Discourse المستقل والمتكامل
##
## بعد إجراء تغييرات على هذا الملف، يجب عليك إعادة البناء
## /var/discourse/launcher rebuild app
##
## كن حذرًا جدًا عند التحرير!
## ملفات YAML حساسة للغاية للأخطاء في المسافات البيضاء أو المحاذاة!
## قم بزيارة http://www.yamllint.com/ للتحقق من صحة هذا الملف حسب الحاجة
templates:
- "templates/postgres.template.yml"
- "templates/redis.template.yml"
- "templates/web.template.yml"
## قم بإلغاء التعليق على السطر التالي لتمكين مستمع IPv6
#- "templates/web.ipv6.template.yml"
- "templates/web.ratelimited.template.yml"
## قم بإلغاء التعليق على هذين السطرين إذا كنت ترغب في إضافة Lets Encrypt (https)
##- "templates/web.ssl.template.yml"
- "templates/web.ssl.template.yml"
#- "templates/web.letsencrypt.ssl.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_shared_buffers: "256MB"
## يمكن أن يحسن أداء الفرز، ولكنه يزيد من استخدام الذاكرة لكل اتصال
#db_work_mem: "40MB"
## أي مراجعة Git يجب أن تستخدمها هذه الحاوية؟ (الافتراضي: tests-passed)
#version: tests-passed
env:
LC_ALL: en_US.UTF-8
LANG: en_US.UTF-8
LANGUAGE: en_US.UTF-8
# DISCOURSE_DEFAULT_LOCALE: en
## كم عدد طلبات الويب المتزامنة التي يمكن دعمها؟ يعتمد على الذاكرة وأنوى المعالج.
## سيتم تعيينه تلقائيًا بواسطة bootstrap بناءً على وحدات المعالجة المكتشفة، أو يمكنك تجاوزها
UNICORN_WORKERS: 2
## TODO: اسم النطاق الذي ستستجيب له هذه النسخة من Discourse
## مطلوب. لن تعمل Discourse برقم IP عارٍ.
#DISCOURSE_HOSTNAME: 'discourse.example.com'
DISCOURSE_HOSTNAME: 'my-discourse-domain.example.com'
## قم بإلغاء التعليق إذا كنت تريد بدء تشغيل الحاوية بنفس
## اسم المضيف (-h) المحدد أعلاه (الافتراضي "hostname-$config")
#DOCKER_USE_HOSTNAME: true
## TODO: قائمة بالبريد الإلكتروني مفصولة بفواصل سيتم جعلها مسؤولة ومطورة
## عند التسجيل الأولي مثال 'user1@example.com,user2@example.com'
#DISCOURSE_DEVELOPER_EMAILS: 'me@example.com,you@example.com'
DISCOURSE_DEVELOPER_EMAILS: 'my-admin-mail@example.com'
## TODO: خادم البريد SMTP المستخدم للتحقق من الحسابات الجديدة وإرسال الإشعارات
# عنوان SMTP واسم المستخدم وكلمة المرور مطلوبة
# تحذير الحرف '#' في كلمة مرور SMTP يمكن أن يسبب مشاكل!
#DISCOURSE_SMTP_ADDRESS: smtp.example.com
DISCOURSE_SMTP_ADDRESS: my-smtp-server.example.com
#DISCOURSE_SMTP_PORT: 587
#DISCOURSE_SMTP_USER_NAME: user@example.com
DISCOURSE_SMTP_USER_NAME: my-user@my-smtp-server.example.com
#DISCOURSE_SMTP_PASSWORD: pa$$word
DISCOURSE_SMTP_PASSWORD: foo(obviously not)
#DISCOURSE_SMTP_ENABLE_START_TLS: true # (اختياري، الافتراضي صحيح)
#DISCOURSE_SMTP_DOMAIN: discourse.example.com # (مطلوب من قبل بعض المزودين)
##DISCOURSE_NOTIFICATION_EMAIL: noreply@discourse.example.com # (العنوان لإرسال الإشعارات منه)
DISCOURSE_NOTIFICATION_EMAIL: my-user@my-smtp-server.example.com # (العنوان لإرسال الإشعارات منه)
## إذا أضفت قالب Lets Encrypt، قم بإلغاء التعليق أدناه للحصول على شهادة SSL مجانية
#LETSENCRYPT_ACCOUNT_EMAIL: me@example.com
## عنوان CDN HTTP أو HTTPS لهذه النسخة من Discourse (تم تكوينه للسحب)
## راجع https://meta.discourse.org/t/14857 للحصول على التفاصيل
#DISCOURSE_CDN_URL: https://discourse-cdn.example.com
## مفتاح عنوان IP الخاص بخدمة تحديد الموقع الجغرافي Maxmind للبحث عن عناوين IP
## راجع https://meta.discourse.org/t/-/137387/23 للحصول على التفاصيل
##DISCOURSE_MAXMIND_LICENSE_KEY: 1234567890123456
DISCOURSE_MAXMIND_LICENSE_KEY: my-key
## الحاوية 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/communiteq/discourse-private-topics.git
## أي أوامر مخصصة لتشغيلها بعد البناء
run:
- exec: echo "Beginning of custom commands"
## إذا كنت ترغب في تعيين عنوان البريد الإلكتروني 'من' للتسجيل الأول، قم بإلغاء التعليق والتغيير:
## بعد الحصول على البريد الإلكتروني الأول للتسجيل، قم بإعادة التعليق على السطر. يحتاج فقط إلى التشغيل مرة واحدة.
#- exec: rails r "SiteSetting.notification_email='info@unconfigured.discourse.org'"
- exec: echo "End of custom commands"
أي مساعدة ستكون موضع تقدير.