Apprentissage du déploiement de Discourse sur Docker, sur site, en suivant/utilisant ce projet. Je n’y trouve pas de section « Issues », alors je demande ici.
Je travaille sur un projet Packer déployant toute la pile via Ansible, la machine cible est actuellement une petite VM Debian-12 locale (docker-ce 28.2.2).
Le fichier app.yml est plus ou moins proche de la version par défaut du dépôt. J’y ajoute seulement des labels pour le conteneur (intégration avec Traefik) et des choses similaires. Le même app.yml a été compilé sans problème sur un autre serveur Debian.
Les choses échouent lors de l’exécution de ./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.
Des indices sur la façon de résoudre ce problème ? Aide appréciée…
Cordialement, Stefan
EDIT : J’ai augmenté la RAM à 8 Go, cela n’a pas changé la situation.