./launcher reconstruir error de la app: bootstrap falló con código de salida 234

La actualización de Discourse mediante ./launcher rebuild app falla con la siguiente salida:

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'.

Se ha producido un error en mi actualización

```ruby
api_key = "a quick brown fox"
fetch("https://api.example.com/data", headers: { 'Authorization' => api_key })

Por favor, ayúdame a corregirlo.

I, [2025-02-23T14:01:04.408487 #1] INFO – : > cd /var/www/discourse && sudo -H -E -u discourse 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-data 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:www-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 – : Reemplazando # redis con if [ ! -d /shared/redis_data ]; then
install -d -m 0755 -o redis -g redis /shared/redis_data
fi
sv start redis || exit 1 en /etc/service/unicorn/run
I, [2025-02-23T14:01:04.461290 #1] INFO – : > cd /var/www/discourse/plugins && git clone GitHub - discourse/docker_manager: Plugin for use with discourse docker image · GitHub
Clonando en ‘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 GitHub - communiteq/discourse-private-topics · GitHub
Clonando en ‘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 – : Reemplazando pid /run/nginx.pid; con daemon off; en /etc/nginx/nginx.conf
I, [2025-02-23T14:01:06.392764 #1] INFO – : Reemplazando (?m-ix:upstream[^}]+}) con upstream discourse { server 127.0.0.1:3000; } en /etc/nginx/conf.d/discourse.conf
I, [2025-02-23T14:01:06.393104 #1] INFO – : Reemplazando (?-mix:server_name.+$) con server_name _ ; en /etc/nginx/conf.d/discourse.conf
I, [2025-02-23T14:01:06.393446 #1] INFO – : Reemplazando (?-mix:client_max_body_size.+$) con client_max_body_size $upload_size ; en /etc/nginx/conf.d/discourse.conf
I, [2025-02-23T14:01:06.393786 #1] INFO – : Reemplazando (?-mix:worker_connections.+$) con worker_connections $nginx_worker_connections ; en /etc/nginx/nginx.conf
I, [2025-02-23T14:01:06.394050 #1] INFO – : > echo “configuración web completada”
I, [2025-02-23T14:01:06.395702 #1] INFO – : configuración web completada

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/discourse ! -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 “Esta versión de Discourse usa yarn, pero los node_modules de pnpm están presentes. Limpiando…”
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 – : Ámbito: todos los 17 proyectos de workspace
El lockfile está actualizado, se omite el paso de resolución
<80><89>EINVAL<80><89> EINVAL: argumento no válido, rmdir ‘/var/www/discourse/app/assets/javascripts/dialog-holder/node_modules/.bin’

I, [2025-02-23T14:01:10.746702 #1] INFO – : Terminando procesos asíncronos
I, [2025-02-23T14:01:10.746784 #1] INFO – : Enviando INT a 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-23T14:01:10.746868 #1] INFO – : Enviando TERM a exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 109
2025-02-23 14:01:10.746 UTC [42] LOG: recibida solicitud de apagado rápido
109:signal-handler (1740319270) Recibida señal SIGTERM, programando apagado…
109:M 23 Feb 2025 14:01:10.753 # El usuario ha solicitado el apagado…
109:M 23 Feb 2025 14:01:10.753 * Guardando la instantánea RDB final antes de salir.
2025-02-23 14:01:10.772 UTC [42] LOG: abortando cualquier transacción activa
2025-02-23 14:01:10.774 UTC [42] LOG: el trabajador de fondo “logical replication launcher” (PID 56) salió con código de salida 1
2025-02-23 14:01:10.774 UTC [51] LOG: apagando
2025-02-23 14:01:10.792 UTC [51] LOG: punto de control iniciado: apagado inmediato
109:M 23 Feb 2025 14:01:10.801 * BD guardada en disco
109:M 23 Feb 2025 14:01:10.801 # Redis está listo para salir, adiós…
2025-02-23 14:01:10.867 UTC [51] LOG: punto de control completado: escribió 4 buffers (0.0%); 0 archivo(s) WAL añadidos, 0 eliminados, 0 reciclados; 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: el sistema de base de datos está apagado

FALLIDO

Pups::ExecError: cd /var/www/discourse && if [ -f yarn.lock ]; then
if [ -d node_modules/.pnpm ]; then
echo “Esta versión de Discourse usa yarn, pero los node_modules de pnpm están presentes. Limpiando…”
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 falló con retorno #<Process::Status: pid 290 exit 234>
Ubicación del fallo: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn’
exec falló con los parámetros {“cd”=>“$home”, “hook”=>“yarn”, “cmd”=>["if [ -f yarn.lock ]; then\n if [ -d node_modules/.pnpm ]; then\n echo "Esta versión de Discourse usa yarn, pero los node_modules de pnpm están presentes. Limpiando…"\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 fallido con código de salida 234
** FALLO EN BOOTSTRAP ** por favor, desplázate hacia arriba y busca mensajes de error anteriores, puede haber más de uno.
./discourse-doctor puede ayudar a diagnosticar el problema.
bf860505d7d5e6379093f311be8da79cc526d9f1180e779bca2470adef464e7d

No pude encontrar información sobre el `código de salida 234`. ¿Alguna idea de qué está fallando?

Creo que quizás aquí fue donde se encontró un error, quizás en el gestor de paquetes pnpm, pero no sé qué significa:
[cita=“Simon, poste:1, tema:353999, usuario:sjjh”]

I, [2025-02-23T14:01:10.746254 #1]  INFO -- : Alcance: los 17 proyectos del espacio de trabajo
El archivo de bloqueo está actualizado, se omite el paso de resolución
E28089EINVALE28089 EINVAL: argumento inválido, rmdir '/var/www/discourse/app/assets/
javascripts/dialog-holder/node_modules/.bin'

[/cita]

Creo que la línea de comando que se ejecutaba en ese momento sería

[cita=“Simon, poste:1, tema:353999, usuario:sjjh”]

  su discourse -c 'CI=1 pnpm install --frozen-lockfile  pnpm prune'

[/cita]

El error se debe a una discrepancia entre yarn y pnpm. La falla se debe específicamente a:
EINVAL: argumento inválido, rmdir '/var/www/discourse/app/assets/javascripts/dialog-holder/node_modules/.bin'

Pasos Sugeridos:

  1. Eliminar manualmente los Módulos de Nodo: rm -rf node_modules app/assets/javascripts/*/node_modules
  2. Ejecutar limpieza: ./launcher cleanup
  3. Reconstruir Discourse: ./launcher rebuild app

Seguí las instrucciones, pero lamentablemente el error persiste:

./launcher rebuild app
Se detectó arquitectura x86_64.

ADVERTENCIA: Estamos a punto de comenzar a descargar la imagen base de Discourse
Este proceso puede tardar desde unos pocos minutos hasta una hora, dependiendo de la velocidad de tu red

Por favor, ten paciencia

2.0.20250129-0720: Extrayendo desde discourse/base
af302e5c37e9: Extracción completa 
ed49ab5c933d: Extracción completa 
7cb9e730d898: Extracción completa 
7c28a6b187b2: Extracción completa 
23222af7238f: Extracción completa 
59b87d9ed5c1: Extracción completa 
90d60b432298: Extracción completa 
d3b3135aa82b: Extracción completa 
94e7b594395d: Extracción completa 
cf15e2c89d00: Extracción completa 
2c0cccf9ec27: Extracción completa 
5d8ea2a8d564: Extracción completa 
020f04b42275: Extracción completa 
06e22604f387: Extracción completa 
8b0ecc579aad: Extracción completa 
4d577f7424c0: Extracción completa 
37ef4781925f: Extracción completa 
30d67d1af761: Extracción completa 
43eaf8c26af4: Extracción completa 
02f4cc50eabd: Extracción completa 
93896ee36e56: Extracción completa 
fadd5d615e0e: Extracción completa 
85f9459cb30e: Extracción completa 
eaddca2afacb: Extracción completa 
f54443d29a2d: Extracción completa 
ed6f0f133683: Extracción completa 
3d1894dc563f: Extracción completa 
51ca3f63c909: Extracción completa 
b87374db2274: Extracción completa 
Digest: sha256:01b8516e5504c0e9bc3707773015ff4407be03a89154194ff3b5b8699291bc26
Estado: Se descargó una imagen más reciente para discourse/base:2.0.20250129-0720
docker.io/discourse/base:2.0.20250129-0720
Asegurando que el launcher esté actualizado
Obteniendo origen
El launcher está actualizado
Deteniendo el contenedor anterior
+ /usr/bin/docker stop -t 600 app
app
2.0.20250129-0720: Extrayendo desde discourse/base
Digest: sha256:01b8516e5504c0e9bc3707773015ff4407be03a89154194ff3b5b8699291bc26
Estado: La imagen está actualizada para 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 -- : Leyendo desde stdin
I, [2025-02-23T21:28:35.919756 #1]  INFO -- : Archivo > /etc/service/postgres/run  chmod: +x  chown: 
I, [2025-02-23T21:28:35.923116 #1]  INFO -- : Archivo > /etc/service/postgres/log/run  chmod: +x  chown: 
I, [2025-02-23T21:28:35.926554 #1]  INFO -- : Archivo > /etc/runit/3.d/99-postgres  chmod: +x  chown: 
I, [2025-02-23T21:28:35.929994 #1]  INFO -- : Archivo > /root/install_postgres  chmod: +x  chown: 
I, [2025-02-23T21:28:35.933196 #1]  INFO -- : Archivo > /root/upgrade_postgres  chmod: +x  chown: 
I, [2025-02-23T21:28:35.933633 #1]  INFO -- : Reemplazando data_directory = '/var/lib/postgresql/15/main' con data_directory = '/shared/postgres_data' en /etc/postgresql/15/main/postgresql.conf
I, [2025-02-23T21:28:36.302682 #1]  INFO -- : Reemplazando (?-mix:#?listen_addresses *=.*) con listen_addresses = '*' en /etc/postgresql/15/main/postgresql.conf
I, [2025-02-23T21:28:36.303026 #1]  INFO -- : Reemplazando (?-mix:#?synchronous_commit *=.*) con synchronous_commit = $db_synchronous_commit en /etc/postgresql/15/main/postgresql.conf
I, [2025-02-23T21:28:36.303406 #1]  INFO -- : Reemplazando (?-mix:#?shared_buffers *=.*) con shared_buffers = $db_shared_buffers en /etc/postgresql/15/main/postgresql.conf
I, [2025-02-23T21:28:36.303714 #1]  INFO -- : Reemplazando (?-mix:#?work_mem *=.*) con work_mem = $db_work_mem en /etc/postgresql/15/main/postgresql.conf
I, [2025-02-23T21:28:36.304021 #1]  INFO -- : Reemplazando (?-mix:#?default_text_search_config *=.*) con default_text_search_config = '$db_default_text_search_config' en /etc/postgresql/15/main/postgresql.conf
I, [2025-02-23T21:28:36.304333 #1]  INFO -- : Reemplazando (?-mix:#?checkpoint_segments *=.*) con checkpoint_segments = $db_checkpoint_segments en /etc/postgresql/15/main/postgresql.conf
I, [2025-02-23T21:28:36.307838 #1]  INFO -- : Reemplazando (?-mix:#?logging_collector *=.*) con logging_collector = $db_logging_collector en /etc/postgresql/15/main/postgresql.conf
I, [2025-02-23T21:28:36.308366 #1]  INFO -- : Reemplazando (?-mix:#?log_min_duration_statement *=.*) con log_min_duration_statement = $db_log_min_duration_statement en /etc/postgresql/15/main/postgresql.conf
I, [2025-02-23T21:28:36.308727 #1]  INFO -- : Reemplazando (?-mix:^#local +replication +postgres +peer$) con local replication postgres  peer en /etc/postgresql/15/main/pg_hba.conf
I, [2025-02-23T21:28:36.496135 #1]  INFO -- : Reemplazando (?-mix:^host.*all.*all.*127.*$) con host all all 0.0.0.0/0 md5 en /etc/postgresql/15/main/pg_hba.conf
I, [2025-02-23T21:28:36.496438 #1]  INFO -- : Reemplazando (?-mix:^host.*all.*all.*::1\/128.*$) con host all all ::/0 md5 en /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 ya se está ejecutando, detener contenedor ; exit 1
fi

I, [2025-02-23T21:31:39.513487 #1]  INFO -- : Generando locales (esto puede tardar un poco)...
  en_US.UTF-8... hecho
Generación completa.

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 -- : Archivo > /usr/local/bin/create_db  chmod: +x  chown: 
I, [2025-02-23T21:31:39.523443 #1]  INFO -- : Archivo > /var/lib/postgresql/take-database-backup  chmod: +x  chown: postgres:postgres
I, [2025-02-23T21:31:39.525967 #1]  INFO -- : Archivo > /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:  iniciando PostgreSQL 15.10 (Debian 15.10-1.pgdg120+1) en x86_64-pc-linux-gnu, compilado por gcc (Debian 12.2.0-14) 12.2.0, 64 bits
2025-02-23 21:31:39.615 UTC [42] LOG:  escuchando en la dirección IPv4 "0.0.0.0", puerto 5432
2025-02-23 21:31:39.615 UTC [42] LOG:  escuchando en la dirección IPv6 "::", puerto 5432
2025-02-23 21:31:39.627 UTC [42] LOG:  escuchando en el socket Unix "/var/run/postgresql/.s.PGSQL.5432"
2025-02-23 21:31:39.645 UTC [53] LOG:  el sistema de bases de datos se apagó el 2025-02-23 14:01:10 UTC
2025-02-23 21:31:39.657 UTC [42] LOG:  el sistema de bases de datos está listo para aceptar conexiones
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:  la base de datos "discourse" ya existe
2025-02-23 21:31:44.600 UTC [60] postgres@postgres STATEMENT:  CREATE DATABASE discourse;
createdb: error: la creación de la base de datos falló: ERROR:  la base de datos "discourse" ya existe
2025-02-23 21:31:44.662 UTC [63] postgres@discourse ERROR:  el rol "discourse" ya existe
2025-02-23 21:31:44.662 UTC [63] postgres@discourse STATEMENT:  create user discourse;
ERROR:  el rol "discourse" ya existe
NOTICE:  la extensión "hstore" ya existe, omitiendo
NOTICE:  la extensión "pg_trgm" ya existe, omitiendo
NOTICE:  la extensión "vector" ya existe, omitiendo
NOTICE:  la versión "0.8.0" de la extensión "vector" ya está instalada
NOTICE:  la extensión "hstore" ya existe, omitiendo
NOTICE:  la extensión "pg_trgm" ya existe, omitiendo
NOTICE:  la extensión "vector" ya existe, omitiendo
NOTICE:  la versión "0.8.0" de la extensión "vector" ya está instalada
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 instalado!
I, [2025-02-23T21:31:45.279850 #1]  INFO -- : postgres instalado!

I, [2025-02-23T21:31:45.283348 #1]  INFO -- : Archivo > /etc/service/redis/run  chmod: +x  chown: 
I, [2025-02-23T21:31:45.286683 #1]  INFO -- : Archivo > /etc/service/redis/log/run  chmod: +x  chown: 
I, [2025-02-23T21:31:45.289832 #1]  INFO -- : Archivo > /etc/runit/3.d/10-redis  chmod: +x  chown: 
I, [2025-02-23T21:31:45.290389 #1]  INFO -- : Reemplazando daemonize yes con  en /etc/redis/redis.conf
I, [2025-02-23T21:31:45.482750 #1]  INFO -- : Reemplazando (?-mix:^pidfile.*$) con  en /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 -- : Reemplazando (?-mix:^logfile.*$) con logfile "" en /etc/redis/redis.conf
I, [2025-02-23T21:31:45.487000 #1]  INFO -- : Reemplazando (?-mix:^bind .*$) con  en /etc/redis/redis.conf
I, [2025-02-23T21:31:45.487412 #1]  INFO -- : Reemplazando (?-mix:^dir .*$) con dir /shared/redis_data en /etc/redis/redis.conf
I, [2025-02-23T21:31:45.487861 #1]  INFO -- : Reemplazando (?-mix:^protected-mode yes) con protected-mode no en /etc/redis/redis.conf
I, [2025-02-23T21:31:45.488227 #1]  INFO -- : Reemplazando # io-threads 4 con io-threads $redis_io_threads en /etc/redis/redis.conf
I, [2025-02-23T21:31:45.488550 #1]  INFO -- : > echo redis instalado
I, [2025-02-23T21:31:45.489940 #1]  INFO -- : redis instalado

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 está iniciando oO0OoO0OoO0Oo
109:C 23 Feb 2025 21:31:45.507 # Versión de Redis=7.0.15, bits=64, commit=00000000, modificado=0, pid=109, recién iniciado
109:C 23 Feb 2025 21:31:45.507 # Configuración cargada
109:M 23 Feb 2025 21:31:45.507 * reloj monótono: POSIX clock_gettime
109:M 23 Feb 2025 21:31:45.508 * Modo de ejecución=standalone, puerto=6379.
109:M 23 Feb 2025 21:31:45.508 # Servidor inicializado
109:M 23 Feb 2025 21:31:45.508 # ADVERTENCIA ¡El sobrecompromiso de memoria debe estar habilitado! Sin él, una guardado en segundo plano o replicación puede fallar bajo condiciones de memoria baja. Si está deshabilitado, también puede causar fallos sin condiciones de memoria baja, ver https://github.com/jemalloc/jemalloc/issues/1328. Para solucionar este problema, añade 'vm.overcommit_memory = 1' a /etc/sysctl.conf y luego reinicia o ejecuta el comando 'sysctl vm.overcommit_memory=1' para que surta efecto.
109:M 23 Feb 2025 21:31:45.509 * Cargando RDB producido por la versión 7.0.7
109:M 23 Feb 2025 21:31:45.509 * Edad del RDB 254 segundos
109:M 23 Feb 2025 21:31:45.509 * Uso de memoria del RDB al crearse 2.00 Mb
109:M 23 Feb 2025 21:31:45.513 * Terminada la carga de RDB, claves cargadas: 1587, claves expiradas: 0.
109:M 23 Feb 2025 21:31:45.513 * BD cargada desde disco: 0.004 segundos
109:M 23 Feb 2025 21:31:45.513 * Listo para aceptar conexiones
I, [2025-02-23T21:31:55.496692 #1]  INFO -- : 
I, [2025-02-23T21:31:55.496981 #1]  INFO -- : > thpoff echo "¡thpoff está instalado!"
I, [2025-02-23T21:31:55.499725 #1]  INFO -- : ¡thpoff está instalado!

I, [2025-02-23T21:31:55.499945 #1]  INFO -- : > /usr/local/bin/ruby -e 'if ENV["DISCOURSE_SMTP_ADDRESS"] == "smtp.example.com"; puts "¡Abortando! ¡El correo no está configurado!"; 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 "¡Abortando! ¡El dominio no está configurado!"; 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 "¡Abortando! El CDN debe tener un protocolo especificado. Una vez corregido, deberás rehacer tus publicaciones ahora para corregir todas las publicaciones."; 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 -- : Archivo > /etc/cron.d/anacron  chmod:   chown: 
I, [2025-02-23T21:31:55.801027 #1]  INFO -- : Archivo > /etc/runit/1.d/copy-env  chmod: +x  chown: 
I, [2025-02-23T21:31:55.804619 #1]  INFO -- : Archivo > /etc/service/unicorn/run  chmod: +x  chown: 
I, [2025-02-23T21:31:55.807956 #1]  INFO -- : Archivo > /etc/service/nginx/run  chmod: +x  chown: 
I, [2025-02-23T21:31:55.811451 #1]  INFO -- : Archivo > /etc/runit/3.d/01-nginx  chmod: +x  chown: 
I, [2025-02-23T21:31:55.814769 #1]  INFO -- : Archivo > /etc/runit/3.d/02-unicorn  chmod: +x  chown: 
I, [2025-02-23T21:31:55.814902 #1]  INFO -- : Reemplazando # postgres con if [ -f /root/install_postgres ]; then
  /root/install_postgres
  rm /root/install_postgres
fi
sv start postgres || exit 1
 en /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
'
Desde https://github.com/discourse/discourse
 - [eliminado]             (ninguno)     -> origin/0-app-events-revolution
 - [eliminado]             (ninguno)     -> origin/0-ember-bump-fix-modal
 - [eliminado]             (ninguno)     -> origin/0-polls-still
 - [eliminado]             (ninguno)     -> origin/0-rename-details
 - [eliminado]             (ninguno)     -> origin/0-simpler-placeholder
 - [eliminado]             (ninguno)     -> origin/0-store-bump
 - [eliminado]             (ninguno)     -> origin/0-tooltip
 - [eliminado]             (ninguno)     -> origin/0-user-status
 - [eliminado]             (ninguno)     -> origin/add-formkit-instruction-text
 - [eliminado]             (ninguno)     -> origin/add-live-reload-disable-option
 - [eliminado]             (ninguno)     -> origin/add-message-builder-modifier-3
 - [eliminado]             (ninguno)     -> origin/add-shift-detect
 - [eliminado]             (ninguno)     -> origin/add-shortcuts
 - [eliminado]             (ninguno)     -> origin/add-signal-to-notifications-template
 - [eliminado]             (ninguno)     -> origin/after-post-outlet
 - [eliminado]             (ninguno)     -> origin/again-support-load-more-btn
 - [eliminado]             (ninguno)     -> origin/allow-overriding-sidebar-my-posts-icon
 - [eliminado]             (ninguno)     -> origin/array-custom-field-order
 - [eliminado]             (ninguno)     -> origin/async-category-link
 - [eliminado]             (ninguno)     -> origin/bump-eslint-config
 - [eliminado]             (ninguno)     -> origin/carsick-patch-1
 - [eliminado]             (ninguno)     -> origin/cat-mod-groups
 - [eliminado]             (ninguno)     -> origin/category-experts-approved-webhook-event-wip
 - [eliminado]             (ninguno)     -> origin/chat-github-onebox
 - [eliminado]             (ninguno)     -> origin/chat-uppy-upload
 - [eliminado]             (ninguno)     -> origin/composer-disable-submit
 - [eliminado]             (ninguno)     -> origin/conditional-summary-box
 - [eliminado]             (ninguno)     -> origin/custom-field-store-cleanup
 - [eliminado]             (ninguno)     -> origin/d-object
 - [eliminado]             (ninguno)     -> origin/defer-button-action
 - [eliminado]             (ninguno)     -> origin/demote-summarize-ai-button
 - [eliminado]             (ninguno)     -> origin/dependabot/npm_and_yarn/uppy-b578ad6dea
 - [eliminado]             (ninguno)     -> origin/dev-better-active-selection-detection
 - [eliminado]             (ninguno)     -> origin/dev-fail-tests-on-fa6-deprecated-icons-from-svg-sprite-rb
 - [eliminado]             (ninguno)     -> origin/dev-faster-tests
 - [eliminado]             (ninguno)     -> origin/dev-migrate-user-passwords
 - [eliminado]             (ninguno)     -> origin/dev-refactor-username-validation-mixin
 - [eliminado]             (ninguno)     -> origin/dev/add-a-reference-column-to-notifications
 - [eliminado]             (ninguno)     -> origin/dev/advanced-search-custom-in-special
 - [eliminado]             (ninguno)     -> origin/dev/automation-scriptable-add-with-class
 - [eliminado]             (ninguno)     -> origin/dev/default-plugin-config-pages
 - [eliminado]             (ninguno)     -> origin/dev/drop-ignore-chat_channels_last_message_sent_at
 - [eliminado]             (ninguno)     -> origin/dev/port-outlet-wrapper-to-stable
 - [eliminado]             (ninguno)     -> origin/dev/refactor-uploads-importer
 - [eliminado]             (ninguno)     -> origin/dev/remove-deprecated-respect-plugin-positional-argument
 - [eliminado]             (ninguno)     -> origin/dev/sidebar-sections-collapse-expand-transformer-events
 - [eliminado]             (ninguno)     -> origin/dev/sidebar-subsections
 - [eliminado]             (ninguno)     -> origin/dev/third-party-breadcrumbs
 - [eliminado]             (ninguno)     -> origin/dev_add_query_param
 - [eliminado]             (ninguno)     -> origin/dev_lazy_load_categories_tests
 - [eliminado]             (ninguno)     -> origin/dev_update_category_position
 - [eliminado]             (ninguno)     -> origin/docs-publishing-mvp
 - [eliminado]             (ninguno)     -> origin/drawer-composer-positioning
 - [eliminado]             (ninguno)     -> origin/ember-4
 - [eliminado]             (ninguno)     -> origin/expand-allowed-custom-emoji-images-types
 - [eliminado]             (ninguno)     -> origin/extra-js-revert
 - [eliminado]             (ninguno)     -> origin/feature/add-user-to-topic_tags_changed-event
 - [eliminado]             (ninguno)     -> origin/feature/custom-fields-for-existing-users
 - [eliminado]             (ninguno)     -> origin/feature/enable-chat-with-dms-only
 - [eliminado]             (ninguno)     -> origin/feature/light-dark-mode-switcher
 - [eliminado]             (ninguno)     -> origin/feature/paste-upload-on-first-upload-input-templates
 - [eliminado]             (ninguno)     -> origin/feature/show-note-bookmark-notif
 - [eliminado]             (ninguno)     -> origin/feature/show-status-on-mentions-when-user-havent-used-autocomplete
 - [eliminado]             (ninguno)     -> origin/feature_pm_editor
 - [eliminado]             (ninguno)     -> origin/feature_track_mentions
 - [eliminado]             (ninguno)     -> origin/fix-directory-search-limit
 - [eliminado]             (ninguno)     -> origin/fix-display-errors-for-history-modal-when-fetching-revisions
 - [eliminado]             (ninguno)     -> origin/fix-firefox-android-followup
 - [eliminado]             (ninguno)     -> origin/fix-password-reset-security-key
 - [eliminado]             (ninguno)     -> origin/fix-redirect-login
 - [eliminado]             (ninguno)     -> origin/fix-safari-below-18-detection
 - [eliminado]             (ninguno)     -> origin/fix-search-context-delete-key
 - [eliminado]             (ninguno)     -> origin/fix-unread-notifications-take-2
 - [eliminado]             (ninguno)     -> origin/fix/migrated-reactions-count-calculation
 - [eliminado]             (ninguno)     -> origin/fix/tag-rename-404
 - [eliminado]             (ninguno)     -> origin/full-page
 - [eliminado]             (ninguno)     -> origin/glimmer-header-dnd-live
 - [eliminado]             (ninguno)     -> origin/group_and_tag_group_permission_change_notification
 - [eliminado]             (ninguno)     -> origin/handle-non-ascii-charc
 - [eliminado]             (ninguno)     -> origin/hijacks
 - [eliminado]             (ninguno)     -> origin/history-store-methods
 - [eliminado]             (ninguno)     -> origin/i18n-helper-import
 - [eliminado]             (ninguno)     -> origin/image-assets
 - [eliminado]             (ninguno)     -> origin/implicit-injections-deprecations
 - [eliminado]             (ninguno)     -> origin/improve-claimed-reviewables-transactions
 - [eliminado]             (ninguno)     -> origin/improve-tablet-detection
 - [eliminado]             (ninguno)     -> origin/issue/do-not-enforce-2fa-on-social-logins
 - [eliminado]             (ninguno)     -> origin/issue/fix-user-field-enum-migrate
 - [eliminado]             (ninguno)     -> origin/issue/fixup-upload-ref-backfill-migration-dates
 - [eliminado]             (ninguno)     -> origin/jjaffeux-otp-validation
 - [eliminado]             (ninguno)     -> origin/list-wrapper
 - [eliminado]             (ninguno)     -> origin/live-cache
 - [eliminado]             (ninguno)     -> origin/lock-step
 - [eliminado]             (ninguno)     -> origin/loic-enable-rspec-rule
 - [eliminado]             (ninguno)     -> origin/loic-upgrade-miniracer
 - [eliminado]             (ninguno)     -> origin/more-topics-active
 - [eliminado]             (ninguno)     -> origin/nginx-conf
 - [eliminado]             (ninguno)     -> origin/oklab
 - [eliminado]             (ninguno)     -> origin/omniauth-2
 - [eliminado]             (ninguno)     -> origin/pento/feature-allow-admins-to-export-users
 - [eliminado]             (ninguno)     -> origin/plugin-outlet-no-subdir
 - [eliminado]             (ninguno)     -> origin/post-widget-outlet
 - [eliminado]             (ninguno)     -> origin/powered-by-reactivity
 - [eliminado]             (ninguno)     -> origin/promote-migration-tweak
 - [eliminado]             (ninguno)     -> origin/prune-old-transpilers
 - [eliminado]             (ninguno)     -> origin/refactor-mobile-coposer-position-replace-actions
 - [eliminado]             (ninguno)     -> origin/remap-assume-yes-option
 - [eliminado]             (ninguno)     -> origin/remove-bootbox
 - [eliminado]             (ninguno)     -> origin/remove-muted-from-hot-and-top-topic-lists
 - [eliminado]             (ninguno)     -> origin/remove-x-count
 - [eliminado]             (ninguno)     -> origin/render-glimmer-granular
 - [eliminado]             (ninguno)     -> origin/revert-28587-revert-28321-dev/remove-create_post_for_category_and_tag_changes-setting
 - [eliminado]             (ninguno)     -> origin/revert-location-change
 - [eliminado]             (ninguno)     -> origin/revert-thread-title-experiment
 - [eliminado]             (ninguno)     -> origin/safari-hacks-sayonara
 - [eliminado]             (ninguno)     -> origin/see_if_yarn_cache_is_working
 - [eliminado]             (ninguno)     -> origin/shared-draft-category
 - [eliminado]             (ninguno)     -> origin/skip-back-button-animation
 - [eliminado]             (ninguno)     -> origin/tag-span
 - [eliminado]             (ninguno)     -> origin/temp-pr-28024
 - [eliminado]             (ninguno)     -> origin/testing_debian_12
 - [eliminado]             (ninguno)     -> origin/tobiaseigen-patch-4
 - [eliminado]             (ninguno)     -> origin/topic-count-fix
 - [eliminado]             (ninguno)     -> origin/topic-list-item-style
 - [eliminado]             (ninguno)     -> origin/translations-from-crowdin-main
 - [eliminado]             (ninguno)     -> origin/translations-from-crowdin-stable
 - [eliminado]             (ninguno)     -> origin/update-gems-stable
 - [eliminado]             (ninguno)     -> origin/ux/admin-site-setting-inner-sidebar-experiment
 - [eliminado]             (ninguno)     -> origin/whats-new-notify-plugins
   c64b5d6d7..c592edbe3  main                    -> origin/main
 * [nueva rama]          add-header-search-experience -> origin/add-header-search-experience
 + 3c0b2f75f...0d2238318 allow-posts-link-in-sidebar -> origin/allow-posts-link-in-sidebar  (actualización forzada)
 * [nueva rama]          async-data              -> origin/async-data
 * [nueva rama]          automation-autoload     -> origin/automation-autoload
 * [nueva rama]          br/multiple_likes       -> origin/br/multiple_likes
 * [nueva rama]          branding-logo           -> origin/branding-logo
 * [nueva rama]          chat-summary-email-thread-reply-fix -> origin/chat-summary-email-thread-reply-fix
 * [nueva rama]          d-menu-composer-flag    -> origin/d-menu-composer-flag
 * [nueva rama]          dark-light-class        -> origin/dark-light-class
 * [nueva rama]          dark-light-mode-helpers -> origin/dark-light-mode-helpers
 * [nueva rama]          dependabot/bundler/selenium-webdriver-4.29.1 -> origin/dependabot/bundler/selenium-webdriver-4.29.1
 * [nueva rama]          dependabot/bundler/version_gem-1.1.5 -> origin/dependabot/bundler/version_gem-1.1.5
 * [nueva rama]          dependabot/npm_and_yarn/ace-builds-1.39.0 -> origin/dependabot/npm_and_yarn/ace-builds-1.39.0
 * [nueva rama]          dependabot/npm_and_yarn/discourse/lint-configs-2.7.0 -> origin/dependabot/npm_and_yarn/discourse/lint-configs-2.7.0
 * [nueva rama]          dependabot/npm_and_yarn/embroider-313a86a52a -> origin/dependabot/npm_and_yarn/embroider-313a86a52a
 * [nueva rama]          dependabot/npm_and_yarn/glimmer/syntax-0.94.7 -> origin/dependabot/npm_and_yarn/glimmer/syntax-0.94.7
 * [nueva rama]          dependabot/npm_and_yarn/jspreadsheet-ce-5.0.0 -> origin/dependabot/npm_and_yarn/jspreadsheet-ce-5.0.0
 * [nueva rama]          dependabot/npm_and_yarn/jsuites-5.9.1 -> origin/dependabot/npm_and_yarn/jsuites-5.9.1
 * [nueva rama]          dependabot/npm_and_yarn/lefthook-1.11.0 -> origin/dependabot/npm_and_yarn/lefthook-1.11.0
 * [nueva rama]          dependabot/npm_and_yarn/prosemirror-commands-1.7.0 -> origin/dependabot/npm_and_yarn/prosemirror-commands-1.7.0
 * [nueva rama]          dependabot/npm_and_yarn/uppy-b82cdcd59c -> origin/dependabot/npm_and_yarn/uppy-b82cdcd59c
 * [nueva rama]          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  (actualización forzada)
 * [nueva rama]          dev/auto-screen-size-screenshots -> origin/dev/auto-screen-size-screenshots
 + ec68ffb95...a1849cd39 dev/color-palette-editor -> origin/dev/color-palette-editor  (actualización forzada)
 * [nueva rama]          dev/ember-async-data-demo -> origin/dev/ember-async-data-demo
 * [nueva rama]          dev/glimmer-post-stream -> origin/dev/glimmer-post-stream
 * [nueva rama]          dev/purge-widget-post-menu -> origin/dev/purge-widget-post-menu
 * [nueva rama]          dev/remove-deprecated-auth-provider-options -> origin/dev/remove-deprecated-auth-provider-options
 * [nueva rama]          dev/user-field-components-transformer -> origin/dev/user-field-components-transformer
 * [nueva rama]          discourse-emojis-gem    -> origin/discourse-emojis-gem
 * [nueva rama]          feature-markdown-hex-color -> origin/feature-markdown-hex-color
 * [nueva rama]          feature/admin-search-improvements-2 -> origin/feature/admin-search-improvements-2
 * [nueva rama]          feature/admins-access-group-chats -> origin/feature/admins-access-group-chats
 * [nueva rama]          feature_pm_codeblock    -> origin/feature_pm_codeblock
 * [nueva rama]          feature_pm_emoji        -> origin/feature_pm_emoji
 * [nueva rama]          feature_pm_hashtag      -> origin/feature_pm_hashtag
 * [nueva rama]          feature_pm_html_block   -> origin/feature_pm_html_block
 * [nueva rama]          feature_pm_html_inline  -> origin/feature_pm_html_inline
 * [nueva rama]          feature_pm_image        -> origin/feature_pm_image
 * [nueva rama]          feature_pm_link         -> origin/feature_pm_link
 * [nueva rama]          feature_pm_mention      -> origin/feature_pm_mention
 * [nueva rama]          feature_pm_quote        -> origin/feature_pm_quote
 * [nueva rama]          feature_pm_strikethrough -> origin/feature_pm_strikethrough
 * [nueva rama]          feature_pm_table        -> origin/feature_pm_table
 * [nueva rama]          feature_pm_typographer  -> origin/feature_pm_typographer
 * [nueva rama]          feature_pm_underline    -> origin/feature_pm_underline
 * [nueva rama]          filter-navigation-ui    -> origin/filter-navigation-ui
 * [nueva rama]          fix-zlib                -> origin/fix-zlib
 * [nueva rama]          fps-errors              -> origin/fps-errors
 * [nueva rama]          google-topic-count      -> origin/google-topic-count
 * [nueva rama]          google-translate-defender -> origin/google-translate-defender
 * [nueva rama]          loic-rspec-instance-var-globally -> origin/loic-rspec-instance-var-globally
 * [nueva rama]          loic-upgrade-sidekiq    -> origin/loic-upgrade-sidekiq
 * [nueva rama]          loic-use-bundler-checksums -> origin/loic-use-bundler-checksums
 + 0f2f74d08...06c4fcf62 mt/idb                  -> origin/mt/idb  (actualización forzada)
 * [nueva rama]          pento/dev-upgrade-pnpm-10 -> origin/pento/dev-upgrade-pnpm-10
 * [nueva rama]          pento/feature-which-watched-words-were-written -> origin/pento/feature-which-watched-words-were-written
 * [nueva rama]          quick-smoke-test        -> origin/quick-smoke-test
 + de3691471...e5890e554 renato/pm               -> origin/renato/pm  (actualización forzada)
 * [nueva rama]          service-to-update-site-settings -> origin/service-to-update-site-settings
 * [nueva rama]          settings-console-log    -> origin/settings-console-log
 * [nueva rama]          split-common-css        -> origin/split-common-css
 * [nueva rama]          split-cook-sanitise     -> origin/split-cook-sanitise
   5d4c2a89e..3bbf96fa2  stable                  -> origin/stable
   c64b5d6d7..c592edbe3  tests-passed            -> origin/tests-passed
 * [nueva rama]          tobiaseigen-patch-3     -> origin/tobiaseigen-patch-3
 * [nueva rama]          tobiaseigen-patch-3-1   -> origin/tobiaseigen-patch-3-1
 * [nueva rama]          topic-list-outlet-add-columns -> origin/topic-list-outlet-add-columns
 * [nueva rama]          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
 * [nueva rama]          user-menu-full-name-rebased -> origin/user-menu-full-name-rebased
 * [nueva rama]          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
 * [nueva rama]          visual-experiment       -> origin/visual-experiment
 t [actualización de etiqueta]          beta                    -> beta
 t [actualización de etiqueta]          latest-release          -> latest-release
 * [nueva etiqueta]             v3.3.4                  -> v3.3.4
 * [nueva etiqueta]             v3.4.0                  -> v3.4.0
 * [nueva etiqueta]             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
'
Cambiado a una nueva rama 'tests-passed'
I, [2025-02-23T21:32:04.677353 #1]  INFO -- : rama 'tests-passed' configurada para rastrear '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 -- : Reemplazando # redis con if [ ! -d /shared/redis_data ]; then
  install -d -m 0755 -o redis -g redis /shared/redis_data
fi
sv start redis || exit 1 en /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
Clonando en '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
Clonando en '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 -- : Reemplazando pid /run/nginx.pid; con daemon off; en /etc/nginx/nginx.conf
I, [2025-02-23T21:32:07.254223 #1]  INFO -- : Reemplazando (?m-ix:upstream[^\}]+\}) con upstream discourse { server 127.0.0.1:3000; } en /etc/nginx/conf.d/discourse.conf
I, [2025-02-23T21:32:07.254567 #1]  INFO -- : Reemplazando (?-mix:server_name.+$) con server_name _ ; en /etc/nginx/conf.d/discourse.conf
I, [2025-02-23T21:32:07.254851 #1]  INFO -- : Reemplazando (?-mix:client_max_body_size.+$) con client_max_body_size $upload_size ; en /etc/nginx/conf.d/discourse.conf
I, [2025-02-23T21:32:07.255150 #1]  INFO -- : Reemplazando (?-mix:worker_connections.+$) con worker_connections $nginx_worker_connections ; en /etc/nginx/nginx.conf
I, [2025-02-23T21:32:07.255395 #1]  INFO -- : > echo "configuración web completada"
I, [2025-02-23T21:32:07.257025 #1]  INFO -- : configuración web completada

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 "Esta versión de Discourse usa yarn, pero los node_modules de pnpm están presentes. Limpiando..."
    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 "Esta versión de Discourse usa yarn, pero los node_modules de pnpm están presentes. Limpiando..."
    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 \"Esta versión de Discourse usa yarn, pero los node_modules de pnpm están presentes. Limpiando...\"\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

El contenedor LXC está usando Debian bullseye con las últimas actualizaciones instaladas.

Aquí está la forma correcta de cambiar a PNPM como Discourse ha pasado a PNPM como su gestor de paquetes,

  1. Asegúrate de que PNPM esté instalado: pnpm --version
  2. Si no está instalado, instálalo usando npm: npm install -g pnpm
  3. Limpia las dependencias antiguas:
    rm -rf /var/www/discourse/node_modules
    rm -rf /var/www/discourse/app/assets/javascripts/*/node_modules
  4. Descarga el último código:
    cd /var/discourse
    git pull
  5. Recompila Discourse: ./launcher rebuild app

El punto 4 y git pull no son necesarios, porque la reconstrucción ya lo hace.

Ahora lo hace, pero antes no, así que este es un consejo que también funciona para una instalación muy antigua.

Bueno, ¿hay alguna instancia antigua :man_shrugging: No es gran cosa, sin embargo.

Lo menciono porque cuando la gente tiene problemas para actualizar, a veces la razón es que están muy atrasados. Por lo tanto, es exactamente en estos hilos donde debemos ser lo más sólidos posible.

¿Qué antigüedad tiene tu instalación? ¿Has realizado actualizaciones anteriores con éxito? ¿Qué antigüedad tiene tu sistema operativo?

A veces, un problema se debe a extensiones que ya no son compatibles, y el consejo es compartir una versión cuidadosamente censurada de tu app.yml. No estoy seguro de que sea muy probable que ese sea el problema aquí.

Gracias por todo el apoyo, desafortunadamente no soluciona el problema.

Para los nuevos usuarios, tal vez valga la pena agregar:

  1. Entrar al contenedor (por ejemplo, ./launcher enter app

Así que lo hice. Y pnp ya estaba instalado:

root@vtdiscourse-app:/var/www/discourse# pnpm --version
9.5.0

Ya lo hice, como escribí en mi publicación anterior, sin resolver el problema.

Discourse se instaló en abril de 2023.
Sí actualicé con éxito hasta (e incluyendo) la v3.4.0.beta3.
Como se escribió anteriormente, el sistema operativo es un contenedor LXC, que utiliza Debian bullseye con las últimas actualizaciones instaladas.

La única extensión instalada es el Private Topics Plugin (aún en mantenimiento y también mantenido actualizado con cada actualización de discourse de mi parte).

Aquí vamos:

## esta es la plantilla de contenedor Docker todo en uno y autónoma de Discourse
##
## Después de realizar cambios en este archivo, DEBES reconstruir
## /var/discourse/launcher rebuild app
##
## ¡TEN MUCHO CUIDADO AL EDITAR!
## LOS ARCHIVOS YAML SON SÚPER SÚPER SENSIBLES A ERRORES DE ESPACIO O ALINEACIÓN.
## visita http://www.yamllint.com/ para validar este archivo según sea necesario

templates:
  - "templates/postgres.template.yml"
  - "templates/redis.template.yml"
  - "templates/web.template.yml"
  ## Descomenta la siguiente línea para habilitar el oyente IPv6
  #- "templates/web.ipv6.template.yml"
  - "templates/web.ratelimited.template.yml"
  ## Descomenta estas dos líneas si deseas agregar Lets Encrypt (https)
  ##- "templates/web.ssl.template.yml"
  - "templates/web.ssl.template.yml"
  #- "templates/web.letsencrypt.ssl.template.yml"

## ¿qué puertos TCP/IP debe exponer este contenedor?
## Si deseas que Discourse comparta un puerto con otro servidor web como Apache o nginx,
## consulta https://meta.discourse.org/t/17247 para obtener detalles
expose:
  - "80:80"   # http
  - "443:443" # https

params:
  db_default_text_search_config: "pg_catalog.english"

  ## Establece db_shared_buffers a un máximo del 25% de la memoria total.
  ## será establecido automáticamente por bootstrap según la RAM detectada, o puedes anularlo
  #db_shared_buffers: "128MB"
  db_shared_buffers: "256MB"

  ## puede mejorar el rendimiento de ordenación, pero aumenta el uso de memoria por conexión
  #db_work_mem: "40MB"

  ## ¿Qué revisión de Git debe usar este contenedor? (por defecto: tests-passed)
  #version: tests-passed

env:
  LC_ALL: en_US.UTF-8
  LANG: en_US.UTF-8
  LANGUAGE: en_US.UTF-8
  # DISCOURSE_DEFAULT_LOCALE: en

  ## ¿Cuántas solicitudes web concurrentes se admiten? Depende de la memoria y los núcleos de CPU.
  ## será establecido automáticamente por bootstrap según las CPU detectadas, o puedes anularlo
  UNICORN_WORKERS: 2

  ## TODO: El nombre de dominio al que responderá esta instancia de Discourse
  ## Requerido. Discourse no funcionará con un número IP desnudo.
  #DISCOURSE_HOSTNAME: 'discourse.example.com'
  DISCOURSE_HOSTNAME: 'my-discourse-domain.example.com'

  ## Descomenta si deseas que el contenedor se inicie con el mismo
  ## nombre de host (-h opción) que se especifica arriba (por defecto "$hostname-$config")
  #DOCKER_USE_HOSTNAME: true

  ## TODO: Lista de correos electrónicos separados por comas que se convertirán en administradores y desarrolladores
  ## en el registro inicial, por ejemplo, 'user1@example.com,user2@example.com'
  #DISCOURSE_DEVELOPER_EMAILS: 'me@example.com,you@example.com'
  DISCOURSE_DEVELOPER_EMAILS: 'my-admin-mail@example.com'

  ## TODO: El servidor de correo SMTP utilizado para validar nuevas cuentas y enviar notificaciones
  # DIRECCIÓN SMTP, nombre de usuario y contraseña son requeridos
  # ADVERTENCIA: el carácter '#' en la contraseña SMTP puede causar problemas.
  #DISCOURSE_SMTP_ADDRESS: smtp.example.com
  DISCOURSE_SMTP_ADDRESS: my-smtp-server.example.com
  #DISCOURSE_SMTP_PORT: 587
  #DISCOURSE_SMTP_USER_NAME: user@example.com
  DISCOURSE_SMTP_USER_NAME: my-user@my-smtp-server.example.com
  #DISCOURSE_SMTP_PASSWORD: pa$$word
  DISCOURSE_SMTP_PASSWORD: foo(obviamente no)
  #DISCOURSE_SMTP_ENABLE_START_TLS: true           # (opcional, por defecto true)
  #DISCOURSE_SMTP_DOMAIN: discourse.example.com    # (requerido por algunos proveedores)
  ##DISCOURSE_NOTIFICATION_EMAIL: noreply@discourse.example.com    # (dirección para enviar notificaciones)
  DISCOURSE_NOTIFICATION_EMAIL: my-user@my-smtp-server.example.com    # (dirección para enviar notificaciones)

  ## Si agregaste la plantilla Lets Encrypt, descomenta abajo para obtener un certificado SSL gratuito
  #LETSENCRYPT_ACCOUNT_EMAIL: me@example.com

  ## La dirección CDN http o https para esta instancia de Discourse (configurada para tirar)
  ## consulta https://meta.discourse.org/t/14857 para obtener detalles
  #DISCOURSE_CDN_URL: https://discourse-cdn.example.com
  
  ## La clave de dirección IP de MaxMind para la búsqueda de direcciones IP
  ## consulta https://meta.discourse.org/t/-/137387/23 para obtener detalles
  ##DISCOURSE_MAXMIND_LICENSE_KEY: 1234567890123456
  DISCOURSE_MAXMIND_LICENSE_KEY: my-key

## El contenedor Docker no tiene estado; todos los datos se almacenan en /shared
volumes:
  - volume:
      host: /var/discourse/shared/standalone
      guest: /shared
  - volume:
      host: /var/discourse/shared/standalone/log/var-log
      guest: /var/log

## Los plugins van aquí
## consulta https://meta.discourse.org/t/19157 para obtener detalles
hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/communiteq/discourse-private-topics.git

## Cualquier comando personalizado para ejecutar después de la construcción
run:
  - exec: echo "Inicio de comandos personalizados"
  ## Si deseas establecer la dirección de correo electrónico 'De' para tu primer registro, descomenta y cambia:
  ## Después de recibir el primer correo electrónico de registro, vuelve a comentar la línea. Solo necesita ejecutarse una vez.
  #- exec: rails r "SiteSetting.notification_email='info@unconfigured.discourse.org'"
  - exec: echo "Fin de comandos personalizados"

Cualquier ayuda es apreciada.

Actualicé a la versión actual de Debian bookworm y lo intenté de nuevo, pero el error persiste. ¿Alguien tiene alguna idea?

¿Estás recibiendo exactamente el mismo mensaje de error?

?

Sí, la salida actual es:

# ./launcher rebuild app
x86_64 arch detected.
Ensuring launcher is up to date
Launcher is up-to-date
Stopping old container
+ /usr/bin/docker stop -t 600 app
app
2.0.20250226-0128: Pulling from discourse/base
Digest: sha256:6f18aa2cd22bba0deb91d69194e577d4f96130ad555ae8ec646a8792cbfe37db
Status: Image is up to date for discourse/base:2.0.20250226-0128
docker.io/discourse/base:2.0.20250226-0128
/usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups.rb
/usr/local/bin/pups --stdin
I, [2025-03-06T16:11:32.513131 #1]  INFO -- : Reading from stdin
I, [2025-03-06T16:11:32.523975 #1]  INFO -- : File > /etc/service/postgres/run  chmod: +x  chown: 
I, [2025-03-06T16:11:32.527167 #1]  INFO -- : File > /etc/service/postgres/log/run  chmod: +x  chown: 
I, [2025-03-06T16:11:32.530386 #1]  INFO -- : File > /etc/runit/3.d/99-postgres  chmod: +x  chown: 
I, [2025-03-06T16:11:32.533638 #1]  INFO -- : File > /root/install_postgres  chmod: +x  chown: 
I, [2025-03-06T16:11:32.536573 #1]  INFO -- : File > /root/upgrade_postgres  chmod: +x  chown: 
I, [2025-03-06T16:11:32.536864 #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-03-06T16:11:32.742156 #1]  INFO -- : Replacing (?-mix:#?listen_addresses *=.*) with listen_addresses = '*' in /etc/postgresql/15/main/postgresql.conf
I, [2025-03-06T16:11:32.742501 #1]  INFO -- : Replacing (?-mix:#?synchronous_commit *=.*) with synchronous_commit = $db_synchronous_commit in /etc/postgresql/15/main/postgresql.conf
I, [2025-03-06T16:11:32.742892 #1]  INFO -- : Replacing (?-mix:#?shared_buffers *=.*) with shared_buffers = $db_shared_buffers in /etc/postgresql/15/main/postgresql.conf
I, [2025-03-06T16:11:32.743202 #1]  INFO -- : Replacing (?-mix:#?work_mem *=.*) with work_mem = $db_work_mem in /etc/postgresql/15/main/postgresql.conf
I, [2025-03-06T16:11:32.743514 #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-03-06T16:11:32.743832 #1]  INFO -- : Replacing (?-mix:#?checkpoint_segments *=.*) with checkpoint_segments = $db_checkpoint_segments in /etc/postgresql/15/main/postgresql.conf
I, [2025-03-06T16:11:32.747361 #1]  INFO -- : Replacing (?-mix:#?logging_collector *=.*) with logging_collector = $db_logging_collector in /etc/postgresql/15/main/postgresql.conf
I, [2025-03-06T16:11:32.747916 #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-03-06T16:11:32.748277 #1]  INFO -- : Replacing (?-mix:^#local +replication +postgres +peer$) with local replication postgres  peer in /etc/postgresql/15/main/pg_hba.conf
I, [2025-03-06T16:11:32.975264 #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-03-06T16:11:32.975566 #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-03-06T16:11:32.975943 #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-03-06T16:14:47.308430 #1]  INFO -- : Generating locales (this might take a while)...
  en_US.UTF-8... done
Generation complete.

I, [2025-03-06T16:14:47.310318 #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-03-06T16:14:47.316234 #1]  INFO -- : File > /usr/local/bin/create_db  chmod: +x  chown: 
I, [2025-03-06T16:14:47.321059 #1]  INFO -- : File > /var/lib/postgresql/take-database-backup  chmod: +x  chown: postgres:postgres
I, [2025-03-06T16:14:47.323488 #1]  INFO -- : File > /var/spool/cron/crontabs/postgres  chmod:   chown: 
I, [2025-03-06T16:14:47.323675 #1]  INFO -- : > sleep 5
2025-03-06 16:14:47.377 UTC [42] LOG:  starting PostgreSQL 15.12 (Debian 15.12-1.pgdg120+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14) 12.2.0, 64-bit
2025-03-06 16:14:47.377 UTC [42] LOG:  listening on IPv4 address "0.0.0.0", port 5432
2025-03-06 16:14:47.377 UTC [42] LOG:  listening on IPv6 address "::", port 5432
2025-03-06 16:14:47.390 UTC [42] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2025-03-06 16:14:47.408 UTC [53] LOG:  database system was shut down at 2025-03-06 15:56:16 UTC
2025-03-06 16:14:47.419 UTC [42] LOG:  database system is ready to accept connections
I, [2025-03-06T16:14:52.325371 #1]  INFO -- : 
I, [2025-03-06T16:14:52.325520 #1]  INFO -- : > /usr/local/bin/create_db
2025-03-06 16:14:52.388 UTC [60] postgres@postgres ERROR:  database "discourse" already exists
2025-03-06 16:14:52.388 UTC [60] postgres@postgres STATEMENT:  CREATE DATABASE discourse;
createdb: error: database creation failed: ERROR:  database "discourse" already exists
2025-03-06 16:14:52.450 UTC [63] postgres@discourse ERROR:  role "discourse" already exists
2025-03-06 16:14:52.450 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-03-06T16:14:53.059363 #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-03-06T16:14:53.059480 #1]  INFO -- : > echo postgres installed!
I, [2025-03-06T16:14:53.061579 #1]  INFO -- : postgres installed!

I, [2025-03-06T16:14:53.064856 #1]  INFO -- : File > /etc/service/redis/run  chmod: +x  chown: 
I, [2025-03-06T16:14:53.067831 #1]  INFO -- : File > /etc/service/redis/log/run  chmod: +x  chown: 
I, [2025-03-06T16:14:53.071084 #1]  INFO -- : File > /etc/runit/3.d/10-redis  chmod: +x  chown: 
I, [2025-03-06T16:14:53.071493 #1]  INFO -- : Replacing daemonize yes with  in /etc/redis/redis.conf
I, [2025-03-06T16:14:53.289163 #1]  INFO -- : Replacing (?-mix:^pidfile.*$) with  in /etc/redis/redis.conf
I, [2025-03-06T16:14:53.289618 #1]  INFO -- : > install -d -m 0755 -o redis -g redis /shared/redis_data
I, [2025-03-06T16:14:53.291845 #1]  INFO -- : 
I, [2025-03-06T16:14:53.292149 #1]  INFO -- : Replacing (?-mix:^logfile.*$) with logfile "" in /etc/redis/redis.conf
I, [2025-03-06T16:14:53.292587 #1]  INFO -- : Replacing (?-mix:^bind .*$) with  in /etc/redis/redis.conf
I, [2025-03-06T16:14:53.293010 #1]  INFO -- : Replacing (?-mix:^dir .*$) with dir /shared/redis_data in /etc/redis/redis.conf
I, [2025-03-06T16:14:53.293469 #1]  INFO -- : Replacing (?-mix:^protected-mode yes) with protected-mode no in /etc/redis/redis.conf
I, [2025-03-06T16:14:53.293836 #1]  INFO -- : Replacing # io-threads 4 with io-threads $redis_io_threads in /etc/redis/redis.conf
I, [2025-03-06T16:14:53.294165 #1]  INFO -- : > echo redis installed
I, [2025-03-06T16:14:53.295528 #1]  INFO -- : redis installed

I, [2025-03-06T16:14:53.295670 #1]  INFO -- : > cat /etc/redis/redis.conf | grep logfile
I, [2025-03-06T16:14:53.298418 #1]  INFO -- : logfile ""

I, [2025-03-06T16:14:53.298662 #1]  INFO -- : > exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf
I, [2025-03-06T16:14:53.299876 #1]  INFO -- : > sleep 10
109:C 06 Mar 2025 16:14:53.307 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
109:C 06 Mar 2025 16:14:53.307 # Redis version=7.0.15, bits=64, commit=00000000, modified=0, pid=109, just started
109:C 06 Mar 2025 16:14:53.307 # Configuration loaded
109:M 06 Mar 2025 16:14:53.307 * monotonic clock: POSIX clock_gettime
109:M 06 Mar 2025 16:14:53.308 * Running mode=standalone, port=6379.
109:M 06 Mar 2025 16:14:53.308 # Server initialized
109:M 06 Mar 2025 16:14:53.308 # 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 06 Mar 2025 16:14:53.308 * Loading RDB produced by version 7.0.15
109:M 06 Mar 2025 16:14:53.308 * RDB age 1118 seconds
109:M 06 Mar 2025 16:14:53.308 * RDB memory usage when created 1.93 Mb
109:M 06 Mar 2025 16:14:53.313 * Done loading RDB, keys loaded: 1587, keys expired: 0.
109:M 06 Mar 2025 16:14:53.313 * DB loaded from disk: 0.005 seconds
109:M 06 Mar 2025 16:14:53.313 * Ready to accept connections
I, [2025-03-06T16:15:03.301567 #1]  INFO -- : 
I, [2025-03-06T16:15:03.301799 #1]  INFO -- : > thpoff echo "thpoff is installed!"
I, [2025-03-06T16:15:03.304659 #1]  INFO -- : thpoff is installed!

I, [2025-03-06T16:15:03.304912 #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-03-06T16:15:03.400091 #1]  INFO -- : 
I, [2025-03-06T16:15:03.400231 #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-03-06T16:15:03.492187 #1]  INFO -- : 
I, [2025-03-06T16:15:03.492318 #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-03-06T16:15:03.582055 #1]  INFO -- : 
I, [2025-03-06T16:15:03.582264 #1]  INFO -- : > rm -f /etc/cron.d/anacron
I, [2025-03-06T16:15:03.584313 #1]  INFO -- : 
I, [2025-03-06T16:15:03.586295 #1]  INFO -- : File > /etc/cron.d/anacron  chmod:   chown: 
I, [2025-03-06T16:15:03.589760 #1]  INFO -- : File > /etc/runit/1.d/copy-env  chmod: +x  chown: 
I, [2025-03-06T16:15:03.592914 #1]  INFO -- : File > /etc/service/unicorn/run  chmod: +x  chown: 
I, [2025-03-06T16:15:03.596214 #1]  INFO -- : File > /etc/service/nginx/run  chmod: +x  chown: 
I, [2025-03-06T16:15:03.599588 #1]  INFO -- : File > /etc/runit/3.d/01-nginx  chmod: +x  chown: 
I, [2025-03-06T16:15:03.602811 #1]  INFO -- : File > /etc/runit/3.d/02-unicorn  chmod: +x  chown: 
I, [2025-03-06T16:15:03.602962 #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-03-06T16:15:03.604280 #1]  INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse git clean -f
I, [2025-03-06T16:15:03.832806 #1]  INFO -- : 
I, [2025-03-06T16:15:03.832950 #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/add-header-search-experience
 - [deleted]             (none)     -> origin/branding-logo
 - [deleted]             (none)     -> origin/dependabot/npm_and_yarn/glimmer/syntax-0.94.7
 - [deleted]             (none)     -> origin/dev-refactor-password-validation-for-create-account
 - [deleted]             (none)     -> origin/ellaestigoy-patch-1
 - [deleted]             (none)     -> origin/feature/admin-search-improvements-2
 - [deleted]             (none)     -> origin/feature/admins-access-group-chats
 - [deleted]             (none)     -> origin/feature_pm_emoji
 - [deleted]             (none)     -> origin/feature_pm_hashtag
 - [deleted]             (none)     -> origin/feature_pm_image
 - [deleted]             (none)     -> origin/feature_pm_link
 - [deleted]             (none)     -> origin/feature_pm_mention
 - [deleted]             (none)     -> origin/feature_pm_quote
 - [deleted]             (none)     -> origin/feature_pm_strikethrough
 - [deleted]             (none)     -> origin/feature_pm_table
 - [deleted]             (none)     -> origin/feature_pm_underline
 - [deleted]             (none)     -> origin/fix/allow-oneboxes-with-no-description
 - [deleted]             (none)     -> origin/loic-upgrade-sidekiq
 - [deleted]             (none)     -> origin/loic-use-bundler-checksums
 - [deleted]             (none)     -> origin/pento/feature-which-watched-words-were-written
 - [deleted]             (none)     -> origin/pento/fix-block-googlebot-from-search
 - [deleted]             (none)     -> origin/tobiaseigen-patch-3-1
   48bfa202e..fb76696f4  main                    -> origin/main
 * [new branch]          0-a-codemod             -> origin/0-a-codemod
 * [new branch]          add-outlet-for-topic-list-item -> origin/add-outlet-for-topic-list-item
 * [new branch]          add-serializer-include-cond -> origin/add-serializer-include-cond
 * [new branch]          adjust-image-upload-component -> origin/adjust-image-upload-component
 * [new branch]          backport-transformer-to-stable -> origin/backport-transformer-to-stable
 + abd422fb0...087b2c0b4 dependabot/bundler/fastimage-2.4.0 -> origin/dependabot/bundler/fastimage-2.4.0  (forced update)
 + ad7276f06...53cae1918 dependabot/bundler/redcarpet-3.6.1 -> origin/dependabot/bundler/redcarpet-3.6.1  (forced update)
 * [new branch]          dependabot/npm_and_yarn/glimmer/syntax-0.94.8 -> origin/dependabot/npm_and_yarn/glimmer/syntax-0.94.8
 * [new branch]          dependabot/npm_and_yarn/prosemirror-schema-list-1.5.1 -> origin/dependabot/npm_and_yarn/prosemirror-schema-list-1.5.1
 * [new branch]          dependabot/npm_and_yarn/prosemirror-transform-1.10.3 -> origin/dependabot/npm_and_yarn/prosemirror-transform-1.10.3
 * [new branch]          dependabot/npm_and_yarn/prosemirror-view-1.38.1 -> origin/dependabot/npm_and_yarn/prosemirror-view-1.38.1
 + b5cee8b92...23a49f3b5 dependabot/npm_and_yarn/uppy-27ae46fdd6 -> origin/dependabot/npm_and_yarn/uppy-27ae46fdd6  (forced update)
 * [new branch]          dev-refactor-user-fields-mixin -> origin/dev-refactor-user-fields-mixin
   6f9238338..229d1c347  dev/auto-screen-size-screenshots -> origin/dev/auto-screen-size-screenshots
 * [new branch]          dev/backfill-api-key-scope-modes -> origin/dev/backfill-api-key-scope-modes
 + 3896206dc...85a981c1f dev/glimmer-post-stream -> origin/dev/glimmer-post-stream  (forced update)
 * [new branch]          dev/refactor-reports-index-service -> origin/dev/refactor-reports-index-service
 * [new branch]          dev/show-scope-mode-in-api-key-list -> origin/dev/show-scope-mode-in-api-key-list
 + 5350c1a3d...89bb01474 discourse-emojis-gem    -> origin/discourse-emojis-gem  (forced update)
   6eb2d9d46..de01247f6  ellaestigoy-patch-2     -> origin/ellaestigoy-patch-2
 * [new branch]          feature/add-below-op-plugin-outlet -> origin/feature/add-below-op-plugin-outlet
   61e65fab0..7c3aafefe  feature/add-welcome-banner-to-core -> origin/feature/add-welcome-banner-to-core
 * [new branch]          feature/admin-search-improvements-3 -> origin/feature/admin-search-improvements-3
   a1bc7c9ce..052ab4478  feature_pm_codeblock    -> origin/feature_pm_codeblock
   e6073220a..38ce43079  feature_pm_html_block   -> origin/feature_pm_html_block
   8deec2953..e8bb88708  feature_pm_html_inline  -> origin/feature_pm_html_inline
 * [new branch]          feature_pm_onebox       -> origin/feature_pm_onebox
   05ad060b0..f9439c845  feature_pm_typographer  -> origin/feature_pm_typographer
 * [new branch]          form_template_composer_field -> origin/form_template_composer_field
 * [new branch]          intersection-observer   -> origin/intersection-observer
 * [new branch]          loic-sidekiq-migration-stable -> origin/loic-sidekiq-migration-stable
 * [new branch]          loic-sidekiq-upgrade    -> origin/loic-sidekiq-upgrade
 + 06c4fcf62...a905fe797 mt/idb                  -> origin/mt/idb  (forced update)
 * [new branch]          pr/31217                -> origin/pr/31217
 + db6e9def3...68f0b10a0 reapply_refactor        -> origin/reapply_refactor  (forced update)
 * [new branch]          remote-update-topic     -> origin/remote-update-topic
   10691bbec..ddcd84812  renato/pm               -> origin/renato/pm
 * [new branch]          revert-31540-revert-search-change -> origin/revert-31540-revert-search-change
   909b93f40..0a7a0dcff  stable                  -> origin/stable
   57a0bfaef..fb76696f4  tests-passed            -> origin/tests-passed
 + c540132fe...703370c93 ux/combined-themes-components-sidebar-links -> origin/ux/combined-themes-components-sidebar-links  (forced update)
I, [2025-03-06T16:15:04.647091 #1]  INFO -- : 
I, [2025-03-06T16:15:04.647232 #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-03-06T16:15:13.381654 #1]  INFO -- : branch 'tests-passed' set up to track 'origin/tests-passed'.

I, [2025-03-06T16:15:13.381798 #1]  INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse git config user.discourse-version tests-passed
I, [2025-03-06T16:15:13.391367 #1]  INFO -- : 
I, [2025-03-06T16:15:13.391496 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp
I, [2025-03-06T16:15:13.394199 #1]  INFO -- : 
I, [2025-03-06T16:15:13.394316 #1]  INFO -- : > cd /var/www/discourse && chown discourse:www-data tmp
I, [2025-03-06T16:15:13.396723 #1]  INFO -- : 
I, [2025-03-06T16:15:13.396823 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp/pids
I, [2025-03-06T16:15:13.399170 #1]  INFO -- : 
I, [2025-03-06T16:15:13.399285 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp/sockets
I, [2025-03-06T16:15:13.401760 #1]  INFO -- : 
I, [2025-03-06T16:15:13.401868 #1]  INFO -- : > cd /var/www/discourse && touch tmp/.gitkeep
I, [2025-03-06T16:15:13.404115 #1]  INFO -- : 
I, [2025-03-06T16:15:13.404184 #1]  INFO -- : > cd /var/www/discourse && mkdir -p                    /shared/log/rails
I, [2025-03-06T16:15:13.406561 #1]  INFO -- : 
I, [2025-03-06T16:15:13.406676 #1]  INFO -- : > cd /var/www/discourse && bash -c "touch -a           /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.log"
I, [2025-03-06T16:15:13.410140 #1]  INFO -- : 
I, [2025-03-06T16:15:13.410262 #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-03-06T16:15:13.414018 #1]  INFO -- : 
I, [2025-03-06T16:15:13.414091 #1]  INFO -- : > cd /var/www/discourse && bash -c "mkdir -p           /shared/{uploads,backups}"
I, [2025-03-06T16:15:13.417307 #1]  INFO -- : 
I, [2025-03-06T16:15:13.417424 #1]  INFO -- : > cd /var/www/discourse && bash -c "ln    -s           /shared/{uploads,backups} /var/www/discourse/public"
I, [2025-03-06T16:15:13.420633 #1]  INFO -- : 
I, [2025-03-06T16:15:13.420749 #1]  INFO -- : > cd /var/www/discourse && bash -c "mkdir -p           /shared/tmp/{backups,restores}"
I, [2025-03-06T16:15:13.424027 #1]  INFO -- : 
I, [2025-03-06T16:15:13.424099 #1]  INFO -- : > cd /var/www/discourse && bash -c "ln    -s           /shared/tmp/{backups,restores} /var/www/discourse/tmp"
I, [2025-03-06T16:15:13.427404 #1]  INFO -- : 
I, [2025-03-06T16:15:13.427520 #1]  INFO -- : > cd /var/www/discourse && chown -R discourse:www-data /shared/log/rails /shared/uploads /shared/backups /shared/tmp
I, [2025-03-06T16:15:13.432996 #1]  INFO -- : 
I, [2025-03-06T16:15:13.433119 #1]  INFO -- : > cd /var/www/discourse && [ ! -d public/plugins ] || find public/plugins/ -maxdepth 1 -xtype l -delete
I, [2025-03-06T16:15:13.434610 #1]  INFO -- : 
I, [2025-03-06T16:15:13.434886 #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-03-06T16:15:13.435314 #1]  INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/discourse/docker_manager.git
Cloning into 'docker_manager'...
I, [2025-03-06T16:15:14.815744 #1]  INFO -- : 
I, [2025-03-06T16:15:14.815886 #1]  INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/communiteq/discourse-private-topics.git
Cloning into 'discourse-private-topics'...
I, [2025-03-06T16:15:15.328831 #1]  INFO -- : 
I, [2025-03-06T16:15:15.329183 #1]  INFO -- : > cp /var/www/discourse/config/nginx.sample.conf /etc/nginx/conf.d/discourse.conf
I, [2025-03-06T16:15:15.332191 #1]  INFO -- : 
I, [2025-03-06T16:15:15.332306 #1]  INFO -- : > rm /etc/nginx/sites-enabled/default
I, [2025-03-06T16:15:15.334038 #1]  INFO -- : 
I, [2025-03-06T16:15:15.334129 #1]  INFO -- : > mkdir -p /var/nginx/cache
I, [2025-03-06T16:15:15.335827 #1]  INFO -- : 
I, [2025-03-06T16:15:15.336010 #1]  INFO -- : Replacing pid /run/nginx.pid; with daemon off; in /etc/nginx/nginx.conf
I, [2025-03-06T16:15:15.650801 #1]  INFO -- : Replacing (?m-ix:upstream[^\}]+\}) with upstream discourse { server 127.0.0.1:3000; } in /etc/nginx/conf.d/discourse.conf
I, [2025-03-06T16:15:15.651132 #1]  INFO -- : Replacing (?-mix:server_name.+$) with server_name _ ; in /etc/nginx/conf.d/discourse.conf
I, [2025-03-06T16:15:15.651408 #1]  INFO -- : Replacing (?-mix:client_max_body_size.+$) with client_max_body_size $upload_size ; in /etc/nginx/conf.d/discourse.conf
I, [2025-03-06T16:15:15.651738 #1]  INFO -- : Replacing (?-mix:worker_connections.+$) with worker_connections $nginx_worker_connections ; in /etc/nginx/nginx.conf
I, [2025-03-06T16:15:15.651995 #1]  INFO -- : > echo "done configuring web"
I, [2025-03-06T16:15:15.653682 #1]  INFO -- : done configuring web

I, [2025-03-06T16:15:15.653902 #1]  INFO -- : > cd /var/www/discourse && gem install bundler --conservative -v $(awk '/BUNDLED WITH/ { getline; gsub(/ /,""); print $0 }' Gemfile.lock)
I, [2025-03-06T16:15:16.407916 #1]  INFO -- : Successfully installed bundler-2.6.4
1 gem installed

I, [2025-03-06T16:15:16.408068 #1]  INFO -- : > cd /var/www/discourse && find /var/www/discourse ! -user discourse -exec chown discourse {} \+
I, [2025-03-06T16:15:18.880148 #1]  INFO -- : 
I, [2025-03-06T16:15:18.880522 #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-03-06T16:15:20.413858 #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'




I, [2025-03-06T16:15:20.414389 #1]  INFO -- : Terminating async processes
I, [2025-03-06T16:15:20.414429 #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-03-06T16:15:20.414484 #1]  INFO -- : Sending TERM to exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 109
2025-03-06 16:15:20.414 UTC [42] LOG:  received fast shutdown request
109:signal-handler (1741277720) Received SIGTERM scheduling shutdown...
2025-03-06 16:15:20.441 UTC [42] LOG:  aborting any active transactions
2025-03-06 16:15:20.443 UTC [42] LOG:  background worker "logical replication launcher" (PID 56) exited with exit code 1
2025-03-06 16:15:20.445 UTC [51] LOG:  shutting down
2025-03-06 16:15:20.450 UTC [51] LOG:  checkpoint starting: shutdown immediate
109:M 06 Mar 2025 16:15:20.499 # User requested shutdown...
109:M 06 Mar 2025 16:15:20.499 * Saving the final RDB snapshot before exiting.
2025-03-06 16:15:20.538 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=6 kB, estimate=6 kB
2025-03-06 16:15:20.544 UTC [42] LOG:  database system is shut down
109:M 06 Mar 2025 16:15:20.547 * DB saved on disk
109:M 06 Mar 2025 16:15:20.547 # Redis is now ready to exit, bye bye...


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 301 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.
f489854c1c937e881235de4e2a32a30b1e55237b5f20d4599d2af9aa73a2affc

No puedo reproducir esto en mi servidor. ¿Puedes compartir más detalles sobre el servidor que estás utilizando? ¿Cuál es el proveedor de VPS, el sistema operativo y la versión, y la salida de docker info?

[quote=“Falco, post:15, topic:353999, username:Falco”]
¿Cuál es el proveedor de VPS?
[/quote]El contenedor LXC se está ejecutando en Proxmox VE 7.4-19 (kernel Linux 5.15.158-2-pve #1 SMP PVE 5.15.158-2), en un hardware con 8 x Intel(R) Xeon(R) CPU W3550 @ 3.07GHz.

[quote=“Falco, post:15, topic:353999, username:Falco”]
SO
[/quote]Debian 12 (Bookworm) 64 bits, actualizado hoy desde Debian 11 (Bullseye) (es un appliance Turnkey Linux 17).

# docker info
Client: Docker Engine - Community
 Version:    28.0.1
 Context:    default
 Debug Mode: false
 Plugins:
  buildx: Docker Buildx (Docker Inc.)
    Version:  v0.21.1
    Path:     /usr/libexec/docker/cli-plugins/docker-buildx
  compose: Docker Compose (Docker Inc.)
    Version:  v2.33.1
    Path:     /usr/libexec/docker/cli-plugins/docker-compose

Server:
 Containers: 2
  Running: 1
  Paused: 0
  Stopped: 1
 Images: 6
 Server Version: 28.0.1
 Storage Driver: overlay2
  Backing Filesystem: zfs
  Supports d_type: true
  Using metacopy: false
  Native Overlay Diff: true
  userxattr: true
 Logging Driver: json-file
 Cgroup Driver: systemd
 Cgroup Version: 2
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: bcc810d6b9066471b0b6fa75f557a15a1cbf31bb
 runc version: v1.2.4-0-g6c52b3f
 init version: de40ad0
 Security Options:
  seccomp
   Profile: builtin
  cgroupns
 Kernel Version: 5.15.158-2-pve
 Operating System: Debian GNU/Linux 12 (bookworm)
 OSType: linux
 Architecture: x86_64
 CPUs: 4
 Total Memory: 6GiB
 Name: vtdiscourse
 ID: 9ea13423-e1f4-43e2-a8f4-b881b1ffe215
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Experimental: false
 Insecure Registries:
  ::1/128
  127.0.0.0/8
 Live Restore Enabled: false

Estoy feliz de proporcionar cualquier información adicional que ayude a resolver el problema.

Vaya, esa es una CPU de hace más de 15 años. Si bien tuvimos problemas con CPUs antiguas en el pasado, no parece que este sea el problema esta vez.

Entonces, ¿es así?

architecture-beta
    group host(servidor)[host]
          group lxc(servidor)[lxc] en host
              group docker(servidor)[contenedor docker de discourse] en lxc

Y todavía funciona bien. :wink: Si bien la sostenibilidad es un tema, este sistema estaba destinado a ser un sistema de prueba y el objetivo ahora es actualizar Discourse y luego moverlo al clúster PVE productivo en hardware reciente y más apropiado.

Sí. El PVE se ejecuta en bare metal. Dentro del PVE, se utiliza un CT (LXC) invitado para ejecutar un electrodoméstico TKL, que se utilizó para instalar Discourse a través de Docker.
(Nota: en el clúster PVE productivo, planeamos usar una VM (Qemu) con Debian vanilla para ejecutar el Docker de Discourse, que es la forma más recomendada)

Entonces, pnpm install para v3.4.0.beta3 funcionó bien, ¿pero la última versión de Discourse no? ¡Muy extraño!

Una cosa a tener en cuenta es que, en comparación con otros gestores de paquetes, pnpm hace un uso muy intensivo de “enlaces duros” en el sistema de archivos. Eso puede causar problemas en algunos tipos de sistemas de archivos… aunque se supone que automáticamente recurre a una estrategia que no se basa en enlaces duros. Más información sobre eso aquí.

Comparando con una instalación estándar:

 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Native Overlay Diff: true
  userxattr: false

Entonces, overlay2 es lo mismo. Pero el sistema de archivos de respaldo es diferente… ¿No sé si eso tendría alguna influencia en este tipo de problema?

Sí.

Estoy abierto a proporcionar información adicional, si me dices cómo/qué depurar…

La instalación afectada es una instalación de prueba. Tengo una instalación productiva funcionando en el mismo hardware/configuración (que actualmente me resisto a actualizar…).