أتلقى خطأ متعلقًا بعنوان mac ولا يوجد عنوان mac في سطر الأوامر:
# ./launcher start app
x86_64 arch detected.
+ /data/docker-discourse/docker run --shm-size=512m -d --restart=always -h myhost-app -e DOCKER_HOST_IP=172.17.0.1 --name app -t --mac-address local_discourse/app /sbin/boot
docker: local_discourse/app is not a valid mac address.
See 'docker run --help'.
لا أعرف لماذا لم تتم إضافة عنوان MAC.
لقد قمت بتشغيل ./launcher start app --skip-mac-address
لا يوجد خطأ ولكن يبدو أنه لم يتم إدراج أي منفذ، لذا لا يمكن الوصول إلى التطبيق:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7f269e451af9 local_discourse/app \"/sbin/boot\" 28 seconds ago Up 28 seconds app
بالتأكيد، لقد نسخت أدناه محتوى containers/app.yml بعد استبدال بعض المعلومات السرية بـ xxxxx.
## هذا هو قالب حاوية 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"
## ما هي منافذ TCP/IP التي يجب أن تعرضها هذه الحاوية؟
## إذا كنت تريد أن تشارك Discourse منفذًا مع خادم ويب آخر مثل Apache أو nginx،
## انظر https://meta.discourse.org/t/17247 للحصول على التفاصيل
expose:
- "127.0.0.1:8009:80" # http
# - "443:443" # https
params:
db_default_text_search_config: "pg_catalog.english"
## قم بتعيين db_shared_buffers إلى 25% كحد أقصى من الذاكرة الإجمالية.
## سيتم تعيينه تلقائيًا بواسطة bootstrap بناءً على الذاكرة العشوائية المكتشفة، أو يمكنك تجاوزه
db_shared_buffers: "4096MB"
## يمكن أن يحسن أداء الفرز، ولكنه يضيف استخدام الذاكرة لكل اتصال
#db_work_mem: "40MB"
## أي مراجعة Git يجب أن تستخدمها هذه الحاوية؟ (الافتراضي: tests-passed)
#version: tests-passed
env:
LANG: en_US.UTF-8
# DISCOURSE_DEFAULT_LOCALE: en
## كم عدد طلبات الويب المتزامنة التي يتم دعمها؟ يعتمد على الذاكرة ووحدات المعالجة المركزية.
## سيتم تعيينه تلقائيًا بواسطة bootstrap بناءً على وحدات المعالجة المركزية المكتشفة، أو يمكنك تجاوزه
UNICORN_WORKERS: 8
## TODO: اسم النطاق الذي ستستجيب له هذه النسخة من Discourse
## مطلوب. لن تعمل Discourse برقم IP عادي.
DISCOURSE_HOSTNAME: discourse.xxxxxxxxx.xxx
## قم بإلغاء التعليق إذا كنت تريد بدء تشغيل الحاوية بنفس
## اسم المضيف (-h option) كما هو محدد أعلاه (الافتراضي "$hostname-$config")
#DOCKER_USE_HOSTNAME: true
## TODO: قائمة بالبريد الإلكتروني مفصولة بفواصل سيتم جعلها مسؤولة ومطورة
## عند التسجيل الأولي مثال 'user1@example.com,user2@example.com'
DISCOURSE_DEVELOPER_EMAILS: 'contact@xxxxxxxxx.xxx'
## TODO: خادم البريد SMTP المستخدم للتحقق من الحسابات الجديدة وإرسال الإشعارات
# عنوان SMTP واسم المستخدم وكلمة المرور مطلوبة
# تحذير الحرف '#' في كلمة مرور SMTP يمكن أن يسبب مشاكل!
DISCOURSE_SMTP_ADDRESS: mail.xxxxxxxxx.xxx
DISCOURSE_SMTP_PORT: 587
DISCOURSE_SMTP_USER_NAME: contact@xxxxxxxxx.xxx
DISCOURSE_SMTP_PASSWORD: "xxxxxxxxxxxx"
#DISCOURSE_SMTP_ENABLE_START_TLS: true # (اختياري، الافتراضي صحيح)
## إذا أضفت قالب 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
## الحاوية Docker عديمة الحالة؛ يتم تخزين جميع البيانات في /shared
volumes:
- volume:
host: /data/hosting/data-discourse
guest: /shared
- volume:
host: /data/hosting/data-discourse/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"
## إذا كنت تريد تعيين عنوان البريد الإلكتروني 'من' لتسجيلك الأول، قم بإلغاء التعليق والتغيير:
## بعد الحصول على البريد الإلكتروني الأول للتسجيل، أعد التعليق على السطر. يحتاج فقط إلى التشغيل مرة واحدة.
#- exec: rails r "SiteSetting.notification_email='info@unconfigured.discourse.org'"
- exec: echo "End of custom commands"
هل تقوم بتشغيل وكيل عكسي إضافي على المضيف؟ في هذه الحالة، قد تفضل الاستماع إلى مقبس يونكس (unix socket) عن طريق إضافة web.socketed.template.yml في قائمة القوالب في الأعلى.
لقد قمت بتغيير الإكسبوز وإعادة البناء ولكن لا تزال المشكلة كما هي.
أقوم بتشغيل Haproxy كوكيل عكسي للتعامل مع اتصال HTTPS بـ Discourse. إنه يعمل كما هو لأكثر من عامين مع العديد من الترقيات بالفعل.