Сбой обновления

I, [2025-08-23T07:21:01.134641 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'find /var/www/discourse/vendor/bundle -name cache -not -path "*/gems/*" -type d -exec rm -rf {} +'
I, [2025-08-23T07:21:02.162053 #1]  INFO -- : 
I, [2025-08-23T07:21:02.162765 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'find /var/www/discourse/vendor/bundle -name tmp -type d -exec rm -rf {} +'
I, [2025-08-23T07:21:02.325196 #1]  INFO -- : 
I, [2025-08-23T07:21:02.329619 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'LOAD_PLUGINS=0 bundle exec rake plugin:pull_compatible_all'
I, [2025-08-23T07:21:09.408854 #1]  INFO -- : 
I, [2025-08-23T07:21:09.410619 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'
rake aborted!
StandardError: Произошла ошибка, эта и все последующие миграции отменены: (StandardError)

ERROR:  должен быть владельцем расширения vector
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rack-mini-profiler-4.0.1/lib/patches/db/pg/alias_method.rb:109:in `exec'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rack-mini-profiler-4.0.1/lib/patches/db/pg/alias_method.rb:109:in `async_exec'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_sql-1.6.0/lib/mini_sql/postgres/connection.rb:217:in `run'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_sql-1.6.0/lib/mini_sql/active_record_postgres/connection.rb:38:in `block in run'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_sql-1.6.0/lib/mini_sql/active_record_postgres/connection.rb:34:in `block in with_lock'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-8.0.2.1/lib/active_support/concurrency/null_lock.rb:9:in `synchronize'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_sql-1.6.0/lib/mini_sql/active_record_postgres/connection.rb:34:in `with_lock'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_sql-1.6.0/lib/mini_sql/active_record_postgres/connection.rb:38:in `run'
/var/www/discourse/lib/mini_sql_multisite_connection.rb:109:in `run'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_sql-1.6.0/lib/mini_sql/postgres/connection.rb:196:in `exec'
/var/www/discourse/plugins/discourse-ai/db/migrate/20240611170904_upgrade_pgvector_070.rb:10:in `up'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:994:in `public_send'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:994:in `exec_migration'
/var/www/discourse/lib/freedom_patches/schema_migration_details.rb:8:in `block in exec_migration'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/benchmark-0.4.1/lib/benchmark.rb:305:in `measure'
/var/www/discourse/lib/freedom_patches/schema_migration_details.rb:8:in `exec_migration'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:975:in `block (2 levels) in migrate'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-8.0.2.1/lib/active_support/benchmark.rb:17:in `realtime'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:974:in `block in migrate'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:412:in `with_connection'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:973:in `migrate'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:1187:in `migrate'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:1535:in `block in execute_migration_in_transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/connection_adapters/abstract/transaction.rb:626:in `block in within_new_transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-8.0.2.1/lib/active_support/concurrency/null_lock.rb:9:in `synchronize'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/connection_adapters/abstract/transaction.rb:623:in `within_new_transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/connection_adapters/abstract/database_statements.rb:367:in `within_new_transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/connection_adapters/abstract/database_statements.rb:359:in `transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:1586:in `ddl_transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:1534:in `execute_migration_in_transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:1509:in `each'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:1509:in `migrate_without_lock'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:1454:in `block in migrate'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:1606:in `with_advisory_lock'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:1454:in `migrate'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:1261:in `up'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:1236:in `migrate'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/tasks/database_tasks.rb:270:in `migrate'
/var/www/discourse/lib/tasks/db.rake:267:in `block (2 levels) in <main>'
/var/www/discourse/lib/distributed_mutex.rb:53:in `block in synchronize'
/var/www/discourse/lib/distributed_mutex.rb:49:in `synchronize'
/var/www/discourse/lib/distributed_mutex.rb:49:in `synchronize'
/var/www/discourse/lib/distributed_mutex.rb:34:in `synchronize'
/var/www/discourse/lib/tasks/db.rake:242:in `block in <main>'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.3.0/exe/rake:27:in `<top (required)>'
/usr/local/bin/bundle:25:in `load'
/usr/local/bin/bundle:25:in `<main>'

Причина:
PG::InsufficientPrivilege: ERROR:  должен быть владельцем расширения vector (PG::InsufficientPrivilege)
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rack-mini-profiler-4.0.1/lib/patches/db/pg/alias_method.rb:109:in `exec'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rack-mini-profiler-4.0.1/lib/patches/db/pg/alias_method.rb:109:in `async_exec'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_sql-1.6.0/lib/mini_sql/postgres/connection.rb:217:in `run'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_sql-1.6.0/lib/mini_sql/active_record_postgres/connection.rb:38:in `block in run'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_sql-1.6.0/lib/mini_sql/active_record_postgres/connection.rb:34:in `block in with_lock'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-8.0.2.1/lib/active_support/concurrency/null_lock.rb:9:in `synchronize'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_sql-1.6.0/lib/mini_sql/active_record_postgres/connection.rb:34:in `with_lock'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_sql-1.6.0/lib/mini_sql/active_record_postgres/connection.rb:38:in `run'
/var/www/discourse/lib/mini_sql_multisite_connection.rb:109:in `run'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_sql-1.6.0/lib/mini_sql/postgres/connection.rb:196:in `exec'
/var/www/discourse/plugins/discourse-ai/db/migrate/20240611170904_upgrade_pgvector_070.rb:10:in `up'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:994:in `public_send'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:994:in `exec_migration'
/var/www/discourse/lib/freedom_patches/schema_migration_details.rb:8:in `block in exec_migration'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/benchmark-0.4.1/lib/benchmark.rb:305:in `measure'
/var/www/discourse/lib/freedom_patches/schema_migration_details.rb:8:in `exec_migration'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:975:in `block (2 levels) in migrate'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-8.0.2.1/lib/active_support/benchmark.rb:17:in `realtime'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:974:in `block in migrate'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:412:in `with_connection'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:973:in `migrate'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:1187:in `migrate'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:1535:in `block in execute_migration_in_transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/connection_adapters/abstract/transaction.rb:626:in `block in within_new_transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-8.0.2.1/lib/active_support/concurrency/null_lock.rb:9:in `synchronize'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/connection_adapters/abstract/transaction.rb:623:in `within_new_transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/connection_adapters/abstract/database_statements.rb:367:in `within_new_transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/connection_adapters/abstract/database_statements.rb:359:in `transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:1586:in `ddl_transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:1534:in `execute_migration_in_transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:1509:in `each'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:1509:in `migrate_without_lock'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:1454:in `block in migrate'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:1606:in `with_advisory_lock'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:1454:in `migrate'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:1261:in `up'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:1236:in `migrate'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/tasks/database_tasks.rb:270:in `migrate'
/var/www/discourse/lib/tasks/db.rake:267:in `block (2 levels) in <main>'
/var/www/discourse/lib/distributed_mutex.rb:53:in `block in synchronize'
/var/www/discourse/lib/distributed_mutex.rb:49:in `synchronize'
/var/www/discourse/lib/distributed_mutex.rb:49:in `synchronize'
/var/www/discourse/lib/distributed_mutex.rb:34:in `synchronize'
/var/www/discourse/lib/tasks/db.rake:242:in `block in <main>'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.3.0/exe/rake:27:in `<top (required)>'
/usr/local/bin/bundle:25:in `load'
/usr/local/bin/bundle:25:in `<main>'
Задачи: TOP => db:migrate
(Полный трассировочный отчет можно получить, запустив задачу с флагом --trace)
I, [2025-08-23T07:21:33.468823 #1]  INFO -- : == 20240611170904 UpgradePgvector070: миграция ===============================



ОШИБКА
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' завершилась с кодом возврата #<Process::Status: pid 566 exit 1>
Место возникновения ошибки: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.3.0/lib/pups/exec_command.rb:131:in `spawn'
выполнение не удалось с параметрами {"cd"=>"$home", "tag"=>"migrate", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
загрузка не удалась с кодом выхода 1
** НЕ УДАЛОСЬ ЗАПУСТИТЬ ** пожалуйста, прокрутите вверх и поищите сообщения об ошибках, которые появились ранее; их может быть несколько.
./discourse-doctor может помочь диагностировать проблему.
c8aa5aba4c2c4f5231b364f714c60365517d25299a447c053a97c86871b3661e
root@www:/var/discourse# 

Привет! Это поможет?

Это не имеет для меня смысла. Я запускаю оболочку из Digital Ocean, как всегда, и никогда не сталкивался с проблемами владения файлами.

Вот ещё одна попытка.

root@www:/var/discourse# ./launcher bootstrap web_only && ./launcher destroy web_only && ./launcher start web_only
WARNING: Docker version 24.0.2 deprecated, recommend upgrade to 24.0.7 or newer.
x86_64 arch detected.
2.0.20250722-0020: Pulling from discourse/base
Digest: sha256:3b975c30ef85e9742e2d7f6093450867e67dae204c93d22cc38d043dcbf530b3
Status: Image is up to date for discourse/base:2.0.20250722-0020
docker.io/discourse/base:2.0.20250722-0020
/usr/local/lib/ruby/gems/3.3.0/gems/pups-1.3.0/lib/pups.rb
/usr/local/bin/pups --stdin
I, [2025-08-23T07:31:32.087257 #1]  INFO -- : Reading from stdin
I, [2025-08-23T07:31:32.106200 #1]  INFO -- : > thpoff echo "thpoff is installed!"
I, [2025-08-23T07:31:32.110684 #1]  INFO -- : thpoff is installed!

I, [2025-08-23T07:31:32.111638 #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-08-23T07:31:32.194342 #1]  INFO -- : 
I, [2025-08-23T07:31:32.194896 #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-08-23T07:31:32.274502 #1]  INFO -- : 
I, [2025-08-23T07:31:32.275039 #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-08-23T07:31:32.357728 #1]  INFO -- : 
I, [2025-08-23T07:31:32.358365 #1]  INFO -- : > rm -f /etc/cron.d/anacron
I, [2025-08-23T07:31:32.362334 #1]  INFO -- : 
I, [2025-08-23T07:31:32.367769 #1]  INFO -- : File > /etc/cron.d/anacron  chmod:   chown: 
I, [2025-08-23T07:31:32.374519 #1]  INFO -- : File > /etc/runit/1.d/copy-env  chmod: +x  chown: 
I, [2025-08-23T07:31:32.379224 #1]  INFO -- : File > /etc/service/unicorn/run  chmod: +x  chown: 
I, [2025-08-23T07:31:32.383792 #1]  INFO -- : File > /etc/service/nginx/run  chmod: +x  chown: 
I, [2025-08-23T07:31:32.387886 #1]  INFO -- : File > /etc/runit/3.d/01-nginx  chmod: +x  chown: 
I, [2025-08-23T07:31:32.392016 #1]  INFO -- : File > /etc/runit/3.d/02-unicorn  chmod: +x  chown: 
I, [2025-08-23T07:31:32.394238 #1]  INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse git clean -f
I, [2025-08-23T07:31:32.896889 #1]  INFO -- : 
I, [2025-08-23T07:31:32.897459 #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-a-vite
 - [deleted]             (none)     -> origin/add-plugin-outlet-wrapper-to-login-template
 - [deleted]             (none)     -> origin/default-categories-and-tag-update-batch-implementation
 - [deleted]             (none)     -> origin/dependabot/bundler/excon-1.2.8
 - [deleted]             (none)     -> origin/dependabot/bundler/nokogiri-1.18.9
 - [deleted]             (none)     -> origin/dependabot/bundler/playwright-ruby-client-1.54.0
 - [deleted]             (none)     -> origin/dependabot/bundler/propshaft-1.2.0
 - [deleted]             (none)     -> origin/dependabot/npm_and_yarn/babel-plugin-ember-template-compilation-3.0.0
 - [deleted]             (none)     -> origin/dependabot/npm_and_yarn/embroider-0ad991d471
 - [deleted]             (none)     -> origin/dependabot/npm_and_yarn/glob-11.0.3
 - [deleted]             (none)     -> origin/dependabot/npm_and_yarn/playwright-1.54.1
 - [deleted]             (none)     -> origin/dev-floatkit-autocomplete-d-editor
 - [deleted]             (none)     -> origin/dev/decorate-quote-collapsed-content-properly
 - [deleted]             (none)     -> origin/dev/extract-invite-guardian
 - [deleted]             (none)     -> origin/dev/mt/discourse-category-custom-fields
 - [deleted]             (none)     -> origin/dev/mt/discourse-group-users
 - [deleted]             (none)     -> origin/dev/mt/discourse-groups
 - [deleted]             (none)     -> origin/dev/mt/discourse-muted-users
 - [deleted]             (none)     -> origin/dev/mt/requires-set
 - [deleted]             (none)     -> origin/dev/no-more-widgets
 - [deleted]             (none)     -> origin/dev/remove-automatic-backups-enabled
 - [deleted]             (none)     -> origin/dev/use-themeable-site-settings-horizon
 - [deleted]             (none)     -> origin/enable-new-topic-btn-on-restricted-category
 - [deleted]             (none)     -> origin/feature-admin-filter-controls
 - [deleted]             (none)     -> origin/feature/enable-rich-editor-for-all
 - [deleted]             (none)     -> origin/filtermagic
 - [deleted]             (none)     -> origin/fix-destination-url
 - [deleted]             (none)     -> origin/fix/automation-toggle
 - [deleted]             (none)     -> origin/fix/mt/log-failed-downloads
 - [deleted]             (none)     -> origin/fix/translated-badge-title
 - [deleted]             (none)     -> origin/hide-ips-option
 - [deleted]             (none)     -> origin/layout-container-dev
 - [deleted]             (none)     -> origin/loic-refactor-list-channel-thread-messages
 - [deleted]             (none)     -> origin/loic-upgrade-rails-8.0
 - [deleted]             (none)     -> origin/media-convert-job
 - [deleted]             (none)     -> origin/merge-sso-destination-url-cookie-with-destination-url-cookie
 - [deleted]             (none)     -> origin/mt/set_store
 - [deleted]             (none)     -> origin/pento/dev-flag-reason-tests
 - [deleted]             (none)     -> origin/playwright-1.53
 - [deleted]             (none)     -> origin/refactor-color-palette
 - [deleted]             (none)     -> origin/remove-suspended-and-deleted-users-from-leaderboard
 - [deleted]             (none)     -> origin/rollup-theme-experiment
 - [deleted]             (none)     -> origin/table-top-border
 - [deleted]             (none)     -> origin/translations-from-crowdin-stable
 - [deleted]             (none)     -> origin/unicode-mentions-in-composer-rte
 - [deleted]             (none)     -> origin/ux-editor-toolbar-mobile-scroll
 - [deleted]             (none)     -> origin/ux/sidebar-show-messages-count
 - [deleted]             (none)     -> origin/variable-additions-2
 - [deleted]             (none)     -> origin/vite
 - [deleted]             (none)     -> origin/{sandbox/member-xp-3}
   43ddd4ef3..e44347414  main                    -> origin/main
 * [new branch]          0-a-action              -> origin/0-a-action
 * [new branch]          0-a-depr-html-safe      -> origin/0-a-depr-html-safe
 * [new branch]          0-a-ember-six           -> origin/0-a-ember-six
 * [new branch]          0-a-filter              -> origin/0-a-filter
 * [new branch]          0-a-perf-main           -> origin/0-a-perf-main
 * [new branch]          0-a-post-stream         -> origin/0-a-post-stream
 * [new branch]          0-a-simple-glimmer      -> origin/0-a-simple-glimmer
 * [new branch]          a11y-landmark-navigation -> origin/a11y-landmark-navigation
 * [new branch]          add-outlet-to-reply-to-tab -> origin/add-outlet-to-reply-to-tab
 * [new branch]          add-postoutletargs      -> origin/add-postoutletargs
 * [new branch]          agent-changes-20250810-175329 -> origin/agent-changes-20250810-175329
 * [new branch]          agent-changes-20250812-074317 -> origin/agent-changes-20250812-074317
 * [new branch]          agent-changes-20250814-131631 -> origin/agent-changes-20250814-131631
 * [new branch]          agent-changes-20250818-151455 -> origin/agent-changes-20250818-151455
 * [new branch]          attempt-auth-immediately-fix -> origin/attempt-auth-immediately-fix
 * [new branch]          composer-tlc            -> origin/composer-tlc
 * [new branch]          configurable-bot-max-completions -> origin/configurable-bot-max-completions
 + 7b3a11da9...eb71461f7 core-full-calendar-6    -> origin/core-full-calendar-6  (forced update)
 * [new branch]          crawler-middleware      -> origin/crawler-middleware
 * [new branch]          debug_persona_flaky_system_test -> origin/debug_persona_flaky_system_test
 * [new branch]          dependabot/bundler/excon-1.3.0 -> origin/dependabot/bundler/excon-1.3.0
 + 36699b311...e3f5c2d0d dependabot/bundler/jwt-3.1.2 -> origin/dependabot/bundler/jwt-3.1.2  (forced update)
 * [new branch]          dependabot/bundler/octokit-10.0.0 -> origin/dependabot/bundler/octokit-10.0.0
 * [new branch]          dependabot/bundler/puma-6.6.1 -> origin/dependabot/bundler/puma-6.6.1
 * [new branch]          dependabot/bundler/rubyzip-3.0.2 -> origin/dependabot/bundler/rubyzip-3.0.2
 * [new branch]          dependabot/bundler/stripe-15.4.0 -> origin/dependabot/bundler/stripe-15.4.0
 + def825f3f...b5a5f3924 dependabot/bundler/web-push-3.0.2 -> origin/dependabot/bundler/web-push-3.0.2  (forced update)
 * [new branch]          dependabot/bundler/zendesk_api-3.1.1 -> origin/dependabot/bundler/zendesk_api-3.1.1
 * [new branch]          dependabot/npm_and_yarn/embroider-c0ffa3c41f -> origin/dependabot/npm_and_yarn/embroider-c0ffa3c41f
 * [new branch]          dependabot/npm_and_yarn/fortawesome/fontawesome-free-7.0.0 -> origin/dependabot/npm_and_yarn/fortawesome/fontawesome-free-7.0.0
 * [new branch]          dependabot/npm_and_yarn/fullcalendar-71a1d03138 -> origin/dependabot/npm_and_yarn/fullcalendar-71a1d03138
 * [new branch]          dependabot/npm_and_yarn/glimmer/syntax-0.95.0 -> origin/dependabot/npm_and_yarn/glimmer/syntax-0.95.0
 * [new branch]          dependabot/npm_and_yarn/jspreadsheet-ce-5.0.3 -> origin/dependabot/npm_and_yarn/jspreadsheet-ce-5.0.3
 + e46dc3798...51349bbfa dependabot/npm_and_yarn/prosemirror-f8434604ae -> origin/dependabot/npm_and_yarn/prosemirror-f8434604ae  (forced update)
 * [new branch]          dev-composer-template-transformer -> origin/dev-composer-template-transformer
 * [new branch]          dev-floatkit-autocomplete-chat-composer-qa -> origin/dev-floatkit-autocomplete-chat-composer-qa
 + ea5bba76a...ab8094d5a dev-floatkit-autocomplete-d-editor-qa -> origin/dev-floatkit-autocomplete-d-editor-qa  (forced update)
 * [new branch]          dev-floatkit-autocomplete-search-inputs-qa -> origin/dev-floatkit-autocomplete-search-inputs-qa
 * [new branch]          dev-store-service-should-not-mutate-input-objs -> origin/dev-store-service-should-not-mutate-input-objs
 * [new branch]          dev/add-attributes-in-edits-indicator -> origin/dev/add-attributes-in-edits-indicator
 * [new branch]          dev/decorate-cooked-state -> origin/dev/decorate-cooked-state
 * [new branch]          dev/deprecate-ember-array-extensions -> origin/dev/deprecate-ember-array-extensions
 * [new branch]          dev/deprecate-site-xview-intializing -> origin/dev/deprecate-site-xview-intializing
 * [new branch]          dev/mt/copy_data_hooks  -> origin/dev/mt/copy_data_hooks
 * [new branch]          dev/mt/discourse-badge-groupings -> origin/dev/mt/discourse-badge-groupings
 * [new branch]          dev/mt/discourse-permalinks -> origin/dev/mt/discourse-permalinks
 * [new branch]          dev/mt/discourse-tag-group-memberships -> origin/dev/mt/discourse-tag-group-memberships
 * [new branch]          dev/mt/discourse-tag-group-permissions -> origin/dev/mt/discourse-tag-group-permissions
 * [new branch]          dev/mt/discourse-tag-groups -> origin/dev/mt/discourse-tag-groups
 * [new branch]          dev/mt/discourse-tag-users -> origin/dev/mt/discourse-tag-users
 * [new branch]          dev/mt/discourse-user-associated-accounts -> origin/dev/mt/discourse-user-associated-accounts
 * [new branch]          dev/mt/discourse-user-badges -> origin/dev/mt/discourse-user-badges
 * [new branch]          dev/mt/discourse-user-field-values -> origin/dev/mt/discourse-user-field-values
 * [new branch]          dev/mt/discourse-user-fields -> origin/dev/mt/discourse-user-fields
   56e6c9ae1..11c480f88  dev/no-more-widgets-smoke-test -> origin/dev/no-more-widgets-smoke-test
 * [new branch]          dev/post-cook-mentions-after-adopt -> origin/dev/post-cook-mentions-after-adopt
 * [new branch]          dev/remove-dual-mode-support-and-theme-owned -> origin/dev/remove-dual-mode-support-and-theme-owned
 * [new branch]          dev/specific-guardian-specs -> origin/dev/specific-guardian-specs
   1f3bbee91..00dfb95b1  dev/try-fix-flakys-tss  -> origin/dev/try-fix-flakys-tss
 * [new branch]          discourse-id-challenge  -> origin/discourse-id-challenge
 * [new branch]          dual-mode-palettes-wip  -> origin/dual-mode-palettes-wip
 * [new branch]          edit-category-page-polish -> origin/edit-category-page-polish
 * [new branch]          ember-build-reuse       -> origin/ember-build-reuse
 * [new branch]          experiment/explainable-guardians -> origin/experiment/explainable-guardians
 * [new branch]          feat/assuming-iam-role-s3 -> origin/feat/assuming-iam-role-s3
 * [new branch]          feature/assuming-iam-role-s3-pt2 -> origin/feature/assuming-iam-role-s3-pt2
   b1197c39e..3b7329907  feature/better-controls-composer-save-close -> origin/feature/better-controls-composer-save-close
 * [new branch]          feature/topic-cards-in-core -> origin/feature/topic-cards-in-core
 * [new branch]          feature/type-upload-in-type-objects -> origin/feature/type-upload-in-type-objects
 * [new branch]          feature/use-current-user-tz-instead-of-guess-local-dates -> origin/feature/use-current-user-tz-instead-of-guess-local-dates
 * [new branch]          filter-updates          -> origin/filter-updates
 * [new branch]          fix-closing             -> origin/fix-closing
 * [new branch]          fix-connect-no-auth-immediately -> origin/fix-connect-no-auth-immediately
 * [new branch]          fix/missing-user-custom-preferences-outlet-class-in-connector -> origin/fix/missing-user-custom-preferences-outlet-class-in-connector
 * [new branch]          fix_form_template_switch_upload -> origin/fix_form_template_switch_upload
 + 2a2682299...9e18befeb form-kit-2-0            -> origin/form-kit-2-0  (forced update)
 * [new branch]          horizon_as_default_for_new_sites -> origin/horizon_as_default_for_new_sites
 * [new branch]          id-setting-desc         -> origin/id-setting-desc
 * [new branch]          improve_no_database_error_patch -> origin/improve_no_database_error_patch
 * [new branch]          improve_pg_adapter_new_client_error -> origin/improve_pg_adapter_new_client_error
 * [new branch]          issue/chat-classes-drawer-full-page -> origin/issue/chat-classes-drawer-full-page
 * [new branch]          lazy-youtube-iframe     -> origin/lazy-youtube-iframe
 * [new branch]          likes-dmenu             -> origin/likes-dmenu
 * [new branch]          loic-list-channel-messages -> origin/loic-list-channel-messages
 * [new branch]          loic-pitchfork          -> origin/loic-pitchfork
 * [new branch]          loic-server-modifiers-types -> origin/loic-server-modifiers-types
 * [new branch]          max-completions         -> origin/max-completions
 * [new branch]          messages-dropdown-d-menu -> origin/messages-dropdown-d-menu
 + 3b3ae9f46...979b63a55 mt/enums                -> origin/mt/enums  (forced update)
 * [new branch]          nat1-merge-branch       -> origin/nat1-merge-branch
 * [new branch]          onebox-images-with-bad-aspect-ratio -> origin/onebox-images-with-bad-aspect-ratio
 * [new branch]          only_dump_schema_tests_workflow -> origin/only_dump_schema_tests_workflow
 * [new branch]          palette-default-on-theme -> origin/palette-default-on-theme
 * [new branch]          pento/dev-create-new-separated-actions -> origin/pento/dev-create-new-separated-actions
 * [new branch]          photoswipe-spike        -> origin/photoswipe-spike
 * [new branch]          post-control-button-edits -> origin/post-control-button-edits
 * [new branch]          refactor-email-logs     -> origin/refactor-email-logs
 * [new branch]          resolver-normalization-cleanup -> origin/resolver-normalization-cleanup
 * [new branch]          revert-localize-topic-view-crawler -> origin/revert-localize-topic-view-crawler
 * [new branch]          revert-private-topic    -> origin/revert-private-topic
 * [new branch]          rollup-plugin-experiment -> origin/rollup-plugin-experiment
 * [new branch]          rollup-theme-experiment-cross-theme-import -> origin/rollup-theme-experiment-cross-theme-import
 * [new branch]          samsaffron/codex/convert-filter-tips-to-use-dmenu -> origin/samsaffron/codex/convert-filter-tips-to-use-dmenu
   8cb90072e..710d9fd41  sandbox/design-1        -> origin/sandbox/design-1
   1f97cf422..320fba83d  sandbox/dev-xp-1        -> origin/sandbox/dev-xp-1
 + 817a743cb...201d337f0 sandbox/member-xp-1     -> origin/sandbox/member-xp-1  (forced update)
 + d182efe6f...6ed7e38c1 sandbox/member-xp-2     -> origin/sandbox/member-xp-2  (forced update)
 + 5f0d9d41c...3b7329907 sandbox/member-xp-4     -> origin/sandbox/member-xp-4  (forced update)
 + f73e21df4...3f5e8926a sandbox/staff-xp-1      -> origin/sandbox/staff-xp-1  (forced update)
 * [new branch]          shadow-variables        -> origin/shadow-variables
 * [new branch]          similar-topics-hook     -> origin/similar-topics-hook
 * [new branch]          similar-topics-modifier -> origin/similar-topics-modifier
 * [new branch]          simplify-add-remove-pm-user-group -> origin/simplify-add-remove-pm-user-group
 * [new branch]          site-settings-formkit   -> origin/site-settings-formkit
 + 9aa6daa1f...e4eb8e7e9 split-login-admin-settings -> origin/split-login-admin-settings  (forced update)
   a83bd0f67..99e53447c  stable                  -> origin/stable
 + 293de3a75...e31549885 temp-user-creation-debug-logging -> origin/temp-user-creation-debug-logging  (forced update)
   43ddd4ef3..e44347414  tests-passed            -> origin/tests-passed
 * [new branch]          theme-upload-cleanup    -> origin/theme-upload-cleanup
 * [new branch]          ux-channel-mention-structure -> origin/ux-channel-mention-structure
 * [new branch]          ux-discoure-id-button-styles -> origin/ux-discoure-id-button-styles
 * [new branch]          ux-hashtag-alignment    -> origin/ux-hashtag-alignment
 * [new branch]          ux-markdown-tip         -> origin/ux-markdown-tip
 * [new branch]          ux/add-tags-to-user-activity-feed -> origin/ux/add-tags-to-user-activity-feed
   b0c2d83ec..045aefecb  ux/horizon-mobile-composer -> origin/ux/horizon-mobile-composer
 * [new branch]          ux/make-title-field-consistent-for-pms-and-regular-topics -> origin/ux/make-title-field-consistent-for-pms-and-regular-topics
   39d2564ba..c5bca775f  vite-squashed-rebased   -> origin/vite-squashed-rebased
 * [new branch]          weclome-banner-styling  -> origin/weclome-banner-styling
 t [tag update]          beta                    -> beta
 t [tag update]          latest-release          -> latest-release
 * [new tag]             v3.4.7                  -> v3.4.7
 * [new tag]             v3.5.0                  -> v3.5.0
 * [new tag]             v3.5.0.beta8            -> v3.5.0.beta8
 * [new tag]             v3.5.0.beta9            -> v3.5.0.beta9
I, [2025-08-23T07:31:34.586713 #1]  INFO -- : 
I, [2025-08-23T07:31:34.587451 #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-08-23T07:31:43.631956 #1]  INFO -- : branch 'tests-passed' set up to track 'origin/tests-passed'.

I, [2025-08-23T07:31:43.633053 #1]  INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse git config user.discourse-version tests-passed
I, [2025-08-23T07:31:43.649737 #1]  INFO -- : 
I, [2025-08-23T07:31:43.650349 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp
I, [2025-08-23T07:31:43.654903 #1]  INFO -- : 
I, [2025-08-23T07:31:43.655462 #1]  INFO -- : > cd /var/www/discourse && chown discourse:www-data tmp
I, [2025-08-23T07:31:43.660645 #1]  INFO -- : 
I, [2025-08-23T07:31:43.662835 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp/pids
I, [2025-08-23T07:31:43.668530 #1]  INFO -- : 
I, [2025-08-23T07:31:43.669121 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp/sockets
I, [2025-08-23T07:31:43.672425 #1]  INFO -- : 
I, [2025-08-23T07:31:43.672835 #1]  INFO -- : > cd /var/www/discourse && touch tmp/.gitkeep
I, [2025-08-23T07:31:43.676999 #1]  INFO -- : 
I, [2025-08-23T07:31:43.677425 #1]  INFO -- : > cd /var/www/discourse && mkdir -p                    /shared/log/rails
I, [2025-08-23T07:31:43.680245 #1]  INFO -- : 
I, [2025-08-23T07:31:43.680823 #1]  INFO -- : > cd /var/www/discourse && bash -c "touch -a           /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.log"
I, [2025-08-23T07:31:43.686548 #1]  INFO -- : 
I, [2025-08-23T07:31:43.687056 #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-08-23T07:31:43.692984 #1]  INFO -- : 
I, [2025-08-23T07:31:43.693479 #1]  INFO -- : > cd /var/www/discourse && bash -c "mkdir -p           /shared/{uploads,backups}"
I, [2025-08-23T07:31:43.699581 #1]  INFO -- : 
I, [2025-08-23T07:31:43.700049 #1]  INFO -- : > cd /var/www/discourse && bash -c "ln    -s           /shared/{uploads,backups} /var/www/discourse/public"
I, [2025-08-23T07:31:43.704540 #1]  INFO -- : 
I, [2025-08-23T07:31:43.705158 #1]  INFO -- : > cd /var/www/discourse && bash -c "mkdir -p           /shared/tmp/{backups,restores}"
I, [2025-08-23T07:31:43.709801 #1]  INFO -- : 
I, [2025-08-23T07:31:43.710285 #1]  INFO -- : > cd /var/www/discourse && bash -c "ln    -s           /shared/tmp/{backups,restores} /var/www/discourse/tmp"
I, [2025-08-23T07:31:43.714500 #1]  INFO -- : 
I, [2025-08-23T07:31:43.715022 #1]  INFO -- : > cd /var/www/discourse && chown -R discourse:www-data /shared/log/rails /shared/uploads /shared/backups /shared/tmp
I, [2025-08-23T07:31:43.720424 #1]  INFO -- : 
I, [2025-08-23T07:31:43.721035 #1]  INFO -- : > cd /var/www/discourse && [ ! -d public/plugins ] || find public/plugins/ -maxdepth 1 -xtype l -delete
I, [2025-08-23T07:31:43.723552 #1]  INFO -- : 
I, [2025-08-23T07:31:43.729379 #1]  INFO -- : > cp /var/www/discourse/config/nginx.sample.conf /etc/nginx/conf.d/discourse.conf
I, [2025-08-23T07:31:43.736706 #1]  INFO -- : 
I, [2025-08-23T07:31:43.737592 #1]  INFO -- : > rm /etc/nginx/sites-enabled/default
I, [2025-08-23T07:31:43.741119 #1]  INFO -- : 
I, [2025-08-23T07:31:43.741702 #1]  INFO -- : > mkdir -p /var/nginx/cache
I, [2025-08-23T07:31:43.744993 #1]  INFO -- : 
I, [2025-08-23T07:31:43.745572 #1]  INFO -- : > grep -q 'outlets/before-server' /etc/nginx/conf.d/discourse.conf || ( >&2 echo 'The "before-server" Nginx outlet is missing. This version of discourse_docker is not compatible with the chosen Discourse version.' ; exit 1 )
I, [2025-08-23T07:31:43.749777 #1]  INFO -- : 
I, [2025-08-23T07:31:43.750234 #1]  INFO -- : > grep -q 'outlets/server' /etc/nginx/conf.d/discourse.conf || ( >&2 echo 'The "server" Nginx outlet is missing. This version of discourse_docker is not compatible with the chosen Discourse version.' ; exit 1 )
I, [2025-08-23T07:31:43.753315 #1]  INFO -- : 
I, [2025-08-23T07:31:43.753760 #1]  INFO -- : > grep -q 'outlets/discourse' /etc/nginx/conf.d/discourse.conf || ( >&2 echo 'The "discourse" Nginx outlet is missing. This version of discourse_docker is not compatible with the chosen Discourse version.' ; exit 1 )
I, [2025-08-23T07:31:43.756831 #1]  INFO -- : 
I, [2025-08-23T07:31:43.757716 #1]  INFO -- : > mkdir -p /etc/nginx/conf.d/outlets/before-server
I, [2025-08-23T07:31:43.761027 #1]  INFO -- : 
I, [2025-08-23T07:31:43.761956 #1]  INFO -- : > touch /etc/nginx/conf.d/outlets/before-server/20-redirect-http-to-https.conf
I, [2025-08-23T07:31:43.764462 #1]  INFO -- : 
I, [2025-08-23T07:31:43.764938 #1]  INFO -- : > touch /etc/nginx/conf.d/outlets/before-server/30-ratelimited.conf
I, [2025-08-23T07:31:43.766748 #1]  INFO -- : 
I, [2025-08-23T07:31:43.767148 #1]  INFO -- : > mkdir -p /etc/nginx/conf.d/outlets/server
I, [2025-08-23T07:31:43.769260 #1]  INFO -- : 
I, [2025-08-23T07:31:43.769684 #1]  INFO -- : > touch /etc/nginx/conf.d/outlets/server/10-http.conf
I, [2025-08-23T07:31:43.771500 #1]  INFO -- : 
I, [2025-08-23T07:31:43.771930 #1]  INFO -- : > touch /etc/nginx/conf.d/outlets/server/20-https.conf
I, [2025-08-23T07:31:43.773841 #1]  INFO -- : 
I, [2025-08-23T07:31:43.774260 #1]  INFO -- : > touch /etc/nginx/conf.d/outlets/server/30-offline-page.conf
I, [2025-08-23T07:31:43.775964 #1]  INFO -- : 
I, [2025-08-23T07:31:43.776426 #1]  INFO -- : > mkdir -p /etc/nginx/conf.d/outlets/discourse
I, [2025-08-23T07:31:43.778362 #1]  INFO -- : 
I, [2025-08-23T07:31:43.778809 #1]  INFO -- : > touch /etc/nginx/conf.d/outlets/discourse/20-https.conf
I, [2025-08-23T07:31:43.780993 #1]  INFO -- : 
I, [2025-08-23T07:31:43.781396 #1]  INFO -- : > touch /etc/nginx/conf.d/outlets/discourse/30-ratelimited.conf
I, [2025-08-23T07:31:43.783190 #1]  INFO -- : 
I, [2025-08-23T07:31:43.783993 #1]  INFO -- : Replacing pid /run/nginx.pid; with daemon off; in /etc/nginx/nginx.conf
I, [2025-08-23T07:31:43.784898 #1]  INFO -- : Replacing (?-mix:worker_connections.+$) with worker_connections $nginx_worker_connections; in /etc/nginx/nginx.conf
I, [2025-08-23T07:31:43.785525 #1]  INFO -- : Replacing (?-mix:client_max_body_size.+$) with client_max_body_size $upload_size; in /etc/nginx/conf.d/discourse.conf
I, [2025-08-23T07:31:43.786042 #1]  INFO -- : > sed -i 's#listen 80;##g' /etc/nginx/conf.d/discourse.conf
I, [2025-08-23T07:31:43.790391 #1]  INFO -- : 
I, [2025-08-23T07:31:43.790918 #1]  INFO -- : > if [ -f "/proc/net/if_inet6" ]; then
  echo "listen 80;\nlisten [::]:80;" > /etc/nginx/conf.d/outlets/server/10-http.conf
else
  echo "listen 80;" > /etc/nginx/conf.d/outlets/server/10-http.conf
fi
I, [2025-08-23T07:31:43.793661 #1]  INFO -- : 
I, [2025-08-23T07:31:43.794416 #1]  INFO -- : > echo "done configuring web"
I, [2025-08-23T07:31:43.797194 #1]  INFO -- : done configuring web

I, [2025-08-23T07:31:43.798295 #1]  INFO -- : > cd /var/www/discourse && gem install bundler --conservative -v $(awk '/BUNDLED WITH/ { getline; gsub(/ /,""); print $0 }' Gemfile.lock)
I, [2025-08-23T07:31:44.265476 #1]  INFO -- : 
I, [2025-08-23T07:31:44.266054 #1]  INFO -- : > cd /var/www/discourse && find /var/www/discourse ! -user discourse -exec chown discourse {} \+
I, [2025-08-23T07:31:49.783003 #1]  INFO -- : 
I, [2025-08-23T07:31:49.789293 #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-08-23T07:32:39.130687 #1]  INFO -- : Scope: all 16 workspace projects
Lockfile is up to date, resolution step is skipped
Progress: resolved 1, reused 0, downloaded 0, added 0
Packages: +366 -103
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------
Progress: resolved 366, reused 18, downloaded 0, added 0
Progress: resolved 366, reused 107, downloaded 0, added 0
Progress: resolved 366, reused 117, downloaded 11, added 7
Progress: resolved 366, reused 117, downloaded 16, added 24
Progress: resolved 366, reused 117, downloaded 16, added 25
Progress: resolved 366, reused 117, downloaded 16, added 44
Progress: resolved 366, reused 117, downloaded 16, added 52
Progress: resolved 366, reused 117, downloaded 16, added 65
Progress: resolved 366, reused 117, downloaded 27, added 81
Progress: resolved 366, reused 117, downloaded 37, added 91
Progress: resolved 366, reused 117, downloaded 85, added 143
Progress: resolved 366, reused 117, downloaded 93, added 150
Progress: resolved 366, reused 117, downloaded 102, added 161
Progress: resolved 366, reused 117, downloaded 107, added 163
Progress: resolved 366, reused 117, downloaded 109, added 165
Progress: resolved 366, reused 117, downloaded 118, added 173
Progress: resolved 366, reused 117, downloaded 128, added 183
Progress: resolved 366, reused 117, downloaded 129, added 183
Progress: resolved 366, reused 117, downloaded 144, added 198
Progress: resolved 366, reused 117, downloaded 173, added 232
Progress: resolved 366, reused 117, downloaded 187, added 241
Progress: resolved 366, reused 117, downloaded 199, added 253
Progress: resolved 366, reused 117, downloaded 207, added 265
Progress: resolved 366, reused 117, downloaded 214, added 268
Progress: resolved 366, reused 117, downloaded 220, added 274
Progress: resolved 366, reused 117, downloaded 222, added 277
Progress: resolved 366, reused 117, downloaded 230, added 284
Progress: resolved 366, reused 117, downloaded 238, added 292
Progress: resolved 366, reused 117, downloaded 238, added 293
Progress: resolved 366, reused 117, downloaded 246, added 300
Progress: resolved 366, reused 117, downloaded 249, added 319, done
.../node_modules/@swc/core postinstall$ node postinstall.js
.../core-js@3.45.1/node_modules/core-js postinstall$ node -e "try{require('./postinstall')}catch(e){}"
.../esbuild@0.25.9/node_modules/esbuild postinstall$ node install.js
.../node_modules/lefthook postinstall$ node postinstall.js
.../core-js@3.45.1/node_modules/core-js postinstall: Done
.../node_modules/lefthook postinstall: Done
.../node_modules/@swc/core postinstall: Done
.../esbuild@0.25.9/node_modules/esbuild postinstall: Done

devDependencies:
- @discourse/lint-configs 2.22.0
+ @discourse/lint-configs 2.31.0
- @glint/core 1.4.1-unstable.34c4510
+ @glint/core 2.0.0-alpha.3
- @glint/environment-ember-loose 1.4.1-unstable.34c4510
+ @glint/environment-ember-loose 2.0.0-alpha.3
- @glint/environment-ember-template-imports 1.4.1-unstable.34c4510
+ @glint/environment-ember-template-imports 2.0.0-alpha.3
- @glint/template 1.4.1-unstable.34c4510
+ @glint/template 1.6.0-alpha.2
- @swc/core 1.13.1
+ @swc/core 1.13.4
- ember-template-lint 7.7.0
+ ember-template-lint 7.9.3
- esbuild 0.25.8
+ esbuild 0.25.9
- eslint 9.27.0
+ eslint 9.33.0
- lefthook 1.12.2
+ lefthook 1.12.3
- lint-to-the-future-eslint 3.1.0
+ lint-to-the-future-eslint 3.2.0
- playwright 1.52.0
+ playwright 1.55.0
- puppeteer-core 24.14.0
+ puppeteer-core 24.17.0
- stylelint 16.19.1
+ stylelint 16.23.1

Done in 44s using pnpm v9.15.9
Lockfile is up to date, resolution step is skipped
Already up to date


I, [2025-08-23T07:32:39.141165 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle install --jobs $(($(nproc) - 1)) --retry 3'
WARN: Unresolved or ambiguous specs during Gem::Specification.reset:
      stringio (>= 0)
      Available/installed versions of this gem:
      - 3.1.7
      - 3.1.1
WARN: Clearing out unresolved specs. Try 'gem cleanup <gem>'
Please report a bug if this causes problems.
I, [2025-08-23T07:33:16.827661 #1]  INFO -- : Fetching gem metadata from https://rubygems.org/........
Fetching Ascii85 2.0.1
Installing Ascii85 2.0.1
Fetching activesupport 8.0.2.1
Installing activesupport 8.0.2.1
Fetching nokogiri 1.18.9 (x86_64-linux-gnu)
Installing nokogiri 1.18.9 (x86_64-linux-gnu)
Fetching actionview 8.0.2.1
Installing actionview 8.0.2.1
Fetching actionpack 8.0.2.1
Installing actionpack 8.0.2.1
Fetching activejob 8.0.2.1
Installing activejob 8.0.2.1
Fetching actionmailer 8.0.2.1
Installing actionmailer 8.0.2.1
Fetching activemodel 8.0.2.1
Installing activemodel 8.0.2.1
Fetching activerecord 8.0.2.1
Installing activerecord 8.0.2.1
Fetching afm 1.0.0
Installing afm 1.0.0
Fetching aws-partitions 1.1134.0
Installing aws-partitions 1.1134.0
Fetching aws-sdk-core 3.227.0
Installing aws-sdk-core 3.227.0
Fetching aws-sdk-mediaconvert 1.165.0
Installing aws-sdk-mediaconvert 1.165.0
Загрузка cbor 0.5.10.1
Установка cbor 0.5.10.1 с нативными расширениями
Загрузка tiktoken_ruby 0.0.11.1 (x86_64-linux)
Установка tiktoken_ruby 0.0.11.1 (x86_64-linux)
Загрузка tokenizers 0.5.5 (x86_64-linux)
Установка tokenizers 0.5.5 (x86_64-linux)
Загрузка discourse_ai-tokenizers 0.3.1
Установка discourse_ai-tokenizers 0.3.1
Загрузка ed25519 1.4.0
Установка ed25519 1.4.0 с нативными расширениями
Загрузка json 2.13.2
Установка json 2.13.2 с нативными расширениями
Загрузка faraday 2.13.4
Установка faraday 2.13.4
Загрузка multipart-post 2.4.1
Установка multipart-post 2.4.1
Загрузка faraday-multipart 1.1.1
Установка faraday-multipart 1.1.1
Загрузка goldiloader 5.4.0
Установка goldiloader 5.4.0
Загрузка google-protobuf 4.32.0 (x86_64-linux-gnu)
Установка google-protobuf 4.32.0 (x86_64-linux-gnu)
Загрузка hashery 2.1.2
Установка hashery 2.1.2
Загрузка reline 0.6.2
Установка reline 0.6.2
Загрузка regexp_parser 2.11.2
Установка regexp_parser 2.11.2
Загрузка railties 8.0.2.1
Установка railties 8.0.2.1
Загрузка redis-client 0.25.2
Установка redis-client 0.25.2
Загрузка sawyer 0.9.2
Установка sawyer 0.9.2
Загрузка octokit 5.6.1
Установка octokit 5.6.1
Загрузка ruby-rc4 0.1.5
Установка ruby-rc4 0.1.5
Загрузка ttfunk 1.8.0
Установка ttfunk 1.8.0
Загрузка pdf-reader 2.15.0
Установка pdf-reader 2.15.0
Загрузка pg 1.6.1 (x86_64-linux)
Установка pg 1.6.1 (x86_64-linux)
Загрузка propshaft 1.2.1
Установка propshaft 1.2.1
Загрузка rack-mini-profiler 4.0.1
Установка rack-mini-profiler 4.0.1
Загрузка rails_multisite 7.0.0
Установка rails_multisite 7.0.0
Загрузка sass-embedded 1.90.0 (x86_64-linux-gnu)
Установка sass-embedded 1.90.0 (x86_64-linux-gnu)
Загрузка sassc-embedded 1.80.5
Установка sassc-embedded 1.80.5
Сборка завершена! 161 зависимость в Gemfile, 208 гемов установлено.
Гемы из групп 'test' и 'development' не были установлены.
Гемы установлены в `./vendor/bundle`
3 гема, от которых вы напрямую зависите, ищут финансирование.
  Выполните `bundle fund` для получения подробной информации

I, [2025-08-23T07:33:16.829668 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle clean'
I, [2025-08-23T07:33:18.202690 #1]  INFO -- : Удаление actionmailer (7.2.2.1)
Удаление actionpack (7.2.2.1)
Удаление actionview (7.2.2.1)
Удаление activejob (7.2.2.1)
Удаление activemodel (7.2.2.1)
Удаление activerecord (7.2.2.1)
Удаление activesupport (7.2.2.1)
Удаление aws-partitions (1.1117.0)
Удаление aws-sdk-core (3.226.0)
Удаление cbor (0.5.9.8)
Удаление execjs (2.10.0)
Удаление faraday (2.13.2)
Удаление faraday-multipart (1.0.4)
Удаление google-protobuf-4.31.1-x86_64-linux (gnu)
Удаление json (2.13.0)
Удаление multipart-post (2.2.3)
Удаление nokogiri-1.18.8-x86_64-linux (gnu)
Удаление pg (1.5.9)
Удаление propshaft (1.1.0)
Удаление rack-mini-profiler (4.0.0)
Удаление rails_multisite (6.1.0)
Удаление railties (7.2.2.1)
Удаление redis-client (0.25.1)
Удаление regexp_parser (2.10.0)
Удаление reline (0.6.1)
Удаление sass-embedded-1.85.0-x86_64-linux (gnu)
Удаление sassc-embedded (1.80.2)

I, [2025-08-23T07:33:18.203661 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'find /var/www/discourse/vendor/bundle -name cache -not -path "*/gems/*" -type d -exec rm -rf {} +'
I, [2025-08-23T07:33:19.121321 #1]  INFO -- : 
I, [2025-08-23T07:33:19.123268 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'find /var/www/discourse/vendor/bundle -name tmp -type d -exec rm -rf {} +'
I, [2025-08-23T07:33:19.304229 #1]  INFO -- : 
I, [2025-08-23T07:33:19.307321 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'LOAD_PLUGINS=0 bundle exec rake plugin:pull_compatible_all'
I, [2025-08-23T07:33:24.982343 #1]  INFO -- : 
I, [2025-08-23T07:33:24.984311 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'
rake aborted!
StandardError: Произошла ошибка, эта и все последующие миграции отменены: (StandardError)

ERROR:  must be owner of extension vector
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rack-mini-profiler-4.0.1/lib/patches/db/pg/alias_method.rb:109:in `exec'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rack-mini-profiler-4.0.1/lib/patches/db/pg/alias_method.rb:109:in `async_exec'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_sql-1.6.0/lib/mini_sql/postgres/connection.rb:217:in `run'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_sql-1.6.0/lib/mini_sql/active_record_postgres/connection.rb:38:in `block in run'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_sql-1.6.0/lib/mini_sql/active_record_postgres/connection.rb:34:in `block in with_lock'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-8.0.2.1/lib/active_support/concurrency/null_lock.rb:9:in `synchronize'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_sql-1.6.0/lib/mini_sql/active_record_postgres/connection.rb:34:in `with_lock'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_sql-1.6.0/lib/mini_sql/active_record_postgres/connection.rb:38:in `run'
/var/www/discourse/lib/mini_sql_multisite_connection.rb:109:in `run'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_sql-1.6.0/lib/mini_sql/postgres/connection.rb:196:in `exec'
/var/www/discourse/plugins/discourse-ai/db/migrate/20240611170904_upgrade_pgvector_070.rb:10:in `up'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:994:in `public_send'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:994:in `exec_migration'
/var/www/discourse/lib/freedom_patches/schema_migration_details.rb:8:in `block in exec_migration'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/benchmark-0.4.1/lib/benchmark.rb:305:in `measure'
/var/www/discourse/lib/freedom_patches/schema_migration_details.rb:8:in `exec_migration'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:975:in `block (2 levels) in migrate'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-8.0.2.1/lib/active_support/benchmark.rb:17:in `realtime'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:974:in `block in migrate'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:412:in `with_connection'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:973:in `migrate'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:1187:in `migrate'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:1535:in `block in execute_migration_in_transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/connection_adapters/abstract/transaction.rb:626:in `block in within_new_transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-8.0.2.1/lib/active_support/concurrency/null_lock.rb:9:in `synchronize'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/connection_adapters/abstract/transaction.rb:623:in `within_new_transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/connection_adapters/abstract/database_statements.rb:367:in `within_new_transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/connection_adapters/abstract/database_statements.rb:359:in `transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:1586:in `ddl_transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:1534:in `execute_migration_in_transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:1509:in `each'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:1509:in `migrate_without_lock'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:1454:in `block in migrate'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:1606:in `with_advisory_lock'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:1454:in `migrate'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:1261:in `up'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:1236:in `migrate'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/tasks/database_tasks.rb:270:in `migrate'
/var/www/discourse/lib/tasks/db.rake:267:in `block (2 levels) in <main>'
/var/www/discourse/lib/distributed_mutex.rb:53:in `block in synchronize'
/var/www/discourse/lib/distributed_mutex.rb:49:in `synchronize'
/var/www/discourse/lib/distributed_mutex.rb:49:in `synchronize'
/var/www/discourse/lib/distributed_mutex.rb:34:in `synchronize'
/var/www/discourse/lib/tasks/db.rake:242:in `block in <main>'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.3.0/exe/rake:27:in `<top (required)>'
/usr/local/bin/bundle:25:in `load'
/usr/local/bin/bundle:25:in `<main>'

Причина:
PG::InsufficientPrivilege: ERROR:  must be owner of extension vector (PG::InsufficientPrivilege)
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rack-mini-profiler-4.0.1/lib/patches/db/pg/alias_method.rb:109:in `exec'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rack-mini-profiler-4.0.1/lib/patches/db/pg/alias_method.rb:109:in `async_exec'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_sql-1.6.0/lib/mini_sql/postgres/connection.rb:217:in `run'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_sql-1.6.0/lib/mini_sql/active_record_postgres/connection.rb:38:in `block in run'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_sql-1.6.0/lib/mini_sql/active_record_postgres/connection.rb:34:in `block in with_lock'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-8.0.2.1/lib/active_support/concurrency/null_lock.rb:9:in `synchronize'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_sql-1.6.0/lib/mini_sql/active_record_postgres/connection.rb:34:in `with_lock'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_sql-1.6.0/lib/mini_sql/active_record_postgres/connection.rb:38:in `run'
/var/www/discourse/lib/mini_sql_multisite_connection.rb:109:in `run'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_sql-1.6.0/lib/mini_sql/postgres/connection.rb:196:in `exec'
/var/www/discourse/plugins/discourse-ai/db/migrate/20240611170904_upgrade_pgvector_070.rb:10:in `up'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:994:in `public_send'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:994:in `exec_migration'
/var/www/discourse/lib/freedom_patches/schema_migration_details.rb:8:in `block in exec_migration'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/benchmark-0.4.1/lib/benchmark.rb:305:in `measure'
/var/www/discourse/lib/freedom_patches/schema_migration_details.rb:8:in `exec_migration'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:975:in `block (2 levels) in migrate'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-8.0.2.1/lib/active_support/benchmark.rb:17:in `realtime'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:974:in `block in migrate'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:412:in `with_connection'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:973:in `migrate'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:1187:in `migrate'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:1535:in `block in execute_migration_in_transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/connection_adapters/abstract/transaction.rb:626:in `block in within_new_transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-8.0.2.1/lib/active_support/concurrency/null_lock.rb:9:in `synchronize'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/connection_adapters/abstract/transaction.rb:623:in `within_new_transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/connection_adapters/abstract/database_statements.rb:367:in `within_new_transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/connection_adapters/abstract/database_statements.rb:359:in `transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:1586:in `ddl_transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:1534:in `execute_migration_in_transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:1509:in `each'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:1509:in `migrate_without_lock'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:1454:in `block in migrate'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:1606:in `with_advisory_lock'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:1454:in `migrate'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:1261:in `up'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:1236:in `migrate'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/tasks/database_tasks.rb:270:in `migrate'
/var/www/discourse/lib/tasks/db.rake:267:in `block (2 levels) in <main>'
/var/www/discourse/lib/distributed_mutex.rb:53:in `block in synchronize'
/var/www/discourse/lib/distributed_mutex.rb:49:in `synchronize'
/var/www/discourse/lib/distributed_mutex.rb:49:in `synchronize'
/var/www/discourse/lib/distributed_mutex.rb:34:in `synchronize'
/var/www/discourse/lib/tasks/db.rake:242:in `block in <main>'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.3.0/exe/rake:27:in `<top (required)>'
/usr/local/bin/bundle:25:in `load'
/usr/local/bin/bundle:25:in `<main>'
Задачи: TOP => db:migrate
(Посмотрите полный трейс, запустив задачу с --trace)
I, [2025-08-23T07:33:43.977151 #1]  INFO -- : == 20240611170904 UpgradePgvector070: миграция ===============================



НЕ УДАЛОСЬ
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' завершился с кодом #<Process::Status: pid 567 exit 1>
Место сбоя: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.3.0/lib/pups/exec_command.rb:131:in `spawn'
Выполнение команды завершилось ошибкой с параметрами {"cd"=>"$home", "tag"=>"migrate", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
Инициализация не удалась, код выхода 1
** ИНИЦИАЛИЗАЦИЯ НЕ УДАЛАСЬ ** прокрутите вверх и найдите сообщения об ошибках, их может быть несколько.
./discourse-doctor может помочь в диагностике проблемы.
d2b07027669d4247d830c412c68333dffed7f5dd2e1a72a8efe363556827df3a
root@www:/var/discourse# ./discourse-doctor
DISCOURSE DOCTOR Sat Aug 23 07:37:04 UTC 2025
ОС: Linux www 5.15.0-152-generic #162-Ubuntu SMP Wed Jul 23 09:48:42 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux


YML=web_only.yml
Найден контейнер containers/web_only.yml

==================== НАСТРОЙКИ YML ====================
DISCOURSE_HOSTNAME=www.foodtalkcentral.com
SMTP_ADDRESS=smtp.mailgun.org
DEVELOPER_EMAILS=robert@lauriston.com
SMTP_PASSWORD=СКРЫТО
SMTP_PORT=2525
SMTP_USER_NAME=lc@www.foodtalkcentral.com
LETSENCRYPT_ACCOUNT_EMAIL=robert@lauriston.com

==================== ИНФОРМАЦИЯ O DOCKER ====================
ВЕРСИЯ DOCKER: Docker version 24.0.2, build cb74dfc

ПРОЦЕССЫ DOCKER (docker ps -a)

ИД КОНТЕЙНЕРА   ОБРАЗ                           КОМАНДА        СОЗДАН          СТАТУС      ПОРТЫ                                                                      ИМЯ
1da3484e3aa5   local_discourse/web_only        "/sbin/boot"   4 месяца назад    Работает 2 дня   0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp   web_only
acbe4eb25b33   local_discourse/mail-receiver   "/sbin/boot"   19 месяцев назад  Работает 2 дня   0.0.0.0:25->25/tcp, :::25->25/tcp                                          mail-receiver
13ab2f290943   local_discourse/data            "/sbin/boot"   19 месяцев назад  Работает 2 дня                                                                              data

1da3484e3aa5   local_discourse/web_only        "/sbin/boot"   4 месяца назад    Работает 2 дня   0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp   web_only

Контейнер Discourse web_only работает


==================== ПЛАГИНЫ ====================


ПРЕДУПРЕЖДЕНИЕ:
У вас установлены, по-видимому, неофициальные плагины.
Если у вас возникли проблемы, вы должны отключить их и попробовать пересобрать снова.

Список официальных плагинов см. по адресу https://github.com/discourse/discourse/blob/main/lib/plugin/metadata.rb.

========================================
Discourse 3.5.0.beta3
Версия Discourse на www.foodtalkcentral.com: Discourse 3.5.0.beta3
Версия Discourse на localhost: Discourse 3.5.0.beta3


==================== ИНФОРМАЦИЯ О ПАМЯТИ ====================
ОЗУ (МБ): 2059

               всего        использовано        свободно      совместно  буфер/кэш   доступно
Память:            1963        1004          82         428         876         364
Своп:           2047        1204         843

==================== ПРОВЕРКА МЕСТА НА ДИСКЕ ====================
---------- Место на диске ОС ----------
Файловая система      Размер  Использовано  Доступно  Использовано%  Точка монтирования
/dev/vda1        68G   55G   13G  82% /

---------- Место на диске в контейнере ----------
df: /shared/postgres_data: Нет такого файла или каталога
df: /shared/redis_data: Нет такого файла или каталога
Файловая система      Размер  Использовано  Доступно  Использовано%  Точка монтирования
overlay          68G   55G   13G  82% /
/dev/vda1        68G   55G   13G  82% /shared
/dev/vda1        68G   55G   13G  82% /var/log

==================== ИНФОРМАЦИЯ О ДИСКЕ ====================
Диск /dev/loop0: 89.4 МБ, 93745152 байт, 183096 секторов
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер ввода-вывода (минимальный/оптимальный): 512 байт / 512 байт


Диск /dev/loop1: 63.77 МБ, 66863104 байт, 130592 сектора
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер ввода-вывода (минимальный/оптимальный): 512 байт / 512 байт


Диск /dev/loop3: 87.04 МБ, 91267072 байт, 178256 секторов
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер ввода-вывода (минимальный/оптимальный): 512 байт / 512 байт


Диск /dev/loop4: 63.77 МБ, 66863104 байт, 130592 сектора
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер ввода-вывода (минимальный/оптимальный): 512 байт / 512 байт


Диск /dev/loop5: 49.29 МБ, 51687424 байт, 100952 сектора
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер ввода-вывода (минимальный/оптимальный): 512 байт / 512 байт


Диск /dev/loop6: 50.77 МБ, 53235712 байт, 103976 секторов
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер ввода-вывода (минимальный/оптимальный): 512 байт / 512 байт


Диск /dev/vda: 70 ГиБ, 75161927680 байт, 146800640 секторов
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер ввода-вывода (минимальный/оптимальный): 512 байт / 512 байт
Тип метки диска: gpt
Идентификатор диска: C2901603-FAE8-45CB-86FE-13D02E6B6DC6

Устройство      Начало       Конец   Секторов  Размер Тип
/dev/vda1  227328 146800606 146573279 69.9G Файловая система Linux
/dev/vda14   2048     10239      8192    4M Загрузочный раздел BIOS
/dev/vda15  10240    227327    217088  106M Системный раздел EFI

Записи таблицы разделов не в порядке диска.


Диск /dev/vdb: 466 КБ, 477184 байт, 932 сектора
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер ввода-вывода (минимальный/оптимальный): 512 байт / 512 байт

==================== КОНЕЦ ИНФОРМАЦИИ О ДИСКЕ ====================

==================== ТЕСТ ПОЧТЫ ====================
Для надежного теста получите адрес на http://www.mail-tester.com/
Или просто отправьте тестовое сообщение себе.
Адрес электронной почты для теста почты? ('n' для пропуска) [robert@lauriston.com]: 
Отправка письма на robert@lauriston.com. . . 
Тест отправки на robert@lauriston.com через smtp.mailgun.org:2525, имя пользователя: lc@www.foodtalkcentral.com с простой аутентификацией.
Соединение с SMTP-сервером успешно.
Отправка на robert@lauriston.com. . . 
Письмо принято SMTP-сервером.
Message-ID: f41124a1-048f-4d0f-878b-d358e937f981@www.foodtalkcentral.com

Если вы не получили сообщение, проверьте папку СПАМ
или протестируйте снова, используя сервис типа http://www.mail-tester.com/.

Если сообщение не доставлено, это не проблема Discourse.
Проверьте логи SMTP-сервера по указанному выше Message ID, чтобы узнать, почему
не удалось доставить сообщение.
Замена: SMTP_PASSWORD
Замена: LETSENCRYPT_ACCOUNT_EMAIL
Замена: DEVELOPER_EMAILS
Замена: DISCOURSE_DB_PASSWORD
Замена: Отправка письма на

==================== ГОТОВО! ====================

Вы можете изучить вывод этого скрипта командой
LESS=-Ri less /tmp/discourse-debug.txt

НО СНАЧАЛА убедитесь, что вы знаете три команды ниже!!!

Команды, которые нужно знать при просмотре файла с помощью указанной выше команды (называемой 'less'): 
q              -- выход
/error<ENTER>  -- поиск слова 'error'
n              -- поиск следующего вхождения
g              -- перейти в начало файла
f              -- перейти на страницу вперед
b              -- перейти на страницу назад
G              -- перейти в конец файла
root@www:/var/discourse# 

./launcher rebuild data завершается с ошибкой:

Обновление PostgreSQL с версии 13 до версии 15

-------------------------------------------------------------------------------------
ПРЕДУПРЕЖДЕНИЕ: Обновление PostgreSQL потребует дополнительно 14 ГБ дискового пространства.
Пожалуйста, освободите место или увеличьте размер диска перед продолжением.

Чтобы избежать обновления, измените "templates/postgres.template.yml" на "templates/postgres.13.template.yml" в файле containers/app.yml

Тем временем вы можете выполнить "./launcher start app" для перезапуска приложения.
-------------------------------------------------------------------------------------



ОШИБКА

Выполнение команды

./launcher start app

завершается ошибкой:

ПРЕДУПРЕЖДЕНИЕ: Версия Docker 24.0.2 устарела, рекомендуется обновиться до версии 24.0.7 или новее.
Обнаружена архитектура x86_64.
ОШИБКА: Файл containers/app.yml не существует или недоступен для чтения.

Доступные конфигурации: data, mail-receiver, web_only

На моем Droplet доступно 70 ГБ дискового пространства, из которых занято 81,2 %. Похоже, мне действительно нужно больше места. Решит ли проблему простое увеличение размера диска моего Droplet в DigitalOcean до 90 ГБ, или мне нужно как-то вручную настроить распределение пространства между двумя контейнерами?

Я всегда просто увеличивал общий объем места, ничего больше. Конечно, крупные игроки могут поступать иначе.

Вы, вероятно, уже выполнили ./launcher cleanup и удалили старые образы.

У меня сейчас 90 ГБ, но обновление PostgreSQL всё ещё не удаётся.

исправление прав доступа к существующей директории /var/lib/postgresql/13/main ... ok
создание поддиректорий ... ok
выбор реализации динамической разделяемой памяти ... posix
выбор значения по умолчанию для max_connections ... 100
выбор значения по умолчанию для shared_buffers ... 128 МБ
выбор часового пояса по умолчанию ... Etc/UTC
создание файлов конфигурации ... ok
выполнение скрипта инициализации (bootstrap) ... ok
выполнение пост-инициализации после bootstrap ... ok
синхронизация данных на диск ... ok

Успех. Теперь вы можете запустить сервер базы данных с помощью:

    pg_ctlcluster 13 main start

Остановка сервера базы данных PostgreSQL 13: main.
Остановка сервера базы данных PostgreSQL 15: main.
Выполнение проверок согласованности
-----------------------------
Проверка версий кластеров                                   ok

Исходный кластер был завершён некорректно.
Ошибка, выход
-------------------------------------------------------------------------------------
ОБНОВЛЕНИЕ POSTGRES НЕ УДАЛОСЬ

Пожалуйста, обратитесь за поддержкой по ссылке: https://meta.discourse.org/t/postgresql-15-update/349515

Тем временем вы можете запустить ./launcher start app для перезапуска вашего приложения
-------------------------------------------------------------------------------------



ОШИБКА
--------------------
Pups::ExecError: 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 уже запущен, остановите контейнер ; exit 1
fi
 завершилась с кодом возврата #<Process::Status: pid 19 exit 1>
Место ошибки: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.3.0/lib/pups/exec_command.rb:131:in `spawn'
выполнение команды не удалось с параметрами {"tag"=>"db", "cmd"=>"if [ -f /root/install_postgres ]; then\n  /root/install_postgres && rm -f /root/install_postgres\nelif [ -e /shared/postgres_run/.s.PGSQL.5432 ]; then\n  socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres уже запущен, остановите контейнер ; exit 1\nfi\n"}
bootstrap завершился с кодом выхода 1
** НЕ УДАЛОСЬ ЗАПУСТИТЬ BOOTSTRAP ** пожалуйста, прокрутите вверх и поищите более ранние сообщения об ошибках, их может быть несколько.
./discourse-doctor может помочь диагностировать проблему.
e9eb9a9ae7569db87582a8c9d15291c67713171277bf16b1507212906adc84b1
ПРЕДУПРЕЖДЕНИЕ: версия Docker 24.0.2 устарела, рекомендуется обновиться до версии 24.0.7 или новее.
Обнаружена архитектура x86_64.
Проверка актуальности запускающего скрипта
Получение origin
Запускающий скрипт актуален
Остановка старого контейнера
+ /usr/bin/docker stop -t 600 web_only
web_only
2.0.20250722-0020: получение образа из discourse/base
Digest: sha256:3b975c30ef85e9742e2d7f6093450867e67dae204c93d22cc38d043dcbf530b3
Статус: образ discourse/base:2.0.20250722-0020 уже актуален
docker.io/discourse/base:2.0.20250722-0020
/usr/local/lib/ruby/gems/3.3.0/gems/pups-1.3.0/lib/pups.rb
/usr/local/bin/pups --stdin
docker: Ответ от демона с ошибкой: не удалось получить контейнер для data: контейнер не существует: data.
См. 'docker run --help'.
cat: cids/web_only_bootstrap.cid: файл или каталог не существует
bootstrap завершился с кодом выхода 125
** НЕ УДАЛОСЬ ЗАПУСТИТЬ BOOTSTRAP ** пожалуйста, прокрутите вверх и поищите более ранние сообщения об ошибках, их может быть несколько.
./discourse-doctor может помочь диагностировать проблему.
Имя контейнера не может быть пустым
root@www:/var/discourse#

Я посмотрел на PostgreSQL 15 update, но не нашёл ничего, что чётко решало бы мою проблему.

root@www:/var/discourse# ./launcher start app
ПРЕДУПРЕЖДЕНИЕ: Версия Docker 24.0.2 устарела, рекомендуется обновиться до 24.0.7 или новее.
Обнаружена архитектура x86_64.
ОШИБКА: файл containers/app.yml не существует или недоступен для чтения.

Доступные конфигурации ( data, mail-receiver, web_only )
root@www:/var/discourse# 
root@www:/var/discourse# ./discourse-doctor
DISCOURSE DOCTOR Сб, 23 авг. 2025 г., 20:24:54 UTC
ОС: Linux www 5.15.0-152-generic #162-Ubuntu SMP Ср, 23 июл. 2025 г., 09:48:42 UTC x86_64 x86_64 x86_64 GNU/Linux


YML=web_only.yml
Найден контейнер containers/web_only.yml

==================== НАСТРОЙКИ YML ====================
DISCOURSE_HOSTNAME=www.foodtalkcentral.com
SMTP_ADDRESS=smtp.mailgun.org
DEVELOPER_EMAILS=robert@lauriston.com
SMTP_PASSWORD=
SMTP_PORT=2525
SMTP_USER_NAME=lc@www.foodtalkcentral.com
LETSENCRYPT_ACCOUNT_EMAIL=robert@lauriston.com

==================== ИНФОРМАЦИЯ О DOCKER ====================
ВЕРСИЯ DOCKER: Docker version 24.0.2, сборка cb74dfc

ПРОЦЕССЫ DOCKER (docker ps -a)

CONTAINER ID   IMAGE                           COMMAND        СОЗДАН           СТАТУС                              ПОРТЫ                               ИМЯ
1da3484e3aa5   local_discourse/web_only        "/sbin/boot"   4 месяца назад   Завершено (5) 11 минут назад                                        web_only
acbe4eb25b33   local_discourse/mail-receiver   "/sbin/boot"   19 месяцев назад Запущен 16 минут назад              0.0.0.0:25->25/tcp, :::25->25/tcp   mail-receiver

==================== СЕРЬЕЗНАЯ ПРОБЛЕМА!!!! ====================
web_only не запущен!
Попытка пересборки
==================== ЖУРНАЛ ПЕРЕСБОРКИ ====================
ПРЕДУПРЕЖДЕНИЕ: Версия Docker 24.0.2 устарела, рекомендуется обновиться до 24.0.7 или новее.
Обнаружена архитектура x86_64.
Проверка актуальности лаунчера
Получение origin
Лаунчер актуален
Остановка старого контейнера
+ /usr/bin/docker stop -t 600 web_only
web_only
2.0.20250722-0020: Получение из discourse/base
Хэш-сумма: sha256:3b975c30ef85e9742e2d7f6093450867e67dae204c93d22cc38d043dcbf530b3
Статус: Образ актуален для discourse/base:2.0.20250722-0020
docker.io/discourse/base:2.0.20250722-0020
/usr/local/lib/ruby/gems/3.3.0/gems/pups-1.3.0/lib/pups.rb
/usr/local/bin/pups --stdin
docker: Ошибка ответа от демона: не удалось получить контейнер для data: Контейнер не существует: data.
Смотрите 'docker run --help'.
cat: cids/web_only_bootstrap.cid: Нет такого файла или каталога
Инициализация не удалась с кодом выхода 125
** ИНИЦИАЛИЗАЦИЯ НЕ УДАЛАСЬ ** Пожалуйста, прокрутите вверх и поищите более ранние сообщения об ошибках, их может быть несколько.
./discourse-doctor может помочь диагностировать проблему.
Имя контейнера не может быть пустым
==================== КОНЕЦ ЖУРНАЛА ПЕРЕСБОРКИ ====================
Не удалось пересобрать web_only.

Проверка вашего доменного имени . . .

Соединение с www.foodtalkcentral.com успешно.
Вам, вероятно, следует удалить любые нестандартные плагины и выполнить пересборку.
Попытка перезапуска существующего контейнера . . . 
ПРЕДУПРЕЖДЕНИЕ: Версия Docker 24.0.2 устарела, рекомендуется обновиться до 24.0.7 или новее.
Обнаружена архитектура x86_64.

Запуск существующего контейнера
+ /usr/bin/docker start web_only
Ошибка ответа от демона: драйвер не смог запрограммировать внешнюю связность на конечной точке web_only (16c3e65c41485825f2d087b9183f09dc917ad029f3d37b2d8fc51c5a2ade13f1): Ошибка запуска пользовательского прокси: listen tcp4 0.0.0.0:443: bind: адрес уже используется
Ошибка: не удалось запустить контейнеры: web_only
Не удалось перезапустить контейнер.


==================== ПЛАГИНЫ ====================


ПРЕДУВРЕЖДЕНИЕ:
У вас, похоже, установлены неофициальные плагины.
Если у вас возникли проблемы, вам следует отключить их и попробовать выполнить пересборку снова.

Смотрите https://github.com/discourse/discourse/blob/main/lib/plugin/metadata.rb для официального списка.

========================================
Версия Discourse на www.foodtalkcentral.com: НЕ НАЙДЕНО
Версия Discourse на localhost: НЕ НАЙДЕНО


==================== ИНФОРМАЦИЯ О ПАМЯТИ ====================
ОЗУ (МБ): 2058

               всего        использовано       свободно      общий буфер/кэш   доступно
Mem:            1963         290         270           3        1403        1477
Swap:           2047           1        2046

==================== ПРОВЕРКА СВОБОДНОГО МЕСТА НА ДИСКЕ ====================
---------- Место на диске ОС ----------
Файловая система  Размер  Использовано  Доступно  Использовано% Монтировано на
/dev/vda1        88G   35G   53G  40% /

==================== ИНФОРМАЦИЯ О ДИСКАХ ====================
Диск /dev/loop0: 63,77 МБ, 66863104 байт, 130592 секторов
Единицы: секторы по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер ввода-вывода (минимальный/оптимальный): 512 байт / 512 байт


Диск /dev/loop1: 63,77 МБ, 66863104 байт, 130592 секторов
Единицы: секторы по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер ввода-вывода (минимальный/оптимальный): 512 байт / 512 байт


Диск /dev/loop2: 87,04 МБ, 91267072 байт, 178256 секторов
Единицы: секторы по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер ввода-вывода (минимальный/оптимальный): 512 байт / 512 байт


Диск /dev/loop3: 89,4 МБ, 93745152 байт, 183096 секторов
Единицы: секторы по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер ввода-вывода (минимальный/оптимальный): 512 байт / 512 байт


Диск /dev/loop4: 50,77 МБ, 53235712 байт, 103976 секторов
Единицы: секторы по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер ввода-вывода (минимальный/оптимальный): 512 байт / 512 байт


Диск /dev/loop5: 49,29 МБ, 51687424 байт, 100952 секторов
Единицы: секторы по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер ввода-вывода (минимальный/оптимальный): 512 байт / 512 байт


Диск /dev/vda: 90 ГиБ, 96636764160 байт, 188743680 секторов
Единицы: секторы по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер ввода-вывода (минимальный/оптимальный): 512 байт / 512 байт
Тип метки диска: gpt
Идентификатор диска: C2901603-FAE8-45CB-86FE-13D02E6B6DC6

Устройство      Начало       Конец   Секторы  Размер Тип
/dev/vda1  227328 188743646 188516319 89.9G Файловая система Linux
/dev/vda14   2048     10239      8192    4M Загрузка BIOS
/dev/vda15  10240    227327    217088  106M Система EFI

Записи таблицы разделов не упорядочены по диску.


Диск /dev/vdb: 466 КиБ, 477184 байт, 932 секторов
Единицы: секторы по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер ввода-вывода (минимальный/оптимальный): 512 байт / 512 байт

==================== КОНЕЦ ИНФОРМАЦИИ О ДИСКАХ ====================

==================== ТЕСТ ОТПРАВКИ ПОЧТЫ ====================
Для надежного теста получите адрес на http://www.mail-tester.com/
Или просто отправьте тестовое сообщение самому себе.
Адрес электронной почты для теста почты? ('n' для пропуска) [robert@lauriston.com]: n
Тест почты пропущен.
Замена: SMTP_PASSWORD
Замена: LETSENCRYPT_ACCOUNT_EMAIL
Замена: DEVELOPER_EMAILS
Замена: DISCOURSE_DB_PASSWORD
Замена: Отправка почты на

==================== ГОТОВО! ====================

Вы можете просмотреть вывод этого скрипта с помощью 
LESS=-Ri less /tmp/discourse-debug.txt

НО СНАЧАЛА убедитесь, что вы знаете первые три команды ниже!!!

Команды, которые нужно знать при просмотре файла с помощью вышеуказанной команды (называемой 'less'): 
q              -- выход
/error<ENTER>  -- поиск слова 'error'
n              -- поиск следующего вхождения
g              -- перейти в начало файла
f              -- перейти вперед на страницу
b              -- вернуться на страницу
G              -- перейти в конец файла
root@www:/var/discourse# 

Это проблема с правами доступа в Postgres. Вам нужно вручную зайти в базу данных и установить или обновить расширение vector.

Подробнее здесь

Я не уверен, как подключиться к PostgreSQL. Ниже приведено сообщение от @pfaffman с Update = ☠ - #37 by pfaffman

root@www:/var/discourse# ./launcher start web_only
ВНИМАНИЕ: Версия Docker 24.0.2 устарела, рекомендуется обновиться до версии 24.0.7 или новее.
Обнаружена архитектура x86_64.

Запуск существующего контейнера
+ /usr/bin/docker start web_only
web_only
root@www:/var/discourse# ./launcher enter app
ВНИМАНИЕ: Версия Docker 24.0.2 устарела, рекомендуется обновиться до версии 24.0.7 или новее.
Обнаружена архитектура x86_64.
ОШИБКА: файл containers/app.yml не существует или недоступен для чтения.

Доступные конфигурации ( data, mail-receiver, web_only )
root@www:/var/discourse# ./launcher enter web_only
ВНИМАНИЕ: Версия Docker 24.0.2 устарела, рекомендуется обновиться до версии 24.0.7 или новее.
Обнаружена архитектура x86_64.
root@www-web-only:/var/www/discourse# su - postgres
postgres@www-web-only:~$ psql discourse
psql: ошибка: подключение к серверу через сокет "/var/run/postgresql/.s.PGSQL.5432" не удалось: Нет такого файла или каталога
	Запущен ли сервер локально и принимает ли он подключения через этот сокет?

Вам также необходимо сделать следующее.

Какая у вас версия ОС?

 cat /etc/issue

Если это 20.04, требуется обновление. В противном случае можно просто обновить Docker.

Ubuntu версии 22.04.2. Я обновил Docker до версии 28.3.3.

root@www:/var/discourse# ./launcher bootstrap web_only
Обнаружена архитектура x86_64.
2.0.20250722-0020: Pulling from discourse/base
Digest: sha256:3b975c30ef85e9742e2d7f6093450867e67dae204c93d22cc38d043dcbf530b3
Status: Image is up to date for discourse/base:2.0.20250722-0020
docker.io/discourse/base:2.0.20250722-0020
/usr/local/lib/ruby/gems/3.3.0/gems/pups-1.3.0/lib/pups.rb
/usr/local/bin/pups --stdin
docker: Error response from daemon: could not get container for data: No such container: data

Run 'docker run --help' for more information
cat: cids/web_only_bootstrap.cid: No such file or directory
bootstrap failed with exit code 125
** 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.
container name cannot be empty
root@www:/var/discourse# docker start web_only
web_only
root@www:/var/discourse# ./launcher enter web_only
Обнаружена архитектура x86_64.
root@www-web-only:/var/www/discourse# su - postgres
postgres@www-web-only:~$ psql discourse
psql: error: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: No such file or directory
        Is the server running locally and accepting connections on that socket?

Вам необходимо пересобрать контейнер данных.

Какая команда для этого?

Обновление PostgreSQL 15 решает эту проблему

./launcher rebuild data

Или

./launcher start data

Если оно уже выполнено

./launcher rebuild data завершается с ошибкой:

Кластер источников был остановлен некорректно.
Ошибка, выход
-------------------------------------------------------------------------------------
ОБНОВЛЕНИЕ POSTGRES НЕ УДАЛОСЬ

Для получения поддержки посетите https://meta.discourse.org/t/postgresql-15-update/349515.

Изучив PostgreSQL 15 update, я попытался сделать следующее:

root@www:/var/discourse# ./launcher stop web_only
Обнаружена архитектура x86_64.
+ /usr/bin/docker stop -t 600 web_only
web_only
root@www:/var/discourse# ./launcher stop data
Обнаружена архитектура x86_64.
data не был запущен!
./discourse-doctor может помочь в диагностике проблемы.
root@www:/var/discourse# tail -f shared/standalone/log/var-log/postgres/current
tail: не удалось открыть 'shared/standalone/log/var-log/postgres/current' для чтения: Файл или каталог не найден
tail: файлов больше нет
root@www:/var/discourse# 

Вы можете попробовать сначала запустить data, а затем web_only