./launcher rebuild app error: bootstrap failed with exit code 234

The update of discourse via ./launcher rebuild app fails with following output:

x86_64 arch detected.
Ensuring launcher is up to date
Fetching origin
Launcher is up-to-date
Stopping old container
+ /usr/bin/docker stop -t 600 app
app
2.0.20250129-0720: Pulling from discourse/base
Digest: sha256:01b8516e5504c0e9bc3707773015ff4407be03a89154194ff3b5b8699291bc26
Status: Image is up to date for discourse/base:2.0.20250129-0720
docker.io/discourse/base:2.0.20250129-0720
/usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups.rb
/usr/local/bin/pups --stdin
I, [2025-02-23T13:57:37.228548 #1]  INFO -- : Reading from stdin
I, [2025-02-23T13:57:37.239599 #1]  INFO -- : File > /etc/service/postgres/run  chmod: +x  cho
wn: 
I, [2025-02-23T13:57:37.243003 #1]  INFO -- : File > /etc/service/postgres/log/run  chmod: +x 
 chown: 
I, [2025-02-23T13:57:37.246170 #1]  INFO -- : File > /etc/runit/3.d/99-postgres  chmod: +x  ch
own: 
I, [2025-02-23T13:57:37.249455 #1]  INFO -- : File > /root/install_postgres  chmod: +x  chown:
 
I, [2025-02-23T13:57:37.252447 #1]  INFO -- : File > /root/upgrade_postgres  chmod: +x  chown:
 
I, [2025-02-23T13:57:37.252768 #1]  INFO -- : Replacing data_directory = '/var/lib/postgresql/
15/main' with data_directory = '/shared/postgres_data' in /etc/postgresql/15/main/postgresql.c
onf
I, [2025-02-23T13:57:37.440507 #1]  INFO -- : Replacing (?-mix:#?listen_addresses *=.*) with l
isten_addresses = '*' in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-23T13:57:37.440880 #1]  INFO -- : Replacing (?-mix:#?synchronous_commit *=.*) with
 synchronous_commit = $db_synchronous_commit in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-23T13:57:37.441239 #1]  INFO -- : Replacing (?-mix:#?shared_buffers *=.*) with sha
red_buffers = $db_shared_buffers in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-23T13:57:37.441541 #1]  INFO -- : Replacing (?-mix:#?work_mem *=.*) with work_mem 
= $db_work_mem in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-23T13:57:37.441851 #1]  INFO -- : Replacing (?-mix:#?default_text_search_config *=
.*) with default_text_search_config = '$db_default_text_search_config' in /etc/postgresql/15/m
ain/postgresql.conf
I, [2025-02-23T13:57:37.442167 #1]  INFO -- : Replacing (?-mix:#?checkpoint_segments *=.*) wit
h checkpoint_segments = $db_checkpoint_segments in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-23T13:57:37.445665 #1]  INFO -- : Replacing (?-mix:#?logging_collector *=.*) with 
logging_collector = $db_logging_collector in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-23T13:57:37.446205 #1]  INFO -- : Replacing (?-mix:#?log_min_duration_statement *=
.*) with log_min_duration_statement = $db_log_min_duration_statement in /etc/postgresql/15/mai
n/postgresql.conf
I, [2025-02-23T13:57:37.446558 #1]  INFO -- : Replacing (?-mix:^#local +replication +postgres 
+peer$) with local replication postgres  peer in /etc/postgresql/15/main/pg_hba.conf
I, [2025-02-23T13:57:37.657721 #1]  INFO -- : Replacing (?-mix:^host.*all.*all.*127.*$) with h
ost all all 0.0.0.0/0 md5 in /etc/postgresql/15/main/pg_hba.conf
I, [2025-02-23T13:57:37.658015 #1]  INFO -- : Replacing (?-mix:^host.*all.*all.*::1\/128.*$) w
ith host all all ::/0 md5 in /etc/postgresql/15/main/pg_hba.conf
I, [2025-02-23T13:57:37.658265 #1]  INFO -- : > if [ -f /root/install_postgres ]; then
  /root/install_postgres && rm -f /root/install_postgres
elif [ -e /shared/postgres_run/.s.PGSQL.5432 ]; then
  socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres a
lready running stop container ; exit 1
fi

I, [2025-02-23T14:00:39.168878 #1]  INFO -- : Generating locales (this might take a while)...
  en_US.UTF-8... done
Generation complete.

I, [2025-02-23T14:00:39.169118 #1]  INFO -- : > HOME=/var/lib/postgresql USER=postgres exec ch
pst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/15/bin/pos
tmaster -D /etc/postgresql/15/main
I, [2025-02-23T14:00:39.173972 #1]  INFO -- : File > /usr/local/bin/create_db  chmod: +x  chow
n: 
I, [2025-02-23T14:00:39.178706 #1]  INFO -- : File > /var/lib/postgresql/take-database-backup 
 chmod: +x  chown: postgres:postgres
I, [2025-02-23T14:00:39.181157 #1]  INFO -- : File > /var/spool/cron/crontabs/postgres  chmod:
   chown: 
I, [2025-02-23T14:00:39.181339 #1]  INFO -- : > sleep 5
2025-02-23 14:00:39.224 UTC [42] LOG:  starting PostgreSQL 15.10 (Debian 15.10-1.pgdg120+1) on
 x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14) 12.2.0, 64-bit
2025-02-23 14:00:39.225 UTC [42] LOG:  listening on IPv4 address "0.0.0.0", port 5432
2025-02-23 14:00:39.225 UTC [42] LOG:  listening on IPv6 address "::", port 5432
2025-02-23 14:00:39.237 UTC [42] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.
5432"
2025-02-23 14:00:39.255 UTC [53] LOG:  database system was shut down at 2025-02-23 13:50:51 UT
C
2025-02-23 14:00:39.265 UTC [42] LOG:  database system is ready to accept connections
I, [2025-02-23T14:00:44.183099 #1]  INFO -- : 
I, [2025-02-23T14:00:44.183251 #1]  INFO -- : > /usr/local/bin/create_db
2025-02-23 14:00:44.245 UTC [60] postgres@postgres ERROR:  database "discourse" already exists
2025-02-23 14:00:44.245 UTC [60] postgres@postgres STATEMENT:  CREATE DATABASE discourse;
createdb: error: database creation failed: ERROR:  database "discourse" already exists
2025-02-23 14:00:44.305 UTC [63] postgres@discourse ERROR:  role "discourse" already exists
2025-02-23 14:00:44.305 UTC [63] postgres@discourse STATEMENT:  create user discourse;
ERROR:  role "discourse" already exists
NOTICE:  extension "hstore" already exists, skipping
NOTICE:  extension "pg_trgm" already exists, skipping
NOTICE:  extension "vector" already exists, skipping
NOTICE:  version "0.8.0" of extension "vector" is already installed
NOTICE:  extension "hstore" already exists, skipping
NOTICE:  extension "pg_trgm" already exists, skipping
NOTICE:  extension "vector" already exists, skipping
NOTICE:  version "0.8.0" of extension "vector" is already installed
I, [2025-02-23T14:00:44.919371 #1]  INFO -- : GRANT
ALTER SCHEMA
CREATE EXTENSION
CREATE EXTENSION
CREATE EXTENSION
ALTER EXTENSION
CREATE EXTENSION
CREATE EXTENSION
CREATE EXTENSION
ALTER EXTENSION
UPDATE 0

I, [2025-02-23T14:00:44.919485 #1]  INFO -- : > echo postgres installed!
I, [2025-02-23T14:00:44.921215 #1]  INFO -- : postgres installed!

I, [2025-02-23T14:00:44.924527 #1]  INFO -- : File > /etc/service/redis/run  chmod: +x  chown:
 
I, [2025-02-23T14:00:44.927857 #1]  INFO -- : File > /etc/service/redis/log/run  chmod: +x  ch
own: 
I, [2025-02-23T14:00:44.931110 #1]  INFO -- : File > /etc/runit/3.d/10-redis  chmod: +x  chown
: 
I, [2025-02-23T14:00:44.931473 #1]  INFO -- : Replacing daemonize yes with  in /etc/redis/redi
s.conf
I, [2025-02-23T14:00:45.155642 #1]  INFO -- : Replacing (?-mix:^pidfile.*$) with  in /etc/redi
s/redis.conf
I, [2025-02-23T14:00:45.156000 #1]  INFO -- : > install -d -m 0755 -o redis -g redis /shared/r
edis_data
I, [2025-02-23T14:00:45.158306 #1]  INFO -- : 
I, [2025-02-23T14:00:45.158630 #1]  INFO -- : Replacing (?-mix:^logfile.*$) with logfile "" in
 /etc/redis/redis.conf
I, [2025-02-23T14:00:45.159059 #1]  INFO -- : Replacing (?-mix:^bind .*$) with  in /etc/redis/
redis.conf
I, [2025-02-23T14:00:45.159470 #1]  INFO -- : Replacing (?-mix:^dir .*$) with dir /shared/redi
s_data in /etc/redis/redis.conf
I, [2025-02-23T14:00:45.159932 #1]  INFO -- : Replacing (?-mix:^protected-mode yes) with prote
cted-mode no in /etc/redis/redis.conf
I, [2025-02-23T14:00:45.160305 #1]  INFO -- : Replacing # io-threads 4 with io-threads $redis_
io_threads in /etc/redis/redis.conf
I, [2025-02-23T14:00:45.160642 #1]  INFO -- : > echo redis installed
I, [2025-02-23T14:00:45.162058 #1]  INFO -- : redis installed

I, [2025-02-23T14:00:45.162196 #1]  INFO -- : > cat /etc/redis/redis.conf | grep logfile
I, [2025-02-23T14:00:45.164878 #1]  INFO -- : logfile ""

I, [2025-02-23T14:00:45.165018 #1]  INFO -- : > exec chpst -u redis -U redis /usr/bin/redis-se
rver /etc/redis/redis.conf
I, [2025-02-23T14:00:45.166157 #1]  INFO -- : > sleep 10
109:C 23 Feb 2025 14:00:45.173 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
109:C 23 Feb 2025 14:00:45.173 # Redis version=7.0.15, bits=64, commit=00000000, modified=0, p
id=109, just started
109:C 23 Feb 2025 14:00:45.173 # Configuration loaded
109:M 23 Feb 2025 14:00:45.174 * monotonic clock: POSIX clock_gettime
109:M 23 Feb 2025 14:00:45.174 * Running mode=standalone, port=6379.
109:M 23 Feb 2025 14:00:45.174 # Server initialized
109:M 23 Feb 2025 14:00:45.174 # WARNING Memory overcommit must be enabled! Without it, a back
ground save or replication may fail under low memory condition. Being disabled, it can can als
o cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues
/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or
 run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
109:M 23 Feb 2025 14:00:45.175 * Loading RDB produced by version 7.0.15
109:M 23 Feb 2025 14:00:45.175 * RDB age 594 seconds
109:M 23 Feb 2025 14:00:45.175 * RDB memory usage when created 1.93 Mb
109:M 23 Feb 2025 14:00:45.179 * Done loading RDB, keys loaded: 1587, keys expired: 0.
109:M 23 Feb 2025 14:00:45.179 * DB loaded from disk: 0.005 seconds
109:M 23 Feb 2025 14:00:45.179 * Ready to accept connections
I, [2025-02-23T14:00:55.167739 #1]  INFO -- : 
I, [2025-02-23T14:00:55.167969 #1]  INFO -- : > thpoff echo "thpoff is installed!"
I, [2025-02-23T14:00:55.170853 #1]  INFO -- : thpoff is installed!

I, [2025-02-23T14:00:55.171140 #1]  INFO -- : > /usr/local/bin/ruby -e 'if ENV["DISCOURSE_SMTP
_ADDRESS"] == "smtp.example.com"; puts "Aborting! Mail is not configured!"; exit 1; end'
I, [2025-02-23T14:00:55.261142 #1]  INFO -- : 
I, [2025-02-23T14:00:55.261282 #1]  INFO -- : > /usr/local/bin/ruby -e 'if ENV["DISCOURSE_HOST
NAME"] == "discourse.example.com"; puts "Aborting! Domain is not configured!"; exit 1; end'
I, [2025-02-23T14:00:55.261142 #1]  INFO -- : 
I, [2025-02-23T14:00:55.261282 #1]  INFO -- : > /usr/local/bin/ruby -e 'if ENV["DISCOURSE_HOST
NAME"] == "discourse.example.com"; puts "Aborting! Domain is not configured!"; exit 1; end'
I, [2025-02-23T14:00:55.353653 #1]  INFO -- : 
I, [2025-02-23T14:00:55.353790 #1]  INFO -- : > /usr/local/bin/ruby -e 'if (ENV["DISCOURSE_CDN
_URL"] || "")[0..1] == "//"; puts "Aborting! CDN must have a protocol specified. Once fixed yo
u should rebake your posts now to correct all posts."; exit 1; end'
I, [2025-02-23T14:00:55.447241 #1]  INFO -- : 
I, [2025-02-23T14:00:55.447431 #1]  INFO -- : > rm -f /etc/cron.d/anacron
I, [2025-02-23T14:00:55.449559 #1]  INFO -- : 
I, [2025-02-23T14:00:55.451483 #1]  INFO -- : File > /etc/cron.d/anacron  chmod:   chown: 
I, [2025-02-23T14:00:55.454910 #1]  INFO -- : File > /etc/runit/1.d/copy-env  chmod: +x  chown
: 
I, [2025-02-23T14:00:55.458351 #1]  INFO -- : File > /etc/service/unicorn/run  chmod: +x  chow
n: 
I, [2025-02-23T14:00:55.461584 #1]  INFO -- : File > /etc/service/nginx/run  chmod: +x  chown:
 
I, [2025-02-23T14:00:55.464693 #1]  INFO -- : File > /etc/runit/3.d/01-nginx  chmod: +x  chown
: 
I, [2025-02-23T14:00:55.467810 #1]  INFO -- : File > /etc/runit/3.d/02-unicorn  chmod: +x  cho
wn: 
I, [2025-02-23T14:00:55.467967 #1]  INFO -- : Replacing # postgres with if [ -f /root/install_
postgres ]; then
  /root/install_postgres
  rm /root/install_postgres
fi
sv start postgres || exit 1
 in /etc/service/unicorn/run
I, [2025-02-23T14:00:55.469888 #1]  INFO -- : > cd /var/www/discourse && sudo -H -E -u discour
se git clean -f
I, [2025-02-23T14:00:55.699669 #1]  INFO -- : 
I, [2025-02-23T14:00:55.699811 #1]  INFO -- : > cd /var/www/discourse && sudo -H -E -u discour
se bash -c '
  set -o errexit
  if [ $(git rev-parse --is-shallow-repository) == "true" ]; then
      git remote set-branches --add origin main
      git remote set-branches origin tests-passed
      git fetch --depth 1 origin tests-passed
  else
      git fetch --tags --prune-tags --prune --force origin
  fi
'
From https://github.com/discourse/discourse
 - [deleted]             (none)     -> origin/0-app-events-revolution
 - [deleted]             (none)     -> origin/0-ember-bump-fix-modal
 - [deleted]             (none)     -> origin/0-polls-still
 - [deleted]             (none)     -> origin/0-rename-details
 - [deleted]             (none)     -> origin/0-simpler-placeholder
 - [deleted]             (none)     -> origin/0-store-bump
 - [deleted]             (none)     -> origin/0-user-status
 - [deleted]             (none)     -> origin/add-formkit-instruction-text
 - [deleted]             (none)     -> origin/add-live-reload-disable-option
 - [deleted]             (none)     -> origin/add-message-builder-modifier-3
 - [deleted]             (none)     -> origin/add-shift-detect
 - [deleted]             (none)     -> origin/add-shortcuts
 - [deleted]             (none)     -> origin/add-signal-to-notifications-template
 - [deleted]             (none)     -> origin/after-post-outlet
 - [deleted]             (none)     -> origin/again-support-load-more-btn
 - [deleted]             (none)     -> origin/allow-overriding-sidebar-my-posts-icon
 - [deleted]             (none)     -> origin/array-custom-field-order
 - [deleted]             (none)     -> origin/async-category-link
 - [deleted]             (none)     -> origin/bump-eslint-config
 - [deleted]             (none)     -> origin/carsick-patch-1
 - [deleted]             (none)     -> origin/cat-mod-groups
 - [deleted]             (none)     -> origin/category-experts-approved-webhook-event-wip
 - [deleted]             (none)     -> origin/chat-github-onebox
 - [deleted]             (none)     -> origin/chat-uppy-upload
 - [deleted]             (none)     -> origin/composer-disable-submit
 - [deleted]             (none)     -> origin/conditional-summary-box
 - [deleted]             (none)     -> origin/custom-field-store-cleanup
 - [deleted]             (none)     -> origin/d-object
 - [deleted]             (none)     -> origin/defer-button-action
 - [deleted]             (none)     -> origin/demote-summarize-ai-button
 - [deleted]             (none)     -> origin/dependabot/npm_and_yarn/uppy-b578ad6dea
 - [deleted]             (none)     -> origin/dev-better-active-selection-detection
 - [deleted]             (none)     -> origin/dev-fail-tests-on-fa6-deprecated-icons-from-svg-
sprite-rb
 - [deleted]             (none)     -> origin/dev-faster-tests
 - [deleted]             (none)     -> origin/dev-migrate-user-passwords
 - [deleted]             (none)     -> origin/dev-refactor-username-validation-mixin
 - [deleted]             (none)     -> origin/dev/add-a-reference-column-to-notifications
 - [deleted]             (none)     -> origin/dev/advanced-search-custom-in-special
 - [deleted]             (none)     -> origin/dev/automation-scriptable-add-with-class
 - [deleted]             (none)     -> origin/dev/default-plugin-config-pages
 - [deleted]             (none)     -> origin/dev/drop-ignore-chat_channels_last_message_sent_
at
 - [deleted]             (none)     -> origin/dev/port-outlet-wrapper-to-stable
 - [deleted]             (none)     -> origin/dev/refactor-uploads-importer
 - [deleted]             (none)     -> origin/dev/remove-deprecated-respect-plugin-positional-
argument
 - [deleted]             (none)     -> origin/dev/sidebar-sections-collapse-expand-transformer
-events
 - [deleted]             (none)     -> origin/dev/sidebar-subsections
 - [deleted]             (none)     -> origin/dev/third-party-breadcrumbs
 - [deleted]             (none)     -> origin/dev_add_query_param
 - [deleted]             (none)     -> origin/dev_lazy_load_categories_tests
 - [deleted]             (none)     -> origin/dev_update_category_position
 - [deleted]             (none)     -> origin/docs-publishing-mvp
 - [deleted]             (none)     -> origin/drawer-composer-positioning
 - [deleted]             (none)     -> origin/ember-4
 - [deleted]             (none)     -> origin/expand-allowed-custom-emoji-images-types
 - [deleted]             (none)     -> origin/extra-js-revert
 - [deleted]             (none)     -> origin/feature/add-user-to-topic_tags_changed-event
 - [deleted]             (none)     -> origin/feature/custom-fields-for-existing-users
 - [deleted]             (none)     -> origin/feature/enable-chat-with-dms-only
 - [deleted]             (none)     -> origin/feature/light-dark-mode-switcher
 - [deleted]             (none)     -> origin/feature/paste-upload-on-first-upload-input-templ
ates
 - [deleted]             (none)     -> origin/feature/show-note-bookmark-notif
 - [deleted]             (none)     -> origin/feature/show-status-on-mentions-when-user-havent
-used-autocomplete
 - [deleted]             (none)     -> origin/feature_pm_editor
 - [deleted]             (none)     -> origin/feature_track_mentions
 - [deleted]             (none)     -> origin/fix-directory-search-limit
 - [deleted]             (none)     -> origin/fix-display-errors-for-history-modal-when-fetchi
ng-revisions
 - [deleted]             (none)     -> origin/fix-firefox-android-followup
 - [deleted]             (none)     -> origin/fix-password-reset-security-key
 - [deleted]             (none)     -> origin/fix-redirect-login
 - [deleted]             (none)     -> origin/fix-safari-below-18-detection
 - [deleted]             (none)     -> origin/fix-search-context-delete-key
 - [deleted]             (none)     -> origin/fix-unread-notifications-take-2
 - [deleted]             (none)     -> origin/fix/migrated-reactions-count-calculation
 - [deleted]             (none)     -> origin/fix/tag-rename-404
 - [deleted]             (none)     -> origin/full-page
 - [deleted]             (none)     -> origin/glimmer-header-dnd-live
 - [deleted]             (none)     -> origin/group_and_tag_group_permission_change_notification
 - [deleted]             (none)     -> origin/handle-non-ascii-charc
 - [deleted]             (none)     -> origin/hijacks
 - [deleted]             (none)     -> origin/history-store-methods
 - [deleted]             (none)     -> origin/i18n-helper-import
 - [deleted]             (none)     -> origin/image-assets
 - [deleted]             (none)     -> origin/implicit-injections-deprecations
 - [deleted]             (none)     -> origin/improve-claimed-reviewables-transactions
 - [deleted]             (none)     -> origin/improve-tablet-detection
 - [deleted]             (none)     -> origin/issue/do-not-enforce-2fa-on-social-logins
 - [deleted]             (none)     -> origin/issue/fix-user-field-enum-migrate
 - [deleted]             (none)     -> origin/issue/fixup-upload-ref-backfill-migration-dates
 - [deleted]             (none)     -> origin/jjaffeux-otp-validation
 - [deleted]             (none)     -> origin/list-wrapper
 - [deleted]             (none)     -> origin/live-cache
 - [deleted]             (none)     -> origin/lock-step
 - [deleted]             (none)     -> origin/loic-enable-rspec-rule
 - [deleted]             (none)     -> origin/loic-upgrade-miniracer
 - [deleted]             (none)     -> origin/more-topics-active
 - [deleted]             (none)     -> origin/nginx-conf
 - [deleted]             (none)     -> origin/oklab
 - [deleted]             (none)     -> origin/omniauth-2
 - [deleted]             (none)     -> origin/pento/feature-allow-admins-to-export-users
 - [deleted]             (none)     -> origin/plugin-outlet-no-subdir
 - [deleted]             (none)     -> origin/post-widget-outlet
 - [deleted]             (none)     -> origin/powered-by-reactivity
 - [deleted]             (none)     -> origin/promote-migration-tweak
 - [deleted]             (none)     -> origin/prune-old-transpilers
 - [deleted]             (none)     -> origin/refactor-mobile-coposer-position-replace-actions
 - [deleted]             (none)     -> origin/remap-assume-yes-option
 - [deleted]             (none)     -> origin/remove-bootbox
 - [deleted]             (none)     -> origin/remove-muted-from-hot-and-top-topic-lists
 - [deleted]             (none)     -> origin/remove-x-count
 - [deleted]             (none)     -> origin/render-glimmer-granular
- [deleted]             (none)     -> origin/revert-28587-revert-28321-dev/remove-create_post
_for_category_and_tag_changes-setting
 - [deleted]             (none)     -> origin/revert-location-change
 - [deleted]             (none)     -> origin/revert-thread-title-experiment
 - [deleted]             (none)     -> origin/safari-hacks-sayonara
 - [deleted]             (none)     -> origin/see_if_yarn_cache_is_working
 - [deleted]             (none)     -> origin/shared-draft-category
 - [deleted]             (none)     -> origin/skip-back-button-animation
 - [deleted]             (none)     -> origin/tag-span
 - [deleted]             (none)     -> origin/temp-pr-28024
 - [deleted]             (none)     -> origin/testing_debian_12
 - [deleted]             (none)     -> origin/tobiaseigen-patch-4
 - [deleted]             (none)     -> origin/topic-count-fix
 - [deleted]             (none)     -> origin/topic-list-item-style
 - [deleted]             (none)     -> origin/translations-from-crowdin-main
 - [deleted]             (none)     -> origin/translations-from-crowdin-stable
 - [deleted]             (none)     -> origin/update-gems-stable
 - [deleted]             (none)     -> origin/ux/admin-site-setting-inner-sidebar-experiment
 - [deleted]             (none)     -> origin/whats-new-notify-plugins
   c64b5d6d7..c592edbe3  main                    -> origin/main
 * [new branch]          add-header-search-experience -> origin/add-header-search-experience
 + 3c0b2f75f...0d2238318 allow-posts-link-in-sidebar -> origin/allow-posts-link-in-sidebar  (f
orced update)
 * [new branch]          async-data              -> origin/async-data
 * [new branch]          automation-autoload     -> origin/automation-autoload
 * [new branch]          br/multiple_likes       -> origin/br/multiple_likes
 * [new branch]          branding-logo           -> origin/branding-logo
 * [new branch]          chat-summary-email-thread-reply-fix -> origin/chat-summary-email-thre
ad-reply-fix
 * [new branch]          d-menu-composer-flag    -> origin/d-menu-composer-flag
 * [new branch]          dark-light-class        -> origin/dark-light-class
 * [new branch]          dark-light-mode-helpers -> origin/dark-light-mode-helpers
 * [new branch]          dependabot/npm_and_yarn/glimmer/syntax-0.94.7 -> origin/dependabot/np
m_and_yarn/glimmer/syntax-0.94.7
 * [new branch]          dependabot/npm_and_yarn/prosemirror-commands-1.7.0 -> origin/dependab
ot/npm_and_yarn/prosemirror-commands-1.7.0
 * [new branch]          dependabot/npm_and_yarn/uppy-b82cdcd59c -> origin/dependabot/npm_and_
yarn/uppy-b82cdcd59c
 * [new branch]          dev-refactor-password-validation-for-create-account -> origin/dev-ref
actor-password-validation-for-create-account
 + 72ff8f1eb...699aa3755 dev-refactor-username-validation-mixin-to-helper -> origin/dev-refact
or-username-validation-mixin-to-helper  (forced update)
 * [new branch]          dev/auto-screen-size-screenshots -> origin/dev/auto-screen-size-scree
nshots
 + ec68ffb95...a1849cd39 dev/color-palette-editor -> origin/dev/color-palette-editor  (forced 
update)
 * [new branch]          dev/ember-async-data-demo -> origin/dev/ember-async-data-demo
 * [new branch]          dev/glimmer-post-stream -> origin/dev/glimmer-post-stream
 * [new branch]          dev/purge-widget-post-menu -> origin/dev/purge-widget-post-menu
 * [new branch]          dev/remove-deprecated-auth-provider-options -> origin/dev/remove-depr
ecated-auth-provider-options
 * [new branch]          dev/user-field-components-transformer -> origin/dev/user-field-compon
ents-transformer
 * [new branch]          discourse-emojis-gem    -> origin/discourse-emojis-gem
 * [new branch]          feature-markdown-hex-color -> origin/feature-markdown-hex-color
 * [new branch]          feature/admin-search-improvements-2 -> origin/feature/admin-search-im
provements-2
 * [new branch]          feature/admins-access-group-chats -> origin/feature/admins-access-gro
up-chats
 * [new branch]          feature_pm_codeblock    -> origin/feature_pm_codeblock
 * [new branch]          feature_pm_emoji        -> origin/feature_pm_emoji
 * [new branch]          feature_pm_hashtag      -> origin/feature_pm_hashtag
 * [new branch]          feature_pm_html_block   -> origin/feature_pm_html_block
 * [new branch]          feature_pm_html_inline  -> origin/feature_pm_html_inline
 * [new branch]          feature_pm_image        -> origin/feature_pm_image
 * [new branch]          feature_pm_link         -> origin/feature_pm_link
 * [new branch]          feature_pm_mention      -> origin/feature_pm_mention
 * [new branch]          feature_pm_quote        -> origin/feature_pm_quote
 * [new branch]          feature_pm_strikethrough -> origin/feature_pm_strikethrough
 * [new branch]          feature_pm_table        -> origin/feature_pm_table
 * [new branch]          feature_pm_typographer  -> origin/feature_pm_typographer
 * [new branch]          feature_pm_underline    -> origin/feature_pm_underline
 * [new branch]          filter-navigation-ui    -> origin/filter-navigation-ui
 * [new branch]          fix-zlib                -> origin/fix-zlib
 * [new branch]          google-topic-count      -> origin/google-topic-count
 * [new branch]          google-translate-defender -> origin/google-translate-defender
 * [new branch]          loic-rspec-instance-var-globally -> origin/loic-rspec-instance-var-gl
obally
 * [new branch]          loic-upgrade-sidekiq    -> origin/loic-upgrade-sidekiq
 * [new branch]          loic-use-bundler-checksums -> origin/loic-use-bundler-checksums
 + 0f2f74d08...06c4fcf62 mt/idb                  -> origin/mt/idb  (forced update)
 * [new branch]          pento/dev-upgrade-pnpm-10 -> origin/pento/dev-upgrade-pnpm-10
 * [new branch]          pento/feature-which-watched-words-were-written -> origin/pento/featur
e-which-watched-words-were-written
 * [new branch]          quick-smoke-test        -> origin/quick-smoke-test
 + de3691471...e5890e554 renato/pm               -> origin/renato/pm  (forced update)
 * [new branch]          service-to-update-site-settings -> origin/service-to-update-site-sett
ings
 * [new branch]          settings-console-log    -> origin/settings-console-log
 * [new branch]          split-common-css        -> origin/split-common-css
 * [new branch]          split-cook-sanitise     -> origin/split-cook-sanitise
   5d4c2a89e..3bbf96fa2  stable                  -> origin/stable
   c64b5d6d7..c592edbe3  tests-passed            -> origin/tests-passed
 * [new branch]          tobiaseigen-patch-3     -> origin/tobiaseigen-patch-3
 * [new branch]          tobiaseigen-patch-3-1   -> origin/tobiaseigen-patch-3-1
 * [new branch]          topic-list-outlet-add-columns -> origin/topic-list-outlet-add-columns
 * [new branch]          topic-list-outlet-add-columns-stable -> origin/topic-list-outlet-add-
columns-stable
   415cccafb..c43caf483  user-fields-plugin-outlets-update -> origin/user-fields-plugin-outlet
s-update
 * [new branch]          user-menu-full-name-rebased -> origin/user-menu-full-name-rebased
 * [new branch]          user-summary-topic-add-plugin-wrappers -> origin/user-summary-topic-a
dd-plugin-wrappers
   10566d84b..c540132fe  ux/combined-themes-components-sidebar-links -> origin/ux/combined-the
mes-components-sidebar-links
 * [new branch]          visual-experiment       -> origin/visual-experiment
 t [tag update]          beta                    -> beta
 t [tag update]          latest-release          -> latest-release
 * [new tag]             v3.3.4                  -> v3.3.4
 * [new tag]             v3.4.0                  -> v3.4.0
 * [new tag]             v3.4.0.beta4            -> v3.4.0.beta4
I, [2025-02-23T14:00:56.808582 #1]  INFO -- : 
I, [2025-02-23T14:00:56.808699 #1]  INFO -- : > cd /var/www/discourse && sudo -H -E -u discour
se bash -c '
  set -o errexit
  if [[ $(git symbolic-ref --short HEAD) == tests-passed ]] ; then
      git pull
  else
      git -c advice.detachedHead=false checkout tests-passed
  fi
'
Switched to a new branch 'tests-passed'
I, [2025-02-23T14:01:04.408360 #1]  INFO -- : branch 'tests-passed' set up to track 'origin/te
sts-passed'.

I, [2025-02-23T14:01:04.408487 #1]  INFO -- : > cd /var/www/discourse && sudo -H -E -u discour
se git config user.discourse-version tests-passed
I, [2025-02-23T14:01:04.418102 #1]  INFO -- : 
I, [2025-02-23T14:01:04.418236 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp
I, [2025-02-23T14:01:04.420716 #1]  INFO -- : 
I, [2025-02-23T14:01:04.420801 #1]  INFO -- : > cd /var/www/discourse && chown discourse:www-d
ata tmp
I, [2025-02-23T14:01:04.423030 #1]  INFO -- : 
I, [2025-02-23T14:01:04.423097 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp/pids
I, [2025-02-23T14:01:04.425313 #1]  INFO -- : 
I, [2025-02-23T14:01:04.425384 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp/sockets
I, [2025-02-23T14:01:04.427628 #1]  INFO -- : 
I, [2025-02-23T14:01:04.427696 #1]  INFO -- : > cd /var/www/discourse && touch tmp/.gitkeep
I, [2025-02-23T14:01:04.429836 #1]  INFO -- : 
I, [2025-02-23T14:01:04.429907 #1]  INFO -- : > cd /var/www/discourse && mkdir -p             
       /shared/log/rails
I, [2025-02-23T14:01:04.432249 #1]  INFO -- : 
I, [2025-02-23T14:01:04.432370 #1]  INFO -- : > cd /var/www/discourse && bash -c "touch -a    
       /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.
log"
I, [2025-02-23T14:01:04.435683 #1]  INFO -- : 
I, [2025-02-23T14:01:04.435810 #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-02-23T14:01:04.439586 #1]  INFO -- : 
I, [2025-02-23T14:01:04.439704 #1]  INFO -- : > cd /var/www/discourse && bash -c "mkdir -p    
       /shared/{uploads,backups}"
I, [2025-02-23T14:01:04.443250 #1]  INFO -- : 
I, [2025-02-23T14:01:04.443370 #1]  INFO -- : > cd /var/www/discourse && bash -c "ln    -s    
       /shared/{uploads,backups} /var/www/discourse/public"
I, [2025-02-23T14:01:04.446759 #1]  INFO -- : 
I, [2025-02-23T14:01:04.446880 #1]  INFO -- : > cd /var/www/discourse && bash -c "mkdir -p    
       /shared/tmp/{backups,restores}"
I, [2025-02-23T14:01:04.450346 #1]  INFO -- : 
I, [2025-02-23T14:01:04.450466 #1]  INFO -- : > cd /var/www/discourse && bash -c "ln    -s    
       /shared/tmp/{backups,restores} /var/www/discourse/tmp"
I, [2025-02-23T14:01:04.453698 #1]  INFO -- : 
I, [2025-02-23T14:01:04.453819 #1]  INFO -- : > cd /var/www/discourse && chown -R discourse:ww
w-data /shared/log/rails /shared/uploads /shared/backups /shared/tmp
I, [2025-02-23T14:01:04.459171 #1]  INFO -- : 
I, [2025-02-23T14:01:04.459297 #1]  INFO -- : > cd /var/www/discourse && [ ! -d public/plugins
 ] || find public/plugins/ -maxdepth 1 -xtype l -delete
I, [2025-02-23T14:01:04.460710 #1]  INFO -- : 
I, [2025-02-23T14:01:04.460891 #1]  INFO -- : Replacing # redis with if [ ! -d /shared/redis_d
ata ]; then
  install -d -m 0755 -o redis -g redis /shared/redis_data
fi
sv start redis || exit 1 in /etc/service/unicorn/run
I, [2025-02-23T14:01:04.461290 #1]  INFO -- : > cd /var/www/discourse/plugins && git clone htt
ps://github.com/discourse/docker_manager.git
Cloning into 'docker_manager'...
I, [2025-02-23T14:01:05.488476 #1]  INFO -- : 
I, [2025-02-23T14:01:05.488621 #1]  INFO -- : > cd /var/www/discourse/plugins && git clone htt
ps://github.com/communiteq/discourse-private-topics.git
Cloning into 'discourse-private-topics'...
I, [2025-02-23T14:01:06.031956 #1]  INFO -- : 
I, [2025-02-23T14:01:06.032288 #1]  INFO -- : > cp /var/www/discourse/config/nginx.sample.conf
 /etc/nginx/conf.d/discourse.conf
I, [2025-02-23T14:01:06.034774 #1]  INFO -- : 
I, [2025-02-23T14:01:06.034847 #1]  INFO -- : > rm /etc/nginx/sites-enabled/default
I, [2025-02-23T14:01:06.036387 #1]  INFO -- : 
I, [2025-02-23T14:01:06.036485 #1]  INFO -- : > mkdir -p /var/nginx/cache
I, [2025-02-23T14:01:06.038265 #1]  INFO -- : 
I, [2025-02-23T14:01:06.038445 #1]  INFO -- : Replacing pid /run/nginx.pid; with daemon off; i
n /etc/nginx/nginx.conf
I, [2025-02-23T14:01:06.392764 #1]  INFO -- : Replacing (?m-ix:upstream[^\}]+\}) with upstream
 discourse { server 127.0.0.1:3000; } in /etc/nginx/conf.d/discourse.conf
I, [2025-02-23T14:01:06.393104 #1]  INFO -- : Replacing (?-mix:server_name.+$) with server_nam
e _ ; in /etc/nginx/conf.d/discourse.conf
I, [2025-02-23T14:01:06.393446 #1]  INFO -- : Replacing (?-mix:client_max_body_size.+$) with c
lient_max_body_size $upload_size ; in /etc/nginx/conf.d/discourse.conf
I, [2025-02-23T14:01:06.393786 #1]  INFO -- : Replacing (?-mix:worker_connections.+$) with wor
ker_connections $nginx_worker_connections ; in /etc/nginx/nginx.conf
I, [2025-02-23T14:01:06.394050 #1]  INFO -- : > echo "done configuring web"
I, [2025-02-23T14:01:06.395702 #1]  INFO -- : done configuring web

I, [2025-02-23T14:01:06.395931 #1]  INFO -- : > cd /var/www/discourse && gem install bundler -
-conservative -v $(awk '/BUNDLED WITH/ { getline; gsub(/ /,""); print $0 }' Gemfile.lock)
I, [2025-02-23T14:01:06.710273 #1]  INFO -- : 
I, [2025-02-23T14:01:06.710415 #1]  INFO -- : > cd /var/www/discourse && find /var/www/discour
se ! -user discourse -exec chown discourse {} \+
I, [2025-02-23T14:01:09.127306 #1]  INFO -- : 
I, [2025-02-23T14:01:09.127590 #1]  INFO -- : > cd /var/www/discourse && if [ -f yarn.lock ]; 
then
  if [ -d node_modules/.pnpm ]; then
    echo "This version of Discourse uses yarn, but pnpm node_modules are preset. Cleaning up..
."
    find ./node_modules ./app/assets/javascripts/*/node_modules -mindepth 1 -maxdepth 1 -exec 
rm -rf {} +
  fi
  su discourse -c 'yarn install --frozen-lockfile && yarn cache clean'
else
  su discourse -c 'CI=1 pnpm install --frozen-lockfile && pnpm prune'
fi
I, [2025-02-23T14:01:10.746254 #1]  INFO -- : Scope: all 17 workspace projects
Lockfile is up to date, resolution step is skipped
<E2><80><89>EINVAL<E2><80><89> EINVAL: invalid argument, rmdir '/var/www/discourse/app/assets/
javascripts/dialog-holder/node_modules/.bin'



I, [2025-02-23T14:01:10.746702 #1]  INFO -- : Terminating async processes
I, [2025-02-23T14:01:10.746784 #1]  INFO -- : Sending INT to HOME=/var/lib/postgresql USER=pos
tgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgres
ql/15/bin/postmaster -D /etc/postgresql/15/main pid: 42
I, [2025-02-23T14:01:10.746868 #1]  INFO -- : Sending TERM to exec chpst -u redis -U redis /us
r/bin/redis-server /etc/redis/redis.conf pid: 109
2025-02-23 14:01:10.746 UTC [42] LOG:  received fast shutdown request
109:signal-handler (1740319270) Received SIGTERM scheduling shutdown...
109:M 23 Feb 2025 14:01:10.753 # User requested shutdown...
109:M 23 Feb 2025 14:01:10.753 * Saving the final RDB snapshot before exiting.
2025-02-23 14:01:10.772 UTC [42] LOG:  aborting any active transactions
2025-02-23 14:01:10.774 UTC [42] LOG:  background worker "logical replication launcher" (PID 5
6) exited with exit code 1
2025-02-23 14:01:10.774 UTC [51] LOG:  shutting down
2025-02-23 14:01:10.792 UTC [51] LOG:  checkpoint starting: shutdown immediate
109:M 23 Feb 2025 14:01:10.801 * DB saved on disk
109:M 23 Feb 2025 14:01:10.801 # Redis is now ready to exit, bye bye...
2025-02-23 14:01:10.867 UTC [51] LOG:  checkpoint complete: wrote 4 buffers (0.0%); 0 WAL file(s) added, 0 removed, 0 recycled; write=0.002 s, sync=0.027 s, total=0.093 s; sync files=3, longest=0.010 s, average=0.009 s; distance=5 kB, estimate=5 kB
2025-02-23 14:01:10.873 UTC [42] LOG:  database system is shut down

FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && if [ -f yarn.lock ]; then
  if [ -d node_modules/.pnpm ]; then
    echo "This version of Discourse uses yarn, but pnpm node_modules are preset. Cleaning up..."
    find ./node_modules ./app/assets/javascripts/*/node_modules -mindepth 1 -maxdepth 1 -exec rm -rf {} +
  fi
  su discourse -c 'yarn install --frozen-lockfile && yarn cache clean'
else
  su discourse -c 'CI=1 pnpm install --frozen-lockfile && pnpm prune'
fi failed with return #<Process::Status: pid 290 exit 234>
Location of failure: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"yarn", "cmd"=>["if [ -f yarn.lock ]; then\n  if [ -d node_modules/.pnpm ]; then\n    echo \"This version of Discourse uses yarn, but pnpm node_modules are preset. Cleaning up...\"\n    find ./node_modules ./app/assets/javascripts/*/node_modules -mindepth 1 -maxdepth 1 -exec rm -rf {} +\n  fi\n  su discourse -c 'yarn install --frozen-lockfile && yarn cache clean'\nelse\n  su discourse -c 'CI=1 pnpm install --frozen-lockfile && pnpm prune'\nfi"]}
bootstrap failed with exit code 234
** 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.
bf860505d7d5e6379093f311be8da79cc526d9f1180e779bca2470adef464e7d

I couldn’t find any information about the exit code 234. Any idea what’s going wrong?

I think perhaps this is where an error was encountered, perhaps in the pnpm package manager, but I don’t know the meaning of it:

I think the command line running at the time would be

1 Like

The error is due to a mismatch between yarn and pnpm . The failure is specifically due to:
EINVAL: invalid argument, rmdir '/var/www/discourse/app/assets/javascripts/dialog-holder/node_modules/.bin'

Suggested Steps:

  1. Manually remove Node Modules: rm -rf node_modules app/assets/javascripts/*/node_modules
  2. Run cleanup: ./launcher cleanup
  3. Rebuild Discourse: ./launcher rebuild app
2 Likes

I did as suggested, but the error unfortunately persists:

./launcher rebuild app
x86_64 arch detected.

WARNING: We are about to start downloading the Discourse base image
This process may take anywhere between a few minutes to an hour, depending on your network speed

Please be patient

2.0.20250129-0720: Pulling from discourse/base
af302e5c37e9: Pull complete 
ed49ab5c933d: Pull complete 
7cb9e730d898: Pull complete 
7c28a6b187b2: Pull complete 
23222af7238f: Pull complete 
59b87d9ed5c1: Pull complete 
90d60b432298: Pull complete 
d3b3135aa82b: Pull complete 
94e7b594395d: Pull complete 
cf15e2c89d00: Pull complete 
2c0cccf9ec27: Pull complete 
5d8ea2a8d564: Pull complete 
020f04b42275: Pull complete 
06e22604f387: Pull complete 
8b0ecc579aad: Pull complete 
4d577f7424c0: Pull complete 
37ef4781925f: Pull complete 
30d67d1af761: Pull complete 
43eaf8c26af4: Pull complete 
02f4cc50eabd: Pull complete 
93896ee36e56: Pull complete 
fadd5d615e0e: Pull complete 
85f9459cb30e: Pull complete 
eaddca2afacb: Pull complete 
f54443d29a2d: Pull complete 
ed6f0f133683: Pull complete 
3d1894dc563f: Pull complete 
51ca3f63c909: Pull complete 
b87374db2274: Pull complete 
Digest: sha256:01b8516e5504c0e9bc3707773015ff4407be03a89154194ff3b5b8699291bc26
Status: Downloaded newer image for discourse/base:2.0.20250129-0720
docker.io/discourse/base:2.0.20250129-0720
Ensuring launcher is up to date
Fetching origin
Launcher is up-to-date
Stopping old container
+ /usr/bin/docker stop -t 600 app
app
2.0.20250129-0720: Pulling from discourse/base
Digest: sha256:01b8516e5504c0e9bc3707773015ff4407be03a89154194ff3b5b8699291bc26
Status: Image is up to date for discourse/base:2.0.20250129-0720
docker.io/discourse/base:2.0.20250129-0720
/usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups.rb
/usr/local/bin/pups --stdin
I, [2025-02-23T21:28:35.906550 #1]  INFO -- : Reading from stdin
I, [2025-02-23T21:28:35.919756 #1]  INFO -- : File > /etc/service/postgres/run  chmod: +x  chown: 
I, [2025-02-23T21:28:35.923116 #1]  INFO -- : File > /etc/service/postgres/log/run  chmod: +x  chown: 
I, [2025-02-23T21:28:35.926554 #1]  INFO -- : File > /etc/runit/3.d/99-postgres  chmod: +x  chown: 
I, [2025-02-23T21:28:35.929994 #1]  INFO -- : File > /root/install_postgres  chmod: +x  chown: 
I, [2025-02-23T21:28:35.933196 #1]  INFO -- : File > /root/upgrade_postgres  chmod: +x  chown: 
I, [2025-02-23T21:28:35.933633 #1]  INFO -- : Replacing data_directory = '/var/lib/postgresql/15/main' with data_directory = '/shared/postgres_data' in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-23T21:28:36.302682 #1]  INFO -- : Replacing (?-mix:#?listen_addresses *=.*) with listen_addresses = '*' in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-23T21:28:36.303026 #1]  INFO -- : Replacing (?-mix:#?synchronous_commit *=.*) with synchronous_commit = $db_synchronous_commit in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-23T21:28:36.303406 #1]  INFO -- : Replacing (?-mix:#?shared_buffers *=.*) with shared_buffers = $db_shared_buffers in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-23T21:28:36.303714 #1]  INFO -- : Replacing (?-mix:#?work_mem *=.*) with work_mem = $db_work_mem in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-23T21:28:36.304021 #1]  INFO -- : Replacing (?-mix:#?default_text_search_config *=.*) with default_text_search_config = '$db_default_text_search_config' in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-23T21:28:36.304333 #1]  INFO -- : Replacing (?-mix:#?checkpoint_segments *=.*) with checkpoint_segments = $db_checkpoint_segments in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-23T21:28:36.307838 #1]  INFO -- : Replacing (?-mix:#?logging_collector *=.*) with logging_collector = $db_logging_collector in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-23T21:28:36.308366 #1]  INFO -- : Replacing (?-mix:#?log_min_duration_statement *=.*) with log_min_duration_statement = $db_log_min_duration_statement in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-23T21:28:36.308727 #1]  INFO -- : Replacing (?-mix:^#local +replication +postgres +peer$) with local replication postgres  peer in /etc/postgresql/15/main/pg_hba.conf
I, [2025-02-23T21:28:36.496135 #1]  INFO -- : Replacing (?-mix:^host.*all.*all.*127.*$) with host all all 0.0.0.0/0 md5 in /etc/postgresql/15/main/pg_hba.conf
I, [2025-02-23T21:28:36.496438 #1]  INFO -- : Replacing (?-mix:^host.*all.*all.*::1\/128.*$) with host all all ::/0 md5 in /etc/postgresql/15/main/pg_hba.conf
I, [2025-02-23T21:28:36.496691 #1]  INFO -- : > if [ -f /root/install_postgres ]; then
  /root/install_postgres && rm -f /root/install_postgres
elif [ -e /shared/postgres_run/.s.PGSQL.5432 ]; then
  socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres already running stop container ; exit 1
fi

I, [2025-02-23T21:31:39.513487 #1]  INFO -- : Generating locales (this might take a while)...
  en_US.UTF-8... done
Generation complete.

I, [2025-02-23T21:31:39.513737 #1]  INFO -- : > HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/15/bin/postmaster -D /etc/postgresql/15/main
I, [2025-02-23T21:31:39.518560 #1]  INFO -- : File > /usr/local/bin/create_db  chmod: +x  chown: 
I, [2025-02-23T21:31:39.523443 #1]  INFO -- : File > /var/lib/postgresql/take-database-backup  chmod: +x  chown: postgres:postgres
I, [2025-02-23T21:31:39.525967 #1]  INFO -- : File > /var/spool/cron/crontabs/postgres  chmod:   chown: 
I, [2025-02-23T21:31:39.526157 #1]  INFO -- : > sleep 5
2025-02-23 21:31:39.614 UTC [42] LOG:  starting PostgreSQL 15.10 (Debian 15.10-1.pgdg120+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14) 12.2.0, 64-bit
2025-02-23 21:31:39.615 UTC [42] LOG:  listening on IPv4 address "0.0.0.0", port 5432
2025-02-23 21:31:39.615 UTC [42] LOG:  listening on IPv6 address "::", port 5432
2025-02-23 21:31:39.627 UTC [42] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2025-02-23 21:31:39.645 UTC [53] LOG:  database system was shut down at 2025-02-23 14:01:10 UTC
2025-02-23 21:31:39.657 UTC [42] LOG:  database system is ready to accept connections
I, [2025-02-23T21:31:44.528149 #1]  INFO -- : 
I, [2025-02-23T21:31:44.528302 #1]  INFO -- : > /usr/local/bin/create_db
2025-02-23 21:31:44.600 UTC [60] postgres@postgres ERROR:  database "discourse" already exists
2025-02-23 21:31:44.600 UTC [60] postgres@postgres STATEMENT:  CREATE DATABASE discourse;
createdb: error: database creation failed: ERROR:  database "discourse" already exists
2025-02-23 21:31:44.662 UTC [63] postgres@discourse ERROR:  role "discourse" already exists
2025-02-23 21:31:44.662 UTC [63] postgres@discourse STATEMENT:  create user discourse;
ERROR:  role "discourse" already exists
NOTICE:  extension "hstore" already exists, skipping
NOTICE:  extension "pg_trgm" already exists, skipping
NOTICE:  extension "vector" already exists, skipping
NOTICE:  version "0.8.0" of extension "vector" is already installed
NOTICE:  extension "hstore" already exists, skipping
NOTICE:  extension "pg_trgm" already exists, skipping
NOTICE:  extension "vector" already exists, skipping
NOTICE:  version "0.8.0" of extension "vector" is already installed
I, [2025-02-23T21:31:45.278006 #1]  INFO -- : GRANT
ALTER SCHEMA
CREATE EXTENSION
CREATE EXTENSION
CREATE EXTENSION
ALTER EXTENSION
CREATE EXTENSION
CREATE EXTENSION
CREATE EXTENSION
ALTER EXTENSION
UPDATE 0

I, [2025-02-23T21:31:45.278115 #1]  INFO -- : > echo postgres installed!
I, [2025-02-23T21:31:45.279850 #1]  INFO -- : postgres installed!

I, [2025-02-23T21:31:45.283348 #1]  INFO -- : File > /etc/service/redis/run  chmod: +x  chown: 
I, [2025-02-23T21:31:45.286683 #1]  INFO -- : File > /etc/service/redis/log/run  chmod: +x  chown: 
I, [2025-02-23T21:31:45.289832 #1]  INFO -- : File > /etc/runit/3.d/10-redis  chmod: +x  chown: 
I, [2025-02-23T21:31:45.290389 #1]  INFO -- : Replacing daemonize yes with  in /etc/redis/redis.conf
I, [2025-02-23T21:31:45.482750 #1]  INFO -- : Replacing (?-mix:^pidfile.*$) with  in /etc/redis/redis.conf
I, [2025-02-23T21:31:45.483098 #1]  INFO -- : > install -d -m 0755 -o redis -g redis /shared/redis_data
I, [2025-02-23T21:31:45.486197 #1]  INFO -- : 
I, [2025-02-23T21:31:45.486579 #1]  INFO -- : Replacing (?-mix:^logfile.*$) with logfile "" in /etc/redis/redis.conf
I, [2025-02-23T21:31:45.487000 #1]  INFO -- : Replacing (?-mix:^bind .*$) with  in /etc/redis/redis.conf
I, [2025-02-23T21:31:45.487412 #1]  INFO -- : Replacing (?-mix:^dir .*$) with dir /shared/redis_data in /etc/redis/redis.conf
I, [2025-02-23T21:31:45.487861 #1]  INFO -- : Replacing (?-mix:^protected-mode yes) with protected-mode no in /etc/redis/redis.conf
I, [2025-02-23T21:31:45.488227 #1]  INFO -- : Replacing # io-threads 4 with io-threads $redis_io_threads in /etc/redis/redis.conf
I, [2025-02-23T21:31:45.488550 #1]  INFO -- : > echo redis installed
I, [2025-02-23T21:31:45.489940 #1]  INFO -- : redis installed

I, [2025-02-23T21:31:45.490078 #1]  INFO -- : > cat /etc/redis/redis.conf | grep logfile
I, [2025-02-23T21:31:45.493628 #1]  INFO -- : logfile ""

I, [2025-02-23T21:31:45.493826 #1]  INFO -- : > exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf
I, [2025-02-23T21:31:45.495065 #1]  INFO -- : > sleep 10
109:C 23 Feb 2025 21:31:45.507 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
109:C 23 Feb 2025 21:31:45.507 # Redis version=7.0.15, bits=64, commit=00000000, modified=0, pid=109, just started
109:C 23 Feb 2025 21:31:45.507 # Configuration loaded
109:M 23 Feb 2025 21:31:45.507 * monotonic clock: POSIX clock_gettime
109:M 23 Feb 2025 21:31:45.508 * Running mode=standalone, port=6379.
109:M 23 Feb 2025 21:31:45.508 # Server initialized
109:M 23 Feb 2025 21:31:45.508 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
109:M 23 Feb 2025 21:31:45.509 * Loading RDB produced by version 7.0.7
109:M 23 Feb 2025 21:31:45.509 * RDB age 254 seconds
109:M 23 Feb 2025 21:31:45.509 * RDB memory usage when created 2.00 Mb
109:M 23 Feb 2025 21:31:45.513 * Done loading RDB, keys loaded: 1587, keys expired: 0.
109:M 23 Feb 2025 21:31:45.513 * DB loaded from disk: 0.004 seconds
109:M 23 Feb 2025 21:31:45.513 * Ready to accept connections
I, [2025-02-23T21:31:55.496692 #1]  INFO -- : 
I, [2025-02-23T21:31:55.496981 #1]  INFO -- : > thpoff echo "thpoff is installed!"
I, [2025-02-23T21:31:55.499725 #1]  INFO -- : thpoff is installed!

I, [2025-02-23T21:31:55.499945 #1]  INFO -- : > /usr/local/bin/ruby -e 'if ENV["DISCOURSE_SMTP_ADDRESS"] == "smtp.example.com"; puts "Aborting! Mail is not configured!"; exit 1; end'
I, [2025-02-23T21:31:55.611191 #1]  INFO -- : 
I, [2025-02-23T21:31:55.611342 #1]  INFO -- : > /usr/local/bin/ruby -e 'if ENV["DISCOURSE_HOSTNAME"] == "discourse.example.com"; puts "Aborting! Domain is not configured!"; exit 1; end'
I, [2025-02-23T21:31:55.701051 #1]  INFO -- : 
I, [2025-02-23T21:31:55.701184 #1]  INFO -- : > /usr/local/bin/ruby -e 'if (ENV["DISCOURSE_CDN_URL"] || "")[0..1] == "//"; puts "Aborting! CDN must have a protocol specified. Once fixed you should rebake your posts now to correct all posts."; exit 1; end'
I, [2025-02-23T21:31:55.792799 #1]  INFO -- : 
I, [2025-02-23T21:31:55.792976 #1]  INFO -- : > rm -f /etc/cron.d/anacron
I, [2025-02-23T21:31:55.795285 #1]  INFO -- : 
I, [2025-02-23T21:31:55.797250 #1]  INFO -- : File > /etc/cron.d/anacron  chmod:   chown: 
I, [2025-02-23T21:31:55.801027 #1]  INFO -- : File > /etc/runit/1.d/copy-env  chmod: +x  chown: 
I, [2025-02-23T21:31:55.804619 #1]  INFO -- : File > /etc/service/unicorn/run  chmod: +x  chown: 
I, [2025-02-23T21:31:55.807956 #1]  INFO -- : File > /etc/service/nginx/run  chmod: +x  chown: 
I, [2025-02-23T21:31:55.811451 #1]  INFO -- : File > /etc/runit/3.d/01-nginx  chmod: +x  chown: 
I, [2025-02-23T21:31:55.814769 #1]  INFO -- : File > /etc/runit/3.d/02-unicorn  chmod: +x  chown: 
I, [2025-02-23T21:31:55.814902 #1]  INFO -- : Replacing # postgres with if [ -f /root/install_postgres ]; then
  /root/install_postgres
  rm /root/install_postgres
fi
sv start postgres || exit 1
 in /etc/service/unicorn/run
I, [2025-02-23T21:31:55.816135 #1]  INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse git clean -f
I, [2025-02-23T21:31:56.068849 #1]  INFO -- : 
I, [2025-02-23T21:31:56.068969 #1]  INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse bash -c '
  set -o errexit
  if [ $(git rev-parse --is-shallow-repository) == "true" ]; then
      git remote set-branches --add origin main
      git remote set-branches origin tests-passed
      git fetch --depth 1 origin tests-passed
  else
      git fetch --tags --prune-tags --prune --force origin
  fi
'
From https://github.com/discourse/discourse
 - [deleted]             (none)     -> origin/0-app-events-revolution
 - [deleted]             (none)     -> origin/0-ember-bump-fix-modal
 - [deleted]             (none)     -> origin/0-polls-still
 - [deleted]             (none)     -> origin/0-rename-details
 - [deleted]             (none)     -> origin/0-simpler-placeholder
 - [deleted]             (none)     -> origin/0-store-bump
 - [deleted]             (none)     -> origin/0-tooltip
 - [deleted]             (none)     -> origin/0-user-status
 - [deleted]             (none)     -> origin/add-formkit-instruction-text
 - [deleted]             (none)     -> origin/add-live-reload-disable-option
 - [deleted]             (none)     -> origin/add-message-builder-modifier-3
 - [deleted]             (none)     -> origin/add-shift-detect
 - [deleted]             (none)     -> origin/add-shortcuts
 - [deleted]             (none)     -> origin/add-signal-to-notifications-template
 - [deleted]             (none)     -> origin/after-post-outlet
 - [deleted]             (none)     -> origin/again-support-load-more-btn
 - [deleted]             (none)     -> origin/allow-overriding-sidebar-my-posts-icon
 - [deleted]             (none)     -> origin/array-custom-field-order
 - [deleted]             (none)     -> origin/async-category-link
 - [deleted]             (none)     -> origin/bump-eslint-config
 - [deleted]             (none)     -> origin/carsick-patch-1
 - [deleted]             (none)     -> origin/cat-mod-groups
 - [deleted]             (none)     -> origin/category-experts-approved-webhook-event-wip
 - [deleted]             (none)     -> origin/chat-github-onebox
 - [deleted]             (none)     -> origin/chat-uppy-upload
 - [deleted]             (none)     -> origin/composer-disable-submit
 - [deleted]             (none)     -> origin/conditional-summary-box
 - [deleted]             (none)     -> origin/custom-field-store-cleanup
 - [deleted]             (none)     -> origin/d-object
 - [deleted]             (none)     -> origin/defer-button-action
 - [deleted]             (none)     -> origin/demote-summarize-ai-button
 - [deleted]             (none)     -> origin/dependabot/npm_and_yarn/uppy-b578ad6dea
 - [deleted]             (none)     -> origin/dev-better-active-selection-detection
 - [deleted]             (none)     -> origin/dev-fail-tests-on-fa6-deprecated-icons-from-svg-sprite-rb
 - [deleted]             (none)     -> origin/dev-faster-tests
 - [deleted]             (none)     -> origin/dev-migrate-user-passwords
 - [deleted]             (none)     -> origin/dev-refactor-username-validation-mixin
 - [deleted]             (none)     -> origin/dev/add-a-reference-column-to-notifications
 - [deleted]             (none)     -> origin/dev/advanced-search-custom-in-special
 - [deleted]             (none)     -> origin/dev/automation-scriptable-add-with-class
 - [deleted]             (none)     -> origin/dev/default-plugin-config-pages
 - [deleted]             (none)     -> origin/dev/drop-ignore-chat_channels_last_message_sent_at
 - [deleted]             (none)     -> origin/dev/port-outlet-wrapper-to-stable
 - [deleted]             (none)     -> origin/dev/refactor-uploads-importer
 - [deleted]             (none)     -> origin/dev/remove-deprecated-respect-plugin-positional-argument
 - [deleted]             (none)     -> origin/dev/sidebar-sections-collapse-expand-transformer-events
 - [deleted]             (none)     -> origin/dev/sidebar-subsections
 - [deleted]             (none)     -> origin/dev/third-party-breadcrumbs
 - [deleted]             (none)     -> origin/dev_add_query_param
 - [deleted]             (none)     -> origin/dev_lazy_load_categories_tests
 - [deleted]             (none)     -> origin/dev_update_category_position
 - [deleted]             (none)     -> origin/docs-publishing-mvp
 - [deleted]             (none)     -> origin/drawer-composer-positioning
 - [deleted]             (none)     -> origin/ember-4
 - [deleted]             (none)     -> origin/expand-allowed-custom-emoji-images-types
 - [deleted]             (none)     -> origin/extra-js-revert
 - [deleted]             (none)     -> origin/feature/add-user-to-topic_tags_changed-event
 - [deleted]             (none)     -> origin/feature/custom-fields-for-existing-users
 - [deleted]             (none)     -> origin/feature/enable-chat-with-dms-only
 - [deleted]             (none)     -> origin/feature/light-dark-mode-switcher
 - [deleted]             (none)     -> origin/feature/paste-upload-on-first-upload-input-templates
 - [deleted]             (none)     -> origin/feature/show-note-bookmark-notif
 - [deleted]             (none)     -> origin/feature/show-status-on-mentions-when-user-havent-used-autocomplete
 - [deleted]             (none)     -> origin/feature_pm_editor
 - [deleted]             (none)     -> origin/feature_track_mentions
 - [deleted]             (none)     -> origin/fix-directory-search-limit
 - [deleted]             (none)     -> origin/fix-display-errors-for-history-modal-when-fetching-revisions
 - [deleted]             (none)     -> origin/fix-firefox-android-followup
 - [deleted]             (none)     -> origin/fix-password-reset-security-key
 - [deleted]             (none)     -> origin/fix-redirect-login
 - [deleted]             (none)     -> origin/fix-safari-below-18-detection
 - [deleted]             (none)     -> origin/fix-search-context-delete-key
 - [deleted]             (none)     -> origin/fix-unread-notifications-take-2
 - [deleted]             (none)     -> origin/fix/migrated-reactions-count-calculation
 - [deleted]             (none)     -> origin/fix/tag-rename-404
 - [deleted]             (none)     -> origin/full-page
 - [deleted]             (none)     -> origin/glimmer-header-dnd-live
 - [deleted]             (none)     -> origin/group_and_tag_group_permission_change_notification
 - [deleted]             (none)     -> origin/handle-non-ascii-charc
 - [deleted]             (none)     -> origin/hijacks
 - [deleted]             (none)     -> origin/history-store-methods
 - [deleted]             (none)     -> origin/i18n-helper-import
 - [deleted]             (none)     -> origin/image-assets
 - [deleted]             (none)     -> origin/implicit-injections-deprecations
 - [deleted]             (none)     -> origin/improve-claimed-reviewables-transactions
 - [deleted]             (none)     -> origin/improve-tablet-detection
 - [deleted]             (none)     -> origin/issue/do-not-enforce-2fa-on-social-logins
 - [deleted]             (none)     -> origin/issue/fix-user-field-enum-migrate
 - [deleted]             (none)     -> origin/issue/fixup-upload-ref-backfill-migration-dates
 - [deleted]             (none)     -> origin/jjaffeux-otp-validation
 - [deleted]             (none)     -> origin/list-wrapper
 - [deleted]             (none)     -> origin/live-cache
 - [deleted]             (none)     -> origin/lock-step
 - [deleted]             (none)     -> origin/loic-enable-rspec-rule
 - [deleted]             (none)     -> origin/loic-upgrade-miniracer
 - [deleted]             (none)     -> origin/more-topics-active
 - [deleted]             (none)     -> origin/nginx-conf
 - [deleted]             (none)     -> origin/oklab
 - [deleted]             (none)     -> origin/omniauth-2
 - [deleted]             (none)     -> origin/pento/feature-allow-admins-to-export-users
 - [deleted]             (none)     -> origin/plugin-outlet-no-subdir
 - [deleted]             (none)     -> origin/post-widget-outlet
 - [deleted]             (none)     -> origin/powered-by-reactivity
 - [deleted]             (none)     -> origin/promote-migration-tweak
 - [deleted]             (none)     -> origin/prune-old-transpilers
 - [deleted]             (none)     -> origin/refactor-mobile-coposer-position-replace-actions
 - [deleted]             (none)     -> origin/remap-assume-yes-option
 - [deleted]             (none)     -> origin/remove-bootbox
 - [deleted]             (none)     -> origin/remove-muted-from-hot-and-top-topic-lists
 - [deleted]             (none)     -> origin/remove-x-count
 - [deleted]             (none)     -> origin/render-glimmer-granular
 - [deleted]             (none)     -> origin/revert-28587-revert-28321-dev/remove-create_post_for_category_and_tag_changes-setting
 - [deleted]             (none)     -> origin/revert-location-change
 - [deleted]             (none)     -> origin/revert-thread-title-experiment
 - [deleted]             (none)     -> origin/safari-hacks-sayonara
 - [deleted]             (none)     -> origin/see_if_yarn_cache_is_working
 - [deleted]             (none)     -> origin/shared-draft-category
 - [deleted]             (none)     -> origin/skip-back-button-animation
 - [deleted]             (none)     -> origin/tag-span
 - [deleted]             (none)     -> origin/temp-pr-28024
 - [deleted]             (none)     -> origin/testing_debian_12
 - [deleted]             (none)     -> origin/tobiaseigen-patch-4
 - [deleted]             (none)     -> origin/topic-count-fix
 - [deleted]             (none)     -> origin/topic-list-item-style
 - [deleted]             (none)     -> origin/translations-from-crowdin-main
 - [deleted]             (none)     -> origin/translations-from-crowdin-stable
 - [deleted]             (none)     -> origin/update-gems-stable
 - [deleted]             (none)     -> origin/ux/admin-site-setting-inner-sidebar-experiment
 - [deleted]             (none)     -> origin/whats-new-notify-plugins
   c64b5d6d7..c592edbe3  main                    -> origin/main
 * [new branch]          add-header-search-experience -> origin/add-header-search-experience
 + 3c0b2f75f...0d2238318 allow-posts-link-in-sidebar -> origin/allow-posts-link-in-sidebar  (forced update)
 * [new branch]          async-data              -> origin/async-data
 * [new branch]          automation-autoload     -> origin/automation-autoload
 * [new branch]          br/multiple_likes       -> origin/br/multiple_likes
 * [new branch]          branding-logo           -> origin/branding-logo
 * [new branch]          chat-summary-email-thread-reply-fix -> origin/chat-summary-email-thread-reply-fix
 * [new branch]          d-menu-composer-flag    -> origin/d-menu-composer-flag
 * [new branch]          dark-light-class        -> origin/dark-light-class
 * [new branch]          dark-light-mode-helpers -> origin/dark-light-mode-helpers
 * [new branch]          dependabot/bundler/selenium-webdriver-4.29.1 -> origin/dependabot/bundler/selenium-webdriver-4.29.1
 * [new branch]          dependabot/bundler/version_gem-1.1.5 -> origin/dependabot/bundler/version_gem-1.1.5
 * [new branch]          dependabot/npm_and_yarn/ace-builds-1.39.0 -> origin/dependabot/npm_and_yarn/ace-builds-1.39.0
 * [new branch]          dependabot/npm_and_yarn/discourse/lint-configs-2.7.0 -> origin/dependabot/npm_and_yarn/discourse/lint-configs-2.7.0
 * [new branch]          dependabot/npm_and_yarn/embroider-313a86a52a -> origin/dependabot/npm_and_yarn/embroider-313a86a52a
 * [new branch]          dependabot/npm_and_yarn/glimmer/syntax-0.94.7 -> origin/dependabot/npm_and_yarn/glimmer/syntax-0.94.7
 * [new branch]          dependabot/npm_and_yarn/jspreadsheet-ce-5.0.0 -> origin/dependabot/npm_and_yarn/jspreadsheet-ce-5.0.0
 * [new branch]          dependabot/npm_and_yarn/jsuites-5.9.1 -> origin/dependabot/npm_and_yarn/jsuites-5.9.1
 * [new branch]          dependabot/npm_and_yarn/lefthook-1.11.0 -> origin/dependabot/npm_and_yarn/lefthook-1.11.0
 * [new branch]          dependabot/npm_and_yarn/prosemirror-commands-1.7.0 -> origin/dependabot/npm_and_yarn/prosemirror-commands-1.7.0
 * [new branch]          dependabot/npm_and_yarn/uppy-b82cdcd59c -> origin/dependabot/npm_and_yarn/uppy-b82cdcd59c
 * [new branch]          dev-refactor-password-validation-for-create-account -> origin/dev-refactor-password-validation-for-create-account
 + 72ff8f1eb...699aa3755 dev-refactor-username-validation-mixin-to-helper -> origin/dev-refactor-username-validation-mixin-to-helper  (forced update)
 * [new branch]          dev/auto-screen-size-screenshots -> origin/dev/auto-screen-size-screenshots
 + ec68ffb95...a1849cd39 dev/color-palette-editor -> origin/dev/color-palette-editor  (forced update)
 * [new branch]          dev/ember-async-data-demo -> origin/dev/ember-async-data-demo
 * [new branch]          dev/glimmer-post-stream -> origin/dev/glimmer-post-stream
 * [new branch]          dev/purge-widget-post-menu -> origin/dev/purge-widget-post-menu
 * [new branch]          dev/remove-deprecated-auth-provider-options -> origin/dev/remove-deprecated-auth-provider-options
 * [new branch]          dev/user-field-components-transformer -> origin/dev/user-field-components-transformer
 * [new branch]          discourse-emojis-gem    -> origin/discourse-emojis-gem
 * [new branch]          feature-markdown-hex-color -> origin/feature-markdown-hex-color
 * [new branch]          feature/admin-search-improvements-2 -> origin/feature/admin-search-improvements-2
 * [new branch]          feature/admins-access-group-chats -> origin/feature/admins-access-group-chats
 * [new branch]          feature_pm_codeblock    -> origin/feature_pm_codeblock
 * [new branch]          feature_pm_emoji        -> origin/feature_pm_emoji
 * [new branch]          feature_pm_hashtag      -> origin/feature_pm_hashtag
 * [new branch]          feature_pm_html_block   -> origin/feature_pm_html_block
 * [new branch]          feature_pm_html_inline  -> origin/feature_pm_html_inline
 * [new branch]          feature_pm_image        -> origin/feature_pm_image
 * [new branch]          feature_pm_link         -> origin/feature_pm_link
 * [new branch]          feature_pm_mention      -> origin/feature_pm_mention
 * [new branch]          feature_pm_quote        -> origin/feature_pm_quote
 * [new branch]          feature_pm_strikethrough -> origin/feature_pm_strikethrough
 * [new branch]          feature_pm_table        -> origin/feature_pm_table
 * [new branch]          feature_pm_typographer  -> origin/feature_pm_typographer
 * [new branch]          feature_pm_underline    -> origin/feature_pm_underline
 * [new branch]          filter-navigation-ui    -> origin/filter-navigation-ui
 * [new branch]          fix-zlib                -> origin/fix-zlib
 * [new branch]          fps-errors              -> origin/fps-errors
 * [new branch]          google-topic-count      -> origin/google-topic-count
 * [new branch]          google-translate-defender -> origin/google-translate-defender
 * [new branch]          loic-rspec-instance-var-globally -> origin/loic-rspec-instance-var-globally
 * [new branch]          loic-upgrade-sidekiq    -> origin/loic-upgrade-sidekiq
 * [new branch]          loic-use-bundler-checksums -> origin/loic-use-bundler-checksums
 + 0f2f74d08...06c4fcf62 mt/idb                  -> origin/mt/idb  (forced update)
 * [new branch]          pento/dev-upgrade-pnpm-10 -> origin/pento/dev-upgrade-pnpm-10
 * [new branch]          pento/feature-which-watched-words-were-written -> origin/pento/feature-which-watched-words-were-written
 * [new branch]          quick-smoke-test        -> origin/quick-smoke-test
 + de3691471...e5890e554 renato/pm               -> origin/renato/pm  (forced update)
 * [new branch]          service-to-update-site-settings -> origin/service-to-update-site-settings
 * [new branch]          settings-console-log    -> origin/settings-console-log
 * [new branch]          split-common-css        -> origin/split-common-css
 * [new branch]          split-cook-sanitise     -> origin/split-cook-sanitise
   5d4c2a89e..3bbf96fa2  stable                  -> origin/stable
   c64b5d6d7..c592edbe3  tests-passed            -> origin/tests-passed
 * [new branch]          tobiaseigen-patch-3     -> origin/tobiaseigen-patch-3
 * [new branch]          tobiaseigen-patch-3-1   -> origin/tobiaseigen-patch-3-1
 * [new branch]          topic-list-outlet-add-columns -> origin/topic-list-outlet-add-columns
 * [new branch]          topic-list-outlet-add-columns-stable -> origin/topic-list-outlet-add-columns-stable
   415cccafb..c43caf483  user-fields-plugin-outlets-update -> origin/user-fields-plugin-outlets-update
 * [new branch]          user-menu-full-name-rebased -> origin/user-menu-full-name-rebased
 * [new branch]          user-summary-topic-add-plugin-wrappers -> origin/user-summary-topic-add-plugin-wrappers
   10566d84b..c540132fe  ux/combined-themes-components-sidebar-links -> origin/ux/combined-themes-components-sidebar-links
 * [new branch]          visual-experiment       -> origin/visual-experiment
 t [tag update]          beta                    -> beta
 t [tag update]          latest-release          -> latest-release
 * [new tag]             v3.3.4                  -> v3.3.4
 * [new tag]             v3.4.0                  -> v3.4.0
 * [new tag]             v3.4.0.beta4            -> v3.4.0.beta4
I, [2025-02-23T21:31:57.296600 #1]  INFO -- : 
I, [2025-02-23T21:31:57.296733 #1]  INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse bash -c '
  set -o errexit
  if [[ $(git symbolic-ref --short HEAD) == tests-passed ]] ; then
      git pull
  else
      git -c advice.detachedHead=false checkout tests-passed
  fi
'
Switched to a new branch 'tests-passed'
I, [2025-02-23T21:32:04.677353 #1]  INFO -- : branch 'tests-passed' set up to track 'origin/tests-passed'.

I, [2025-02-23T21:32:04.677495 #1]  INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse git config user.discourse-version tests-passed
I, [2025-02-23T21:32:04.687215 #1]  INFO -- : 
I, [2025-02-23T21:32:04.687345 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp
I, [2025-02-23T21:32:04.689947 #1]  INFO -- : 
I, [2025-02-23T21:32:04.690059 #1]  INFO -- : > cd /var/www/discourse && chown discourse:www-data tmp
I, [2025-02-23T21:32:04.692174 #1]  INFO -- : 
I, [2025-02-23T21:32:04.692262 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp/pids
I, [2025-02-23T21:32:04.694723 #1]  INFO -- : 
I, [2025-02-23T21:32:04.694831 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp/sockets
I, [2025-02-23T21:32:04.697364 #1]  INFO -- : 
I, [2025-02-23T21:32:04.697473 #1]  INFO -- : > cd /var/www/discourse && touch tmp/.gitkeep
I, [2025-02-23T21:32:04.700136 #1]  INFO -- : 
I, [2025-02-23T21:32:04.700225 #1]  INFO -- : > cd /var/www/discourse && mkdir -p                    /shared/log/rails
I, [2025-02-23T21:32:04.702909 #1]  INFO -- : 
I, [2025-02-23T21:32:04.703024 #1]  INFO -- : > cd /var/www/discourse && bash -c "touch -a           /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.log"
I, [2025-02-23T21:32:04.706561 #1]  INFO -- : 
I, [2025-02-23T21:32:04.706677 #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-02-23T21:32:04.710695 #1]  INFO -- : 
I, [2025-02-23T21:32:04.710815 #1]  INFO -- : > cd /var/www/discourse && bash -c "mkdir -p           /shared/{uploads,backups}"
I, [2025-02-23T21:32:04.714221 #1]  INFO -- : 
I, [2025-02-23T21:32:04.714336 #1]  INFO -- : > cd /var/www/discourse && bash -c "ln    -s           /shared/{uploads,backups} /var/www/discourse/public"
I, [2025-02-23T21:32:04.717925 #1]  INFO -- : 
I, [2025-02-23T21:32:04.718041 #1]  INFO -- : > cd /var/www/discourse && bash -c "mkdir -p           /shared/tmp/{backups,restores}"
I, [2025-02-23T21:32:04.721614 #1]  INFO -- : 
I, [2025-02-23T21:32:04.721733 #1]  INFO -- : > cd /var/www/discourse && bash -c "ln    -s           /shared/tmp/{backups,restores} /var/www/discourse/tmp"
I, [2025-02-23T21:32:04.725034 #1]  INFO -- : 
I, [2025-02-23T21:32:04.725125 #1]  INFO -- : > cd /var/www/discourse && chown -R discourse:www-data /shared/log/rails /shared/uploads /shared/backups /shared/tmp
I, [2025-02-23T21:32:04.730671 #1]  INFO -- : 
I, [2025-02-23T21:32:04.730760 #1]  INFO -- : > cd /var/www/discourse && [ ! -d public/plugins ] || find public/plugins/ -maxdepth 1 -xtype l -delete
I, [2025-02-23T21:32:04.732141 #1]  INFO -- : 
I, [2025-02-23T21:32:04.732314 #1]  INFO -- : Replacing # redis with if [ ! -d /shared/redis_data ]; then
  install -d -m 0755 -o redis -g redis /shared/redis_data
fi
sv start redis || exit 1 in /etc/service/unicorn/run
I, [2025-02-23T21:32:04.732683 #1]  INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/discourse/docker_manager.git
Cloning into 'docker_manager'...
I, [2025-02-23T21:32:06.364218 #1]  INFO -- : 
I, [2025-02-23T21:32:06.364365 #1]  INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/communiteq/discourse-private-topics.git
Cloning into 'discourse-private-topics'...
I, [2025-02-23T21:32:06.892558 #1]  INFO -- : 
I, [2025-02-23T21:32:06.892899 #1]  INFO -- : > cp /var/www/discourse/config/nginx.sample.conf /etc/nginx/conf.d/discourse.conf
I, [2025-02-23T21:32:06.896196 #1]  INFO -- : 
I, [2025-02-23T21:32:06.896282 #1]  INFO -- : > rm /etc/nginx/sites-enabled/default
I, [2025-02-23T21:32:06.897841 #1]  INFO -- : 
I, [2025-02-23T21:32:06.897944 #1]  INFO -- : > mkdir -p /var/nginx/cache
I, [2025-02-23T21:32:06.899818 #1]  INFO -- : 
I, [2025-02-23T21:32:06.900052 #1]  INFO -- : Replacing pid /run/nginx.pid; with daemon off; in /etc/nginx/nginx.conf
I, [2025-02-23T21:32:07.254223 #1]  INFO -- : Replacing (?m-ix:upstream[^\}]+\}) with upstream discourse { server 127.0.0.1:3000; } in /etc/nginx/conf.d/discourse.conf
I, [2025-02-23T21:32:07.254567 #1]  INFO -- : Replacing (?-mix:server_name.+$) with server_name _ ; in /etc/nginx/conf.d/discourse.conf
I, [2025-02-23T21:32:07.254851 #1]  INFO -- : Replacing (?-mix:client_max_body_size.+$) with client_max_body_size $upload_size ; in /etc/nginx/conf.d/discourse.conf
I, [2025-02-23T21:32:07.255150 #1]  INFO -- : Replacing (?-mix:worker_connections.+$) with worker_connections $nginx_worker_connections ; in /etc/nginx/nginx.conf
I, [2025-02-23T21:32:07.255395 #1]  INFO -- : > echo "done configuring web"
I, [2025-02-23T21:32:07.257025 #1]  INFO -- : done configuring web

I, [2025-02-23T21:32:07.257257 #1]  INFO -- : > cd /var/www/discourse && gem install bundler --conservative -v $(awk '/BUNDLED WITH/ { getline; gsub(/ /,""); print $0 }' Gemfile.lock)
I, [2025-02-23T21:32:07.571956 #1]  INFO -- : 
I, [2025-02-23T21:32:07.572060 #1]  INFO -- : > cd /var/www/discourse && find /var/www/discourse ! -user discourse -exec chown discourse {} \+
I, [2025-02-23T21:32:10.071774 #1]  INFO -- : 
I, [2025-02-23T21:32:10.072044 #1]  INFO -- : > cd /var/www/discourse && if [ -f yarn.lock ]; then
  if [ -d node_modules/.pnpm ]; then
    echo "This version of Discourse uses yarn, but pnpm node_modules are preset. Cleaning up..."
    find ./node_modules ./app/assets/javascripts/*/node_modules -mindepth 1 -maxdepth 1 -exec rm -rf {} +
  fi
  su discourse -c 'yarn install --frozen-lockfile && yarn cache clean'
else
  su discourse -c 'CI=1 pnpm install --frozen-lockfile && pnpm prune'
fi
I, [2025-02-23T21:32:11.693445 #1]  INFO -- : Scope: all 17 workspace projects
Lockfile is up to date, resolution step is skipped
 EINVAL  EINVAL: invalid argument, rmdir '/var/www/discourse/app/assets/javascripts/dialog-holder/node_modules/.bin'




109:signal-handler (1740346331) Received SIGTERM scheduling shutdown...
I, [2025-02-23T21:32:11.694179 #1]  INFO -- : Terminating async processes
I, [2025-02-23T21:32:11.694216 #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/15/bin/postmaster -D /etc/postgresql/15/main pid: 42
I, [2025-02-23T21:32:11.694264 #1]  INFO -- : Sending TERM to exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 109
2025-02-23 21:32:11.694 UTC [42] LOG:  received fast shutdown request
109:M 23 Feb 2025 21:32:11.696 # User requested shutdown...
109:M 23 Feb 2025 21:32:11.697 * Saving the final RDB snapshot before exiting.
2025-02-23 21:32:11.721 UTC [42] LOG:  aborting any active transactions
2025-02-23 21:32:11.723 UTC [42] LOG:  background worker "logical replication launcher" (PID 56) exited with exit code 1
2025-02-23 21:32:11.724 UTC [51] LOG:  shutting down
2025-02-23 21:32:11.741 UTC [51] LOG:  checkpoint starting: shutdown immediate
109:M 23 Feb 2025 21:32:11.743 * DB saved on disk
109:M 23 Feb 2025 21:32:11.744 # Redis is now ready to exit, bye bye...
2025-02-23 21:32:11.808 UTC [51] LOG:  checkpoint complete: wrote 4 buffers (0.0%); 0 WAL file(s) added, 0 removed, 0 recycled; write=0.002 s, sync=0.027 s, total=0.084 s; sync files=3, longest=0.010 s, average=0.009 s; distance=5 kB, estimate=5 kB
2025-02-23 21:32:11.814 UTC [42] LOG:  database system is shut down


FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && if [ -f yarn.lock ]; then
  if [ -d node_modules/.pnpm ]; then
    echo "This version of Discourse uses yarn, but pnpm node_modules are preset. Cleaning up..."
    find ./node_modules ./app/assets/javascripts/*/node_modules -mindepth 1 -maxdepth 1 -exec rm -rf {} +
  fi
  su discourse -c 'yarn install --frozen-lockfile && yarn cache clean'
else
  su discourse -c 'CI=1 pnpm install --frozen-lockfile && pnpm prune'
fi failed with return #<Process::Status: pid 291 exit 234>
Location of failure: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"yarn", "cmd"=>["if [ -f yarn.lock ]; then\n  if [ -d node_modules/.pnpm ]; then\n    echo \"This version of Discourse uses yarn, but pnpm node_modules are preset. Cleaning up...\"\n    find ./node_modules ./app/assets/javascripts/*/node_modules -mindepth 1 -maxdepth 1 -exec rm -rf {} +\n  fi\n  su discourse -c 'yarn install --frozen-lockfile && yarn cache clean'\nelse\n  su discourse -c 'CI=1 pnpm install --frozen-lockfile && pnpm prune'\nfi"]}
bootstrap failed with exit code 234
** 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.
68eb690ebbefa36c472b2628bca09d4d06458c7deb1eafab921cfefc2a7120af

The LXC container is using Debian bullseye with latest updates installed.

Here’s the correct way to switch to PNPM as Discourse has transitioned to PNPM as its package manager,

  1. Ensure PNPM is installed: pnpm --version
  2. If it’s not installed, install it using npm: npm install -g pnpm
  3. Clean up old dependencies:
    rm -rf /var/www/discourse/node_modules
    rm -rf /var/www/discourse/app/assets/javascripts/*/node_modules
  4. Pull the lastest code:
    cd /var/discourse
    git pull
  5. Rebuild Discourse: ./launcher rebuild app

Point 4 and git pull isn’t needed, because rebuild does it.

1 Like

It does now, but it didn’t previously, so this is advice which works also for a very old installation.

Well, is out there any that old instances :man_shrugging: Not a big deal, though.

I mention it because when people get trouble upgrading, sometimes the reason is that they are a very long way behind. So it’s in exactly these threads that we should be as robust as we can.

How old is your installation? Have you previously upgraded successfully? How old is your OS?

Sometimes a problem is due to extensions which are no longer compatible, and the advice is to share a carefully censored version of your app.yml. I’m not sure if that’s very likely to be the problem here.