Docker version 20.10.7, build f0df350
هذا هو القالب الشامل والمتكامل لـ Discourse Docker container
بعد إجراء تغييرات على هذا الملف، يجب عليك إعادة البناء
/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”
- “templates/web.socketed.template.yml”
قم بإلغاء التعليق على هذين السطرين إذا كنت ترغب في إضافة Lets Encrypt (https)
- “templates/web.ssl.template.yml”
- “templates/web.letsencrypt.ssl.template.yml”
ما هي منافذ TCP/IP التي يجب أن يكشفها هذا الحاوية؟
إذا كنت تريد أن تشارك Discourse منفذًا مع خادم ويب آخر مثل Apache أو nginx،
انظر Run other websites on the same machine as Discourse للحصول على التفاصيل
expose:
- “8080:80” # http
- “8443:443” # https
params:
db_default_text_search_config: “pg_catalog.english”
قم بتعيين db_shared_buffers إلى 25% كحد أقصى من إجمالي الذاكرة.
سيتم تعيينه تلقائيًا بواسطة bootstrap بناءً على ذاكرة الوصول العشوائي المكتشفة، أو يمكنك تجاوزها
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
كم عدد طلبات الويب المتزامنة التي يمكن دعمها؟ يعتمد على الذاكرة وأنوي CPU.
سيتم تعيينه تلقائيًا بواسطة bootstrap بناءً على وحدات المعالجة المركزية المكتشفة، أو يمكنك تجاوزها
UNICORN_WORKERS: 4
TODO: اسم النطاق الذي ستستجيب له هذه النسخة من Discourse
مطلوب. لن تعمل Discourse مع رقم IP عاري.
DISCOURSE_HOSTNAME: wordsmiths.digitalwind.net
قم بإلغاء التعليق إذا كنت تريد بدء تشغيل الحاوية بنفس
اسم المضيف (-h option) كما هو محدد أعلاه (الافتراضي “$hostname-$config”)
#DOCKER_USE_HOSTNAME: true
TODO: قائمة بالبريد الإلكتروني مفصولة بفواصل سيتم جعلها مسؤولة ومطورة
عند التسجيل الأولي مثال ‘user1@example.com,user2@example.com’
DISCOURSE_DEVELOPER_EMAILS: ‘xxx@dev.null’
TODO: خادم البريد SMTP المستخدم للتحقق من الحسابات الجديدة وإرسال الإشعارات
عنوان SMTP واسم المستخدم وكلمة المرور مطلوبة
تحذير الحرف ‘#’ في كلمة مرور SMTP يمكن أن يسبب مشاكل!
DISCOURSE_SMTP_ADDRESS: dev.null
DISCOURSE_SMTP_PORT: 587
DISCOURSE_SMTP_USER_NAME: xxx@dev.null
DISCOURSE_SMTP_PASSWORD: “not-here”
DISCOURSE_SMTP_OPENSSL_VERIFY_MODE: nope
#DISCOURSE_SMTP_ENABLE_START_TLS: true # (اختياري، الافتراضي صحيح)
DISCOURSE_SMTP_DOMAIN: dev.null
DISCOURSE_NOTIFICATION_EMAIL: xxx@dev.null
إذا أضفت قالب Lets Encrypt، قم بإلغاء التعليق أدناه للحصول على شهادة SSL مجانية
LETSENCRYPT_ACCOUNT_EMAIL: xxx@dev.null
عنوان CDN http أو https لهذه النسخة من Discourse (تم تكوينه للسحب)
انظر Enable a CDN for your Discourse للحصول على التفاصيل
#DISCOURSE_CDN_URL: https://discourse-cdn.example.com
مفتاح عنوان IP الخاص بـ maxmind geolocation للبحث عن عنوان IP
انظر Upgrade / Rebuilds Fail due to MaxMind DB EOL - #23 by sam للحصول على التفاصيل
#DISCOURSE_MAXMIND_LICENSE_KEY: 1234567890123456
الحاوية Docker عديمة الحالة؛ يتم تخزين جميع البيانات في /shared
volumes:
- volume:
host: /var/discourse/shared/standalone
guest: /shared - volume:
host: /var/discourse/shared/standalone/log/var-log
guest: /var/log
الإضافات هنا
انظر Install plugins on a self-hosted site للحصول على التفاصيل
hooks:
after_code:
- exec:
cd: $home/plugins
cmd:
- git clone GitHub - discourse/docker_manager: Plugin for use with discourse docker image
- git clone GitHub - discourse/discourse-data-explorer: SQL Queries for admins in Discourse
- git clone GitHub - discourse/discourse-topic-voting: Adds the ability for voting on a topic within a specified category in Discourse.
- git clone GitHub - discourse/wp-discourse: WordPress plugin that lets you use Discourse as the community engine for a WordPress blog
- git clone GitHub - discourse/discourse-spoiler-alert: A plugin for discourse to hide spoilers behind the spoiler-alert jQuery plugin
- git clone GitHub - discourse/discourse-bbcode-color: A Discourse Plugin to support BBCode color tags.
- git clone GitHub - discourse/discourse-calendar: Adds the ability to create a dynamic calendar in the first post of a topic.
- git clone GitHub - discourse/discourse-checklist: A simple checklist rendering plugin for discourse
- git clone GitHub - discourse/discourse-reactions: Moved to https://github.com/discourse/discourse/tree/main/plugins/discourse-reactions
- git clone GitHub - discourse/discourse-policy
أي أوامر مخصصة لتشغيلها بعد البناء
run:
- exec: echo “Beginning of custom commands”
إذا كنت ترغب في تعيين عنوان البريد الإلكتروني ‘من’ لتسجيلك الأول، قم بإلغاء التعليق والتغيير:
بعد الحصول على البريد الإلكتروني الأول للتسجيل، أعد التعليق على السطر. يحتاج إلى التشغيل مرة واحدة فقط.
#- exec: rails r “SiteSetting.notification_email=‘info@unconfigured.discourse.org’”
- exec: echo “End of custom commands”