خطأ في إعادة بناء التطبيق بواسطة launcher: فشل التمهيد مع رمز خروج 234

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

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

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

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

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

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

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

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

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

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

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



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

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

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

أعتقد أن الخطأ ربما وقع أثناء استخدام مدير حزم pnpm، لكنني لا أعرف معناه:

أعتقد أن الأمر الذي كان يُشغل وقتها هو

إعجاب واحد (1)

الخطأ ناتج عن عدم تطابق بين yarn و pnpm. الفشل ناتج تحديدًا عن:\nEINVAL: invalid argument, rmdir '/var/www/discourse/app/assets/javascripts/dialog-holder/node_modules/.bin'\n\nالخطوات المقترحة:\n\n1. إزالة وحدات Node يدويًا: rm -rf node_modules app/assets/javascripts/*/node_modules\n2. تشغيل التنظيف: ./launcher cleanup\n3. إعادة بناء Discourse: ./launcher rebuild app

إعجابَين (2)

I did as suggested, but the error unfortunately persists:

./launcher rebuild app
x86_64 arch detected.

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

Please be patient

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

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

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

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

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

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

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

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

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

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




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


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

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

إليك الطريقة الصحيحة للتبديل إلى PNPM كما انتقل Discourse إلى PNPM كمدير حزم خاص به،

  1. تأكد من تثبيت PNPM: pnpm --version
  2. إذا لم يكن مثبتًا، فقم بتثبيته باستخدام npm: npm install -g pnpm
  3. تنظيف التبعيات القديمة:
    rm -rf /var/www/discourse/node_modules
    rm -rf /var/www/discourse/app/assets/javascripts/*/node_modules
  4. سحب أحدث كود:
    cd /var/discourse
    git pull
  5. إعادة بناء Discourse: ./launcher rebuild app
إعجاب واحد (1)

النقطة 4 و git pull غير ضرورية، لأن إعادة البناء تقوم بذلك.

إعجاب واحد (1)

إنه يفعل ذلك الآن، ولكنه لم يكن كذلك سابقًا، لذا فهذه نصيحة تعمل أيضًا مع تثبيت قديم جدًا.

إعجابَين (2)

حسنًا، هل هناك أي حالات قديمة؟ :man_shrugging: لا مشكلة كبيرة على أي حال.

أذكر ذلك لأنه عندما يواجه الأشخاص صعوبة في الترقية، يكون السبب أحيانًا هو أنهم متأخرون جدًا. لذلك، في هذه المواضيع تحديدًا يجب أن نكون أقوياء قدر الإمكان.

إعجاب واحد (1)

ما هو عمر تثبيتك؟ هل قمت بالترقية بنجاح من قبل؟ ما هو عمر نظام التشغيل الخاص بك؟

في بعض الأحيان تكون المشكلة ناتجة عن ملحقات لم تعد متوافقة، والنصيحة هي مشاركة نسخة منقحة بعناية من ملف app.yml الخاص بك. لست متأكدًا من أن هذا هو السبب المحتمل للمشكلة هنا.

شكراً على كل الدعم، للأسف لم يحل ذلك المشكلة.

