Ich lerne, Discourse auf Docker, On-Premise, bereitzustellen, indem ich diesem Projekt folge/es benutze. Ich kann dort keine “Issues” finden, also frage ich hier.
Ich arbeite an einem Packer-Projekt, das den gesamten Stack über Ansible bereitstellt. Die Zielmaschine ist derzeit eine kleine lokale Debian-12-VM (docker-ce 28.2.2).
Die app.yml ist mehr oder weniger nah am Standard aus dem Repository. Ich füge nur Labels zum Container hinzu (Integration mit Traefik) und so etwas. Dieselbe app.yml wurde auf einem anderen Debian-Server problemlos erstellt.
Die Dinge schlagen bei ./launcher bootstrap app fehl:
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.
Irgendwelche Hinweise, wie das zu beheben ist? Hilfe wird geschätzt…
Viele Grüße, Stefan
EDIT: RAM auf 8 GB erhöht, hat die Situation nicht verändert.