هل تحاول تثبيت Discourse على Docker قبل الخادم فقط لاختبار البرنامج؟

أهلاً،

أحاول اختبار حاوية دوكر لبرنامج discourse لأنني قيل لي إنه يأتي مع postsql، وأن جميع قواعد البيانات تم تكوينها وجاهزة للاستخدام. bitnami:discourse:latest من دوكر… أرى هذا في جهازي الطرفي


1. [Containers](app://dd/dashboard/containers)
2. /
3. tester

### tester

[bitnami/discourse:latest](app://dd/dashboard/images/local/details?imageId=sha256%3Aad71ab26c224ab1d50f4f57ec5ddbc7a549ff331f3cf442860307358d59f79d5&nameHint=bitnami%2Fdiscourse%3Alatest&nameHintType=image-identity)

440:3000

**STATUS**

Exited (1) (0 seconds ago)

LogsInspectBind mountsExecFilesStats

2025-05-16 15:43:26

discourse 19:43:26.78 INFO ==>

2025-05-16 15:43:26

discourse 19:43:26.79 INFO ==> Welcome to the Bitnami discourse container

2025-05-16 15:43:26

discourse 19:43:26.79 INFO ==> Subscribe to project updates by watching [https://github.com/bitnami/containers⁠](https://github.com/bitnami/containers)

2025-05-16 15:43:26

discourse 19:43:26.79 INFO ==> Did you know there are enterprise versions of the Bitnami catalog? For enhanced secure software supply chain features, unlimited pulls from Docker, LTS support, or application customization, see Bitnami Premium or Tanzu Application Catalog. See [https://www.arrow.com/globalecs/na/vendors/bitnami/⁠](https://www.arrow.com/globalecs/na/vendors/bitnami/) for more information.

2025-05-16 15:43:26

discourse 19:43:26.79 INFO ==>

2025-05-16 15:43:26

discourse 19:43:26.80 INFO ==> Validating settings in POSTGRESQL_CLIENT_* env vars

2025-05-16 15:43:26

discourse 19:43:26.85 WARN ==> Hostname postgresql could not be resolved, this could lead to connection issues

2025-05-16 15:43:26

discourse 19:43:26.86 WARN ==> Hostname redis could not be resolved, this could lead to connection issues

2025-05-16 15:43:26

discourse 19:43:26.86 WARN ==> The DISCOURSE_DATABASE_PASSWORD environment variable is empty or not set. Set the environment variable ALLOW_EMPTY_PASSWORD=yes to allow a blank password. This is only recommended for development environments.

2025-05-16 15:43:26

discourse 19:43:26.86 WARN ==> The DISCOURSE_REDIS_PASSWORD environment variable is empty or not set. Set the environment variable ALLOW_EMPTY_PASSWORD=yes to allow a blank password. This is only recommended for development environments.

2025-05-16 15:43:26

discourse 19:43:26.86 INFO ==> Creating Discourse configuration file

2025-05-16 15:43:26

discourse 19:43:26.90 INFO ==> Ensuring Discourse directories exist

2025-05-16 15:43:26

discourse 19:43:26.91 INFO ==> Trying to connect to the database server

2025-05-16 15:44:27

discourse 19:44:27.12 ERROR ==> Could not connect to the database

هل يعرف أحد ما يجب فعله حيث كنت أعتقد أن قواعد البيانات تم تكوينها عند التشغيل الأول؟ هل لدى أي شخص كتاب git أو دليل يمكن استخدامه لمعرفة ذلك، أعرف أنه طرف ثالث ويجب تثبيته مباشرة على جهاز، فهل سيعمل هذا من حاوية دوكر لنظام تشغيل فارغ مثل دبيان؟

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

ما هي أفضل طريقة باستخدام دوكر؟

عند تشغيله عبر جهازي الطرفي، عالق في هذه الشاشة ولا يمكنني العثور على أي نصوص برمجية لـ discourse، في الواقع المجلد بأكمله فارغ؟ تحت bin


alex@PollockFarm Scripts % docker run -ti --rm bitnami/discourse /bin/bash

discourse 19:43:37.88 INFO ==>

discourse 19:43:37.88 INFO ==> **Welcome to the Bitnami discourse container**

discourse 19:43:37.88 INFO ==> Subscribe to project updates by watching **https://github.com/bitnami/containers**

discourse 19:43:37.89 INFO ==> Did you know there are enterprise versions of the Bitnami catalog? For enhanced secure software supply chain features, unlimited pulls from Docker, LTS support, or application customization, see Bitnami Premium or Tanzu Application Catalog. See https://www.arrow.com/globalecs/na/vendors/bitnami/ for more information.

discourse 19:43:37.89 INFO ==>

شكرا
أليكس

نحن لا ندعم Bitnami هنا، استخدم منتدياتهم.

إذا كنت ترغب في الحصول على دعم هنا، استخدم التثبيت القياسي.

إعجابَين (2)

آه، شكرًا لك على ردك السريع @merefield، هل يمكنك اقتراح الرابط المباشر لمنتداهم أو الوسيلة التي يستخدمونها للتواصل حول هذه المشاكل؟

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

إعجاب واحد (1)

لقد قدمت رابطًا في منشوري :slight_smile:

إعجاب واحد (1)

أحب مدى سرعة عمل هذا! أنا حقًا أتعمق في Discourse.

شكرًا مرة أخرى! @merefield.

تم تعديل التعليمات خطوة بخطوة لصورة Docker:

https://hub.docker.com/r/bitnami/discourse

الطريقة الموصى بها للحصول على صورة Bitnami Discourse Docker هي سحب الصورة المعدة مسبقًا من Docker Hub Registry.

docker pull bitnami/discourse:latest

لاستخدام إصدار معين، يمكنك سحب علامة إصدار. يمكنك عرض قائمة الإصدارات المتاحة في Docker Hub Registry.

docker pull bitnami/discourse:[TAG]

إذا كنت ترغب في ذلك، يمكنك أيضًا بناء الصورة بنفسك عن طريق استنساخ المستودع، والانتقال إلى الدليل الذي يحتوي على Dockerfile وتنفيذ أمر docker build. تذكر استبدال العناصر النائبة للمسار APP و VERSION و OPERATING-SYSTEM في مثال الأمر أدناه بالقيم الصحيحة.

git clone https://github.com/bitnami/containers.git
cd bitnami/APP/VERSION/OPERATING-SYSTEM
docker build -t bitnami/APP:latest .

كيفية استخدام هذه الصورة

يتطلب Discourse الوصول إلى قاعدة بيانات PostgreSQL لتخزين المعلومات. سنستخدم صورة Bitnami Docker لـ PostgreSQL⁠ لمتطلبات قاعدة البيانات.

استخدام سطر أوامر Docker

الخطوة 1: إنشاء شبكة

docker network create discourse-network

الخطوة 2: إنشاء وحدة تخزين لاستمرارية PostgreSQL وإنشاء حاوية PostgreSQL

$ docker volume create --name postgresql_data
docker run -d --name postgresql \
  --env ALLOW_EMPTY_PASSWORD=yes \
  --env POSTGRESQL_USERNAME=bn_discourse \
  --env POSTGRESQL_PASSWORD=bitnami123 \
  --env POSTGRESQL_DATABASE=bitnami_discourse \
  --network discourse-network \
  --volume postgresql_data:/bitnami/postgresql \
  bitnami/postgresql:latest

الخطوة 3: إنشاء وحدة تخزين لاستمرارية Redis وإنشاء حاوية Redis

$ docker volume create --name redis_data
docker run -d --name redis \
  --env ALLOW_EMPTY_PASSWORD=yes \
  --network discourse-network \
  --volume redis_data:/bitnami/redis \
  bitnami/redis:latest

الخطوة 4: إنشاء وحدات تخزين لاستمرارية Discourse وتشغيل الحاوية

$ docker volume create --name discourse_data
docker run -d --name discourse \
  -p 8080:8080 -p 8443:8443 \
  --env ALLOW_EMPTY_PASSWORD=yes \
  --env DISCOURSE_DATABASE_USER=bn_discourse \
  --env DISCOURSE_DATABASE_PASSWORD=bitnami123 \
  --env DISCOURSE_DATABASE_NAME=bitnami_discourse \
  --env DISCOURSE_HOST=www.example.com \
  --network discourse-network \
  --volume discourse_data:/bitnami/discourse \
  bitnami/discourse:latest

الخطوة 5: تشغيل حاوية Sidekiq

docker run -d --name sidekiq \
  --network discourse-network \
  --volume discourse_data:/bitnami/discourse \
  bitnami/discourse:latest /opt/bitnami/scripts/discourse-sidekiq/run.sh

الوصول إلى تطبيقك على http://your-ip/

تشغيل التطبيق باستخدام Docker Compose
curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/discourse/docker-compose.yml > docker-compose.yml
docker-compose up -d

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

إذا اكتشفت أي مشكلة في ملف docker-compose.yaml، فلا تتردد في الإبلاغ عنها أو المساهمة في إصلاحها باتباع إرشادات المساهمة⁠.

استكشاف أخطاء Discourse وإصلاحها

إذا كنت بحاجة إلى تشغيل أوامر إدارة Discourse مثل إنشاء حساب مسؤول من وحدة التحكم⁠، يمكنك القيام بذلك عن طريق تنفيذ shell داخل الحاوية وتشغيلها مع متغيرات البيئة المناسبة.

cd /opt/bitnami/discourse
RAILS_ENV=production bundle exec rake admin:create
إعجابَين (2)

أهلاً بك يا @alex.diker ومرحباً بك في ميتا :slight_smile:

إعجاب واحد (1)

الطريقة الموصى بها هي اتباع تعليمات التثبيت وإزالة القوالب لـ postgres و redis وإضافة إعدادات قاعدة البيانات في متغيرات البيئة.

إعداد الحاوية المزدوجة (الذي يمكنك الحصول عليه عن طريق إضافة مفتاح تبديل إلى discourse-setup) هو طريقة سهلة لمعرفة كيفية الحصول على متغيرات البيئة.

الميزة مقارنة بـ Bitnami هي أنه يمكنك الحصول على المساعدة هنا وتثبيت الإضافات باتباع التعليمات القياسية.