Discourse_docker: problemas con el arranque

Aprendiendo a desplegar Discourse en Docker, en las instalaciones, siguiendo/usando este proyecto. No encuentro ningún “Issues” allí, así que pregunto aquí.

Trabajo en un proyecto de packer desplegando toda la pila a través de Ansible, la máquina de destino es una pequeña VM local Debian-12 en este momento (docker-ce 28.2.2).

El archivo app.yml está más o menos cerca del predeterminado del repositorio. Solo agrego etiquetas al contenedor (integración con traefik) y algo así. El mismo app.yml se compiló bien en otro servidor Debian.

Las cosas fallan en ./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 -- : cd /var/www/discourse && 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.

¿Alguna pista sobre cómo solucionar esto? Ayuda apreciada…

Saludos, Stefan

EDIT: Aumenté la RAM a 8 GB, no cambió la situación.

¿Su VM local tiene acceso completo a internet y https?

La instalación local normal es dev-install

De lo contrario, use la instalación estándar para producción.

4 Me gusta

La VM está completamente en línea, sí. Aunque aún no es accesible desde el exterior a través de un FQDN funcional, registro DNS, IP estática. Si eso importa para el arranque (había asumido que no).

falla en esta línea

¿No se relaciona eso quizás con el hecho de que el usuario discourse no existe en el host de docker…? … ¿quizás…? ¿O está eso dentro del contenedor de discourse?

Obtengo el mismo error en un host completamente diferente.

Este tiene un FQDN que funciona y apunta al servidor, etc.

OK, “solucioné” eso. De alguna manera, el git checkout no hizo pull correctamente y estaba usando una extraña combinación antigua de imagen y configuración.

Volví a hacer pull, empezando de nuevo. Creo que ahora podré avanzar. Gracias.

1 me gusta

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