بالنسبة للمستخدمين الجدد، ربما يكون من المفيد إضافة:

  1. الدخول إلى الحاوية (مثال: ./launcher enter app

لقد فعلت ذلك. وكان pnp مثبتًا بالفعل:

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

لقد فعلت ذلك بالفعل، كما هو مكتوب في مشاركتي أعلاه، دون حل المشكلة.

تم تثبيت Discourse في أبريل 2023.
لقد قمت بالترقية بنجاح حتى (وتشمل) v3.4.0.beta3.
كما هو مكتوب أعلاه، نظام التشغيل هو حاوية LXC، تستخدم Debian bullseye مع آخر التحديثات المثبتة.

الإضافة الوحيدة المثبتة هي Private Topics Plugin (لا تزال قيد الصيانة ويتم تحديثها أيضًا مع كل تحديث لـ discourse من جانبي).

ها هي:

## هذا هو قالب حاوية Discourse المستقل والمتكامل
##
## بعد إجراء تغييرات على هذا الملف، يجب عليك إعادة البناء
## /var/discourse/launcher rebuild app
##
## كن حذرًا جدًا عند التحرير!
## ملفات YAML حساسة للغاية للأخطاء في المسافات البيضاء أو المحاذاة!
## قم بزيارة http://www.yamllint.com/ للتحقق من صحة هذا الملف حسب الحاجة

templates:
  - "templates/postgres.template.yml"
  - "templates/redis.template.yml"
  - "templates/web.template.yml"
  ## قم بإلغاء التعليق على السطر التالي لتمكين مستمع IPv6
  #- "templates/web.ipv6.template.yml"
  - "templates/web.ratelimited.template.yml"
  ## قم بإلغاء التعليق على هذين السطرين إذا كنت ترغب في إضافة Lets Encrypt (https)
  ##- "templates/web.ssl.template.yml"
  - "templates/web.ssl.template.yml"
  #- "templates/web.letsencrypt.ssl.template.yml"

## ما هي منافذ TCP/IP التي يجب أن تعرضها هذه الحاوية؟
## إذا كنت تريد أن تشارك Discourse منفذًا مع خادم ويب آخر مثل Apache أو nginx،
## راجع https://meta.discourse.org/t/17247 للحصول على التفاصيل
expose:
  - "80:80"   # http
  - "443:443" # https

params:
  db_default_text_search_config: "pg_catalog.english"

  ## قم بتعيين db_shared_buffers إلى حد أقصى 25٪ من الذاكرة الإجمالية.
  ## سيتم تعيينه تلقائيًا بواسطة bootstrap بناءً على ذاكرة الوصول العشوائي المكتشفة، أو يمكنك تجاوزها
  #db_shared_buffers: "128MB"
  db_shared_buffers: "256MB"

  ## يمكن أن يحسن أداء الفرز، ولكنه يزيد من استخدام الذاكرة لكل اتصال
  #db_work_mem: "40MB"

  ## أي مراجعة Git يجب أن تستخدمها هذه الحاوية؟ (الافتراضي: 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

  ## كم عدد طلبات الويب المتزامنة التي يمكن دعمها؟ يعتمد على الذاكرة وأنوى المعالج.
  ## سيتم تعيينه تلقائيًا بواسطة bootstrap بناءً على وحدات المعالجة المكتشفة، أو يمكنك تجاوزها
  UNICORN_WORKERS: 2

  ## TODO: اسم النطاق الذي ستستجيب له هذه النسخة من Discourse
  ## مطلوب. لن تعمل Discourse برقم IP عارٍ.
  #DISCOURSE_HOSTNAME: 'discourse.example.com'
  DISCOURSE_HOSTNAME: 'my-discourse-domain.example.com'

  ## قم بإلغاء التعليق إذا كنت تريد بدء تشغيل الحاوية بنفس
  ## اسم المضيف (-h) المحدد أعلاه (الافتراضي "hostname-$config")
  #DOCKER_USE_HOSTNAME: true

  ## TODO: قائمة بالبريد الإلكتروني مفصولة بفواصل سيتم جعلها مسؤولة ومطورة
  ## عند التسجيل الأولي مثال 'user1@example.com,user2@example.com'
  #DISCOURSE_DEVELOPER_EMAILS: 'me@example.com,you@example.com'
  DISCOURSE_DEVELOPER_EMAILS: 'my-admin-mail@example.com'

  ## TODO: خادم البريد SMTP المستخدم للتحقق من الحسابات الجديدة وإرسال الإشعارات
  # عنوان SMTP واسم المستخدم وكلمة المرور مطلوبة
  # تحذير الحرف '#' في كلمة مرور SMTP يمكن أن يسبب مشاكل!
  #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(obviously not)
  #DISCOURSE_SMTP_ENABLE_START_TLS: true           # (اختياري، الافتراضي صحيح)
  #DISCOURSE_SMTP_DOMAIN: discourse.example.com    # (مطلوب من قبل بعض المزودين)
  ##DISCOURSE_NOTIFICATION_EMAIL: noreply@discourse.example.com    # (العنوان لإرسال الإشعارات منه)
  DISCOURSE_NOTIFICATION_EMAIL: my-user@my-smtp-server.example.com    # (العنوان لإرسال الإشعارات منه)

  ## إذا أضفت قالب Lets Encrypt، قم بإلغاء التعليق أدناه للحصول على شهادة SSL مجانية
  #LETSENCRYPT_ACCOUNT_EMAIL: me@example.com

  ## عنوان CDN HTTP أو HTTPS لهذه النسخة من Discourse (تم تكوينه للسحب)
  ## راجع https://meta.discourse.org/t/14857 للحصول على التفاصيل
  #DISCOURSE_CDN_URL: https://discourse-cdn.example.com
  
  ## مفتاح عنوان IP الخاص بخدمة تحديد الموقع الجغرافي Maxmind للبحث عن عناوين IP
  ## راجع https://meta.discourse.org/t/-/137387/23 للحصول على التفاصيل
  ##DISCOURSE_MAXMIND_LICENSE_KEY: 1234567890123456
  DISCOURSE_MAXMIND_LICENSE_KEY: my-key

## الحاوية Docker عديمة الحالة؛ يتم تخزين جميع البيانات في /shared
volumes:
  - volume:
      host: /var/discourse/shared/standalone
      guest: /shared
  - volume:
      host: /var/discourse/shared/standalone/log/var-log
      guest: /var/log

## الإضافات هنا
## راجع https://meta.discourse.org/t/19157 للحصول على التفاصيل
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

## أي أوامر مخصصة لتشغيلها بعد البناء
run:
  - exec: echo "Beginning of custom commands"
  ## إذا كنت ترغب في تعيين عنوان البريد الإلكتروني 'من' للتسجيل الأول، قم بإلغاء التعليق والتغيير:
  ## بعد الحصول على البريد الإلكتروني الأول للتسجيل، قم بإعادة التعليق على السطر. يحتاج فقط إلى التشغيل مرة واحدة.
  #- exec: rails r "SiteSetting.notification_email='info@unconfigured.discourse.org'"
  - exec: echo "End of custom commands"

أي مساعدة ستكون موضع تقدير.

قمت بالتحديث إلى إصدار دبيان بوكورم الحالي وجربت مرة أخرى، لكن الخطأ لا زال مستمراً. هل لدى أحدٍ فكرة؟

هل تحصل على نفس رسالة الخطأ بالضبط؟

؟

Yes, the current output is:

# ./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

لا يمكنني تكرار هذا على الخادم الخاص بي. هل يمكنك مشاركة المزيد من التفاصيل حول الخادم الذي تستخدمه؟ ما هو مزود خدمة الخادم الافتراضي الخاص (VPS)، ونظام التشغيل وإصداره، ومخرجات docker info؟

إعجاب واحد (1)

[quote=“Falco, post:15, topic:353999, username:Falco”]
ما هو مزود خدمة الخادم الافتراضي الخاص (VPS)؟
[/quote]حاوية LXC تعمل على Proxmox VE 7.4-19 (kernel Linux 5.15.158-2-pve #1 SMP PVE 5.15.158-2)، على جهاز بثمانية معالجات Intel(R) Xeon(R) CPU W3550 @ 3.07GHz.

[quote=“Falco, post:15, topic:353999, username:Falco”]
نظام التشغيل
[/quote]Debian 12 (Bookworm) 64bit، تم تحديثه في وقت سابق اليوم من Debian 11 (Bullseye) (إنه جهاز 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

يسعدني تقديم أي معلومات إضافية تساعد في حل المشكلة.

واو، هذه وحدة معالجة مركزية يزيد عمرها عن 15 عامًا. بينما واجهنا مشاكل مع وحدات المعالجة المركزية القديمة في الماضي، لا يبدو أن هذه هي المشكلة هذه المرة.

إذًا الأمر هكذا؟

architecture-beta
    group host(server)[host]
          group lxc(server)[lxc] in host
              group docker(server)[discourse docker container] in lxc

ولا يزال يعمل بشكل جيد. :wink: بينما الاستدامة هي بالفعل موضوع، كان هذا النظام مخصصًا كنظام اختبار والهدف الآن هو تحديث discourse ثم نقله إلى PVE الإنتاجي على أجهزة حديثة ومناسبة أكثر.

نعم. يعمل PVE على أجهزة فعلية. داخل PVE، يتم استخدام ضيف CT (LXC) لتشغيل جهاز TKL، والذي تم استخدامه لتثبيت discourse عبر docker.
(ملاحظة: في PVE الإنتاجي، نخطط لاستخدام جهاز افتراضي (Qemu) مع Debian عادي لتشغيل discourse docker، وهي الطريقة الموصى بها أكثر)

إعجاب واحد (1)

إذًا، نجح pnpm install للإصدار v3.4.0.beta3، لكن الإصدار الأخير من Discourse لم ينجح؟ غريب جدًا!

أحد الأشياء التي يجب أن تضعها في اعتبارك هو أنه مقارنةً بمديري الحزم الآخرين، يستخدم pnpm بكثافة “الروابط الصلبة” على نظام الملفات. يمكن أن يسبب ذلك مشاكل في بعض أنواع أنظمة الملفات… على الرغم من أنه من المفترض أن يتراجع تلقائيًا إلى استراتيجية لا تعتمد على الروابط الصلبة. مزيد من المعلومات حول ذلك هنا.

مقارنةً بتثبيت قياسي:

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

إذًا، overlay2 هو نفسه. لكن نظام الملفات الأساسي مختلف… لا أعرف ما إذا كان ذلك سيؤثر على هذا النوع من المشاكل؟

إعجابَين (2)

نعم.

أنا مستعد لتقديم معلومات إضافية، إذا أخبرتني كيف/ماذا أفحص…

التثبيت المتأثر هو تثبيت اختباري. لدي تثبيت منتج يعمل على نفس العتاد/الإعداد (والذي أتردد حاليًا في تحديثه…).