Discourse_docker: مشاكل في التهيئة

تعلم كيفية نشر discourse على docker، محليًا، باتباع/باستخدام هذا المشروع. لا يمكنني العثور على أي “مشاكل” هناك، لذا أسأل هنا.

أعمل على مشروع packer ينشر المكدس بأكمله عبر ansible، الجهاز المستهدف هو جهاز افتراضي صغير محلي يعمل بنظام debian-12 حاليًا (docker-ce 28.2.2).

ملف app.yml قريب أكثر أو أقل من الافتراضي من المستودع. أنا فقط أضيف تسميات إلى الحاوية (التكامل مع traefik) وشيء من هذا القبيل. نفس ملف app.yml تم بناؤه بنجاح على خادم debian آخر.

الأمور تفشل عند ./launcher bootstrap app:

From https://github.com/discourse/discourse
 * branch              tests-passed -> FETCH_HEAD
 * [new branch]        tests-passed -> origin/tests-passed
I, [2025-06-19T15:01:57.466297 #1]  INFO -- : 
I, [2025-06-19T15:01:57.466503 #1]  INFO -- : > cd /var/www/discourse & git checkout tests-passed
Switched to a new branch 'tests-passed'
I, [2025-06-19T15:02:00.166283 #1]  INFO -- : Branch 'tests-passed' set up to track remote branch 'tests-passed' from 'origin'.

I, [2025-06-19T15:02:00.166430 #1]  INFO -- : > cd /var/www/discourse & mkdir -p tmp
I, [2025-06-19T15:02:00.173066 #1]  INFO -- : 
I, [2025-06-19T15:02:00.173236 #1]  INFO -- : > cd /var/www/discourse & chown discourse:www-data tmp
I, [2025-06-19T15:02:00.178867 #1]  INFO -- : 
I, [2025-06-19T15:02:00.178989 #1]  INFO -- : > cd /var/www/discourse & mkdir -p tmp/pids
I, [2025-06-19T15:02:00.183569 #1]  INFO -- : 
I, [2025-06-19T15:02:00.183662 #1]  INFO -- : > cd /var/www/discourse & mkdir -p tmp/sockets
I, [2025-06-19T15:02:00.189147 #1]  INFO -- : 
I, [2025-06-19T15:02:00.189258 #1]  INFO -- : > cd /var/www/discourse & touch tmp/.gitkeep
I, [2025-06-19T15:02:00.195217 #1]  INFO -- : 
I, [2025-06-19T15:02:00.195305 #1]  INFO -- : > cd /var/www/discourse & mkdir -p                    /shared/log/rails
I, [2025-06-19T15:02:00.200411 #1]  INFO -- : 
I, [2025-06-19T15:02:00.200507 #1]  INFO -- : > cd /var/www/discourse & bash -c "touch -a           /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.log"
I, [2025-06-19T15:02:00.208619 #1]  INFO -- : 
I, [2025-06-19T15:02:00.208771 #1]  INFO -- : > cd /var/www/discourse & bash -c "ln    -s           /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.log /var/www/discourse/log"
I, [2025-06-19T15:02:00.215673 #1]  INFO -- : 
I, [2025-06-19T15:02:00.215824 #1]  INFO -- : > cd /var/www/discourse & bash -c "mkdir -p           /shared/{uploads,backups}"
I, [2025-06-19T15:02:00.222167 #1]  INFO -- : 
I, [2025-06-19T15:02:00.222270 #1]  INFO -- : > cd /var/www/discourse & bash -c "ln    -s           /shared/{uploads,backups} /var/www/discourse/public"
I, [2025-06-19T15:02:00.229600 #1]  INFO -- : 
I, [2025-06-19T15:02:00.229707 #1]  INFO -- : > cd /var/www/discourse & bash -c "mkdir -p           /shared/tmp/{backups,restores}"
I, [2025-06-19T15:02:00.236308 #1]  INFO -- : 
I, [2025-06-19T15:02:00.236383 #1]  INFO -- : > cd /var/www/discourse & bash -c "ln    -s           /shared/tmp/{backups,restores} /var/www/discourse/tmp"
I, [2025-06-19T15:02:00.243571 #1]  INFO -- : 
I, [2025-06-19T15:02:00.243892 #1]  INFO -- : > cd /var/www/discourse & chown -R discourse:www-data /shared/log/rails /shared/uploads /shared/backups /shared/tmp
I, [2025-06-19T15:02:00.249403 #1]  INFO -- : 
I, [2025-06-19T15:02:00.249501 #1]  INFO -- : > cd /var/www/discourse & find public/plugins/ -maxdepth 1 -xtype l -delete
I, [2025-06-19T15:02:00.258481 #1]  INFO -- : 
I, [2025-06-19T15:02:00.258881 #1]  INFO -- : Replacing # redis with sv start redis || exit 1 in /etc/service/unicorn/run
I, [2025-06-19T15:02:00.259572 #1]  INFO -- : > cd /var/www/discourse/plugins & git clone https://github.com/discourse/docker_manager.git
Cloning into 'docker_manager'...
I, [2025-06-19T15:02:02.757529 #1]  INFO -- : 
I, [2025-06-19T15:02:02.757835 #1]  INFO -- : > cp /var/www/discourse/config/nginx.sample.conf /etc/nginx/conf.d/discourse.conf
I, [2025-06-19T15:02:02.764975 #1]  INFO -- : 
I, [2025-06-19T15:02:02.765341 #1]  INFO -- : > rm /etc/nginx/sites-enabled/default
I, [2025-06-19T15:02:02.771575 #1]  INFO -- : 
I, [2025-06-19T15:02:02.771778 #1]  INFO -- : > mkdir -p /var/nginx/cache
I, [2025-06-19T15:02:02.775586 #1]  INFO -- : 
I, [2025-06-19T15:02:02.776449 #1]  INFO -- : Replacing pid /run/nginx.pid; with daemon off; in /etc/nginx/nginx.conf
I, [2025-06-19T15:02:02.776770 #1]  INFO -- : Replacing (?m-ix:upstream[^\\}]+\\}) with upstream discourse { server 127.0.0.1:3000; } in /etc/nginx/conf.d/discourse.conf
I, [2025-06-19T15:02:02.777222 #1]  INFO -- : Replacing (?-mix:server_name.+$) with server_name _ ; in /etc/nginx/conf.d/discourse.conf
I, [2025-06-19T15:02:02.777470 #1]  INFO -- : Replacing (?-mix:client_max_body_size.+$) with client_max_body_size $upload_size ; in /etc/nginx/conf.d/discourse.conf
I, [2025-06-19T15:02:02.777812 #1]  INFO -- : > echo "done configuring web"
I, [2025-06-19T15:02:02.781599 #1]  INFO -- : done configuring web

I, [2025-06-19T15:02:02.781828 #1]  INFO -- : > cd /var/www/discourse & gem install bundler --conservative -v $(awk '/BUNDLED WITH/ { getline; gsub(/ /,""); print $0 }' Gemfile.lock)
ERROR:  Error installing bundler:
	bundler-2.6.4 requires Ruby version >= 3.1.0. The current ruby version is 2.7.2.137.
I, [2025-06-19T15:02:03.280749 #1]  INFO -- : 
I, [2025-06-19T15:02:03.281100 #1]  INFO -- : Terminating async processes
I, [2025-06-19T15:02:03.281175 #1]  INFO -- : Sending INT to HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/13/bin/postmaster -D /etc/postgresql/13/main pid: 60
I, [2025-06-19T15:02:03.281235 #1]  INFO -- : Sending TERM to exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 177
177:signal-handler (1750345323) Received SIGTERM scheduling shutdown...
2025-06-19 15:02:03.281 UTC [60] LOG:  received fast shutdown request
2025-06-19 15:02:03.309 UTC [60] LOG:  aborting any active transactions
2025-06-19 15:02:03.311 UTC [60] LOG:  background worker "logical replication launcher" (PID 69) exited with exit code 1
2025-06-19 15:02:03.312 UTC [60] LOG:  shutting down
177:M 19 Jun 2025 15:02:03.324 # User requested shutdown...
177:M 19 Jun 2025 15:02:03.324 * Saving the final RDB snapshot before exiting.
177:M 19 Jun 2025 15:02:03.347 * DB saved on disk
177:M 19 Jun 2025 15:02:03.347 # Redis is now ready to exit, bye bye...
2025-06-19 15:02:03.493 UTC [60] LOG:  database system is shut down


FAILED
--------------------
Pups::ExecError: cd /var/www/discourse & gem install bundler --conservative -v $(awk '/BUNDLED WITH/ { getline; gsub(/ /,""); print $0 }' Gemfile.lock) failed with return #<Process::Status: pid 315 exit 1>
Location of failure: /pups/lib/pups/exec_command.rb:112:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"web", "cmd"=>["gem install bundler --conservative -v $(awk '/BUNDLED WITH/ { getline; gsub(/ /,\\\"\\\"); print $0 }' Gemfile.lock)", "find $home ! -user discourse -exec chown discourse {} \\+"]}
3539ee62a81cc2a309d4bfcf4fc6049bd70749d8f7c87bd2bf634eaf33fa4b7b
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.

أي تلميحات حول كيفية إصلاح ذلك؟ المساعدة محل تقدير…

مع خالص التقدير، ستيفان

تعديل: زدت ذاكرة الوصول العشوائي (RAM) إلى 8 جيجابايت، لم يغير الوضع

هل يتمتع جهازك الافتراضي المحلي (VM) بوصول كامل للإنترنت و HTTPS؟

التثبيت المحلي العادي هو #تثبيت-التطوير.

وإلا، استخدم التثبيت القياسي للإنتاج.

4 إعجابات

الجهاز الافتراضي متصل بالكامل، نعم. على الرغم من أنه لا يمكن الوصول إليه بعد من الخارج عبر اسم نطاق مؤهل بالكامل (FQDN) عامل، أو سجل DNS، أو عنوان IP ثابت. إذا كان ذلك يهم للتمهيد (bootstrapping) (كنت قد افترضت، لا).

يفشل عند هذا السطر

ألا يتعلق ذلك ربما بحقيقة أن المستخدم discourse غير موجود على مضيف docker …؟ … ربما …؟ أم أنه داخل حاوية discourse؟

أتلقى نفس الخطأ على مضيف مختلف تمامًا.

هذا لديه اسم نطاق مؤهل بالكامل (FQDN) يعمل ويشير إلى الخادم وما إلى ذلك

حسناً، لقد “حللت” ذلك. بطريقة ما، لم يتم سحب git checkout بشكل صحيح وكان يستخدم مزيجًا قديمًا غريبًا من الصور والإعدادات.
أعدت السحب، وأبدأ من جديد. أعتقد أنه يجب أن أتمكن من التقدم الآن. شكراً

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

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.