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: An error has occurred, this and all later migrations canceled: (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>'
Caused by:
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>'
Tasks: TOP => db:migrate
(See full trace by running task with --trace)
I, [2025-08-23T07:21:33.468823 #1] INFO -- : == 20240611170904 UpgradePgvector070: migrating ===============================
FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 566 exit 1>
Location of failure: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.3.0/lib/pups/exec_command.rb:131:in `spawn'
exec failed with the params {"cd"=>"$home", "tag"=>"migrate", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
bootstrap failed with exit code 1
** 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.
c8aa5aba4c2c4f5231b364f714c60365517d25299a447c053a97c86871b3661e
root@www:/var/discourse#
Hi there, does this help?
That doesn’t make sense to me. I’m running the shell from Digital Ocean as I always do, never had an issue with ownership.
Here’s another try.
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
Fetching cbor 0.5.10.1
Installing cbor 0.5.10.1 with native extensions
Fetching tiktoken_ruby 0.0.11.1 (x86_64-linux)
Installing tiktoken_ruby 0.0.11.1 (x86_64-linux)
Fetching tokenizers 0.5.5 (x86_64-linux)
Installing tokenizers 0.5.5 (x86_64-linux)
Fetching discourse_ai-tokenizers 0.3.1
Installing discourse_ai-tokenizers 0.3.1
Fetching ed25519 1.4.0
Installing ed25519 1.4.0 with native extensions
Fetching json 2.13.2
Installing json 2.13.2 with native extensions
Fetching faraday 2.13.4
Installing faraday 2.13.4
Fetching multipart-post 2.4.1
Installing multipart-post 2.4.1
Fetching faraday-multipart 1.1.1
Installing faraday-multipart 1.1.1
Fetching goldiloader 5.4.0
Installing goldiloader 5.4.0
Fetching google-protobuf 4.32.0 (x86_64-linux-gnu)
Installing google-protobuf 4.32.0 (x86_64-linux-gnu)
Fetching hashery 2.1.2
Installing hashery 2.1.2
Fetching reline 0.6.2
Installing reline 0.6.2
Fetching regexp_parser 2.11.2
Installing regexp_parser 2.11.2
Fetching railties 8.0.2.1
Installing railties 8.0.2.1
Fetching redis-client 0.25.2
Installing redis-client 0.25.2
Fetching sawyer 0.9.2
Installing sawyer 0.9.2
Fetching octokit 5.6.1
Installing octokit 5.6.1
Fetching ruby-rc4 0.1.5
Installing ruby-rc4 0.1.5
Fetching ttfunk 1.8.0
Installing ttfunk 1.8.0
Fetching pdf-reader 2.15.0
Installing pdf-reader 2.15.0
Fetching pg 1.6.1 (x86_64-linux)
Installing pg 1.6.1 (x86_64-linux)
Fetching propshaft 1.2.1
Installing propshaft 1.2.1
Fetching rack-mini-profiler 4.0.1
Installing rack-mini-profiler 4.0.1
Fetching rails_multisite 7.0.0
Installing rails_multisite 7.0.0
Fetching sass-embedded 1.90.0 (x86_64-linux-gnu)
Installing sass-embedded 1.90.0 (x86_64-linux-gnu)
Fetching sassc-embedded 1.80.5
Installing sassc-embedded 1.80.5
Bundle complete! 161 Gemfile dependencies, 208 gems now installed.
Gems in the groups 'test' and 'development' were not installed.
Bundled gems are installed into `./vendor/bundle`
3 installed gems you directly depend on are looking for funding.
Run `bundle fund` for details
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 -- : Removing actionmailer (7.2.2.1)
Removing actionpack (7.2.2.1)
Removing actionview (7.2.2.1)
Removing activejob (7.2.2.1)
Removing activemodel (7.2.2.1)
Removing activerecord (7.2.2.1)
Removing activesupport (7.2.2.1)
Removing aws-partitions (1.1117.0)
Removing aws-sdk-core (3.226.0)
Removing cbor (0.5.9.8)
Removing execjs (2.10.0)
Removing faraday (2.13.2)
Removing faraday-multipart (1.0.4)
Removing google-protobuf-4.31.1-x86_64-linux (gnu)
Removing json (2.13.0)
Removing multipart-post (2.2.3)
Removing nokogiri-1.18.8-x86_64-linux (gnu)
Removing pg (1.5.9)
Removing propshaft (1.1.0)
Removing rack-mini-profiler (4.0.0)
Removing rails_multisite (6.1.0)
Removing railties (7.2.2.1)
Removing redis-client (0.25.1)
Removing regexp_parser (2.10.0)
Removing reline (0.6.1)
Removing sass-embedded-1.85.0-x86_64-linux (gnu)
Removing 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: An error has occurred, this and all later migrations canceled: (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>'
Caused by:
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>'
Tasks: TOP => db:migrate
(See full trace by running task with --trace)
I, [2025-08-23T07:33:43.977151 #1] INFO -- : == 20240611170904 UpgradePgvector070: migrating ===============================
FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 567 exit 1>
Location of failure: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.3.0/lib/pups/exec_command.rb:131:in `spawn'
exec failed with the params {"cd"=>"$home", "tag"=>"migrate", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
bootstrap failed with exit code 1
** 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.
d2b07027669d4247d830c412c68333dffed7f5dd2e1a72a8efe363556827df3a
root@www:/var/discourse# ./discourse-doctor
DISCOURSE DOCTOR Sat Aug 23 07:37:04 UTC 2025
OS: 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
Found containers/web_only.yml
==================== YML SETTINGS ====================
DISCOURSE_HOSTNAME=www.foodtalkcentral.com
SMTP_ADDRESS=smtp.mailgun.org
DEVELOPER_EMAILS=robert@lauriston.com
SMTP_PASSWORD=REDACTED
SMTP_PORT=2525
SMTP_USER_NAME=lc@www.foodtalkcentral.com
LETSENCRYPT_ACCOUNT_EMAIL=robert@lauriston.com
==================== DOCKER INFO ====================
DOCKER VERSION: Docker version 24.0.2, build cb74dfc
DOCKER PROCESSES (docker ps -a)
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1da3484e3aa5 local_discourse/web_only "/sbin/boot" 4 months ago Up 2 days 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 months ago Up 2 days 0.0.0.0:25->25/tcp, :::25->25/tcp mail-receiver
13ab2f290943 local_discourse/data "/sbin/boot" 19 months ago Up 2 days data
1da3484e3aa5 local_discourse/web_only "/sbin/boot" 4 months ago Up 2 days 0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp web_only
Discourse container web_only is running
==================== PLUGINS ====================
WARNING:
You have what appear to be non-official plugins.
If you are having trouble, you should disable them and try rebuilding again.
See https://github.com/discourse/discourse/blob/main/lib/plugin/metadata.rb for the official list.
========================================
Discourse 3.5.0.beta3
Discourse version at www.foodtalkcentral.com: Discourse 3.5.0.beta3
Discourse version at localhost: Discourse 3.5.0.beta3
==================== MEMORY INFORMATION ====================
RAM (MB): 2059
total used free shared buff/cache available
Mem: 1963 1004 82 428 876 364
Swap: 2047 1204 843
==================== DISK SPACE CHECK ====================
---------- OS Disk Space ----------
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 68G 55G 13G 82% /
---------- Container Disk Space ----------
df: /shared/postgres_data: No such file or directory
df: /shared/redis_data: No such file or directory
Filesystem Size Used Avail Use% Mounted on
overlay 68G 55G 13G 82% /
/dev/vda1 68G 55G 13G 82% /shared
/dev/vda1 68G 55G 13G 82% /var/log
==================== DISK INFORMATION ====================
Disk /dev/loop0: 89.4 MiB, 93745152 bytes, 183096 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/loop1: 63.77 MiB, 66863104 bytes, 130592 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/loop3: 87.04 MiB, 91267072 bytes, 178256 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/loop4: 63.77 MiB, 66863104 bytes, 130592 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/loop5: 49.29 MiB, 51687424 bytes, 100952 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/loop6: 50.77 MiB, 53235712 bytes, 103976 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/vda: 70 GiB, 75161927680 bytes, 146800640 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: C2901603-FAE8-45CB-86FE-13D02E6B6DC6
Device Start End Sectors Size Type
/dev/vda1 227328 146800606 146573279 69.9G Linux filesystem
/dev/vda14 2048 10239 8192 4M BIOS boot
/dev/vda15 10240 227327 217088 106M EFI System
Partition table entries are not in disk order.
Disk /dev/vdb: 466 KiB, 477184 bytes, 932 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
==================== END DISK INFORMATION ====================
==================== MAIL TEST ====================
For a robust test, get an address from http://www.mail-tester.com/
Or just send a test message to yourself.
Email address for mail test? ('n' to skip) [robert@lauriston.com]:
Sending mail to robert@lauriston.com. . .
Testing sending to robert@lauriston.com using smtp.mailgun.org:2525, username:lc@www.foodtalkcentral.com with plain auth.
SMTP server connection successful.
Sending to robert@lauriston.com. . .
Mail accepted by SMTP server.
Message-ID: f41124a1-048f-4d0f-878b-d358e937f981@www.foodtalkcentral.com
If you do not receive the message, check your SPAM folder
or test again using a service like http://www.mail-tester.com/.
If the message is not delivered it is not a problem with Discourse.
Check the SMTP server logs for the above Message ID to see why it
failed to deliver the message.
Replacing: SMTP_PASSWORD
Replacing: LETSENCRYPT_ACCOUNT_EMAIL
Replacing: DEVELOPER_EMAILS
Replacing: DISCOURSE_DB_PASSWORD
Replacing: Sending mail to
==================== DONE! ====================
You can examine the output of this script with
LESS=-Ri less /tmp/discourse-debug.txt
BUT FIRST, make sure that you know the first three commands below!!!
Commands to know when viewing the file with the above command (called 'less'):
q -- quit
/error<ENTER> -- search for the word 'error'
n -- search for the next occurrence
g -- go to the beginning of the file
f -- go forward a page
b -- go back a page
G -- go to the end of the file
root@www:/var/discourse#
./launcher rebuild data
fails with
Upgrading PostgreSQL from version 13 to 15
-------------------------------------------------------------------------------------
WARNING: Upgrading PostgreSQL would require an additional 14G of disk space
Please free up some space, or expand your disk, before continuing.
To avoid upgrading change "templates/postgres.template.yml" TO "templates/postgres.13.template.yml" in containers/app.yml
You can run "./launcher start app" to restart your app in the meanwhile.
-------------------------------------------------------------------------------------
FAILED
./launcher start app
fails with
WARNING: Docker version 24.0.2 deprecated, recommend upgrade to 24.0.7 or newer.
x86_64 arch detected.
ERROR: containers/app.yml does not exist or is not readable.
Available configs ( data, mail-receiver, web_only )
My droplet has 70GB disk and it’s 81.2% full, so I guess I do need more disk space. Will simply upsizing my DigitalOcean droplet to 90GB disk resolve the problem or do I need to somehow mess with the allocation between the two containers?
I’ve always just increased totally space, nothing else. Sure, big guys can do differently.
You’ve propably already done ./launcher cleanup
and destroyed old images.
I’ve got 90GB now, but it’s still failing on the PostgreSQL upgrade.
fixing permissions on existing directory /var/lib/postgresql/13/main ... ok
creating subdirectories ... ok
selecting dynamic shared memory implementation ... posix
selecting default max_connections ... 100
selecting default shared_buffers ... 128MB
selecting default time zone ... Etc/UTC
creating configuration files ... ok
running bootstrap script ... ok
performing post-bootstrap initialization ... ok
syncing data to disk ... ok
Success. You can now start the database server using:
pg_ctlcluster 13 main start
Stopping PostgreSQL 13 database server: main.
Stopping PostgreSQL 15 database server: main.
Performing Consistency Checks
-----------------------------
Checking cluster versions ok
The source cluster was not shut down cleanly.
Failure, exiting
-------------------------------------------------------------------------------------
UPGRADE OF POSTGRES FAILED
Please visit https://meta.discourse.org/t/postgresql-15-update/349515 for support.
You can run ./launcher start app to restart your app in the meanwhile
-------------------------------------------------------------------------------------
FAILED
--------------------
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 already running stop container ; exit 1
fi
failed with return #<Process::Status: pid 19 exit 1>
Location of failure: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.3.0/lib/pups/exec_command.rb:131:in `spawn'
exec failed with the params {"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 already running stop container ; exit 1\nfi\n"}
bootstrap failed with exit code 1
** 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.
e9eb9a9ae7569db87582a8c9d15291c67713171277bf16b1507212906adc84b1
WARNING: Docker version 24.0.2 deprecated, recommend upgrade to 24.0.7 or newer.
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 web_only
web_only
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.
See 'docker run --help'.
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#
I looked at PostgreSQL 15 update but didn’t find anything that clearly addressed my problem.
root@www:/var/discourse# ./launcher start app
WARNING: Docker version 24.0.2 deprecated, recommend upgrade to 24.0.7 or newer.
x86_64 arch detected.
ERROR: containers/app.yml does not exist or is not readable.
Available configs ( data, mail-receiver, web_only )
root@www:/var/discourse#
root@www:/var/discourse# ./discourse-doctor
DISCOURSE DOCTOR Sat Aug 23 20:24:54 UTC 2025
OS: 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
Found containers/web_only.yml
==================== YML SETTINGS ====================
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 INFO ====================
DOCKER VERSION: Docker version 24.0.2, build cb74dfc
DOCKER PROCESSES (docker ps -a)
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1da3484e3aa5 local_discourse/web_only "/sbin/boot" 4 months ago Exited (5) 11 minutes ago web_only
acbe4eb25b33 local_discourse/mail-receiver "/sbin/boot" 19 months ago Up 16 minutes 0.0.0.0:25->25/tcp, :::25->25/tcp mail-receiver
==================== SERIOUS PROBLEM!!!! ====================
web_only not running!
Attempting to rebuild
==================== REBUILD LOG ====================
WARNING: Docker version 24.0.2 deprecated, recommend upgrade to 24.0.7 or newer.
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 web_only
web_only
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.
See 'docker run --help'.
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
==================== END REBUILD LOG ====================
Failed to rebuild web_only.
Checking your domain name . . .
Connection to www.foodtalkcentral.com succeeded.
You should probably remove any non-standard plugins and rebuild.
Attempting to restart existing container. . .
WARNING: Docker version 24.0.2 deprecated, recommend upgrade to 24.0.7 or newer.
x86_64 arch detected.
starting up existing container
+ /usr/bin/docker start web_only
Error response from daemon: driver failed programming external connectivity on endpoint web_only (16c3e65c41485825f2d087b9183f09dc917ad029f3d37b2d8fc51c5a2ade13f1): Error starting userland proxy: listen tcp4 0.0.0.0:443: bind: address already in use
Error: failed to start containers: web_only
Failed to restart the container.
==================== PLUGINS ====================
WARNING:
You have what appear to be non-official plugins.
If you are having trouble, you should disable them and try rebuilding again.
See https://github.com/discourse/discourse/blob/main/lib/plugin/metadata.rb for the official list.
========================================
Discourse version at www.foodtalkcentral.com: NOT FOUND
Discourse version at localhost: NOT FOUND
==================== MEMORY INFORMATION ====================
RAM (MB): 2058
total used free shared buff/cache available
Mem: 1963 290 270 3 1403 1477
Swap: 2047 1 2046
==================== DISK SPACE CHECK ====================
---------- OS Disk Space ----------
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 88G 35G 53G 40% /
==================== DISK INFORMATION ====================
Disk /dev/loop0: 63.77 MiB, 66863104 bytes, 130592 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/loop1: 63.77 MiB, 66863104 bytes, 130592 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/loop2: 87.04 MiB, 91267072 bytes, 178256 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/loop3: 89.4 MiB, 93745152 bytes, 183096 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/loop4: 50.77 MiB, 53235712 bytes, 103976 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/loop5: 49.29 MiB, 51687424 bytes, 100952 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/vda: 90 GiB, 96636764160 bytes, 188743680 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: C2901603-FAE8-45CB-86FE-13D02E6B6DC6
Device Start End Sectors Size Type
/dev/vda1 227328 188743646 188516319 89.9G Linux filesystem
/dev/vda14 2048 10239 8192 4M BIOS boot
/dev/vda15 10240 227327 217088 106M EFI System
Partition table entries are not in disk order.
Disk /dev/vdb: 466 KiB, 477184 bytes, 932 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
==================== END DISK INFORMATION ====================
==================== MAIL TEST ====================
For a robust test, get an address from http://www.mail-tester.com/
Or just send a test message to yourself.
Email address for mail test? ('n' to skip) [robert@lauriston.com]: n
Mail test skipped.
Replacing: SMTP_PASSWORD
Replacing: LETSENCRYPT_ACCOUNT_EMAIL
Replacing: DEVELOPER_EMAILS
Replacing: DISCOURSE_DB_PASSWORD
Replacing: Sending mail to
==================== DONE! ====================
You can examine the output of this script with
LESS=-Ri less /tmp/discourse-debug.txt
BUT FIRST, make sure that you know the first three commands below!!!
Commands to know when viewing the file with the above command (called 'less'):
q -- quit
/error<ENTER> -- search for the word 'error'
n -- search for the next occurrence
g -- go to the beginning of the file
f -- go forward a page
b -- go back a page
G -- go to the end of the file
root@www:/var/discourse#
This is a permission issue on Postgres. You need to manually enter the database and install or update the vector extension.
More help here
I’m not sure how to get into PostgreSQL. Following came from @pfaffman in Update = ☠ - #37 by pfaffman :
root@www:/var/discourse# ./launcher start web_only
WARNING: Docker version 24.0.2 deprecated, recommend upgrade to 24.0.7 or newer.
x86_64 arch detected.
starting up existing container
+ /usr/bin/docker start web_only
web_only
root@www:/var/discourse# ./launcher enter app
WARNING: Docker version 24.0.2 deprecated, recommend upgrade to 24.0.7 or newer.
x86_64 arch detected.
ERROR: containers/app.yml does not exist or is not readable.
Available configs ( data, mail-receiver, web_only )
root@www:/var/discourse# ./launcher enter web_only
WARNING: Docker version 24.0.2 deprecated, recommend upgrade to 24.0.7 or newer.
x86_64 arch detected.
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?
You also need to do this.
What is your os version?
cat /etc/issue
If it’s 20.04 it needs an upgrade, otherwise, you can just upgrade docker.
Ubuntu is 22.04.2. I upgraded Docker to 28.3.3.
root@www:/var/discourse# ./launcher bootstrap web_only
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
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 arch detected.
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?
You need to rebuild the data container.
What’s the command for that?
The PostgreSQL 15 update covers that
./launcher rebuild data
Or
./launcher start data
If it’s already upgraded
./launcher rebuild data
fails with
The source cluster was not shut down cleanly.
Failure, exiting
-------------------------------------------------------------------------------------
UPGRADE OF POSTGRES FAILED
Please visit https://meta.discourse.org/t/postgresql-15-update/349515 for support.
Looking at PostgreSQL 15 update , I tried this:
root@www:/var/discourse# ./launcher stop web_only
x86_64 arch detected.
+ /usr/bin/docker stop -t 600 web_only
web_only
root@www:/var/discourse# ./launcher stop data
x86_64 arch detected.
data was not started !
./discourse-doctor may help diagnose the problem.
root@www:/var/discourse# tail -f shared/standalone/log/var-log/postgres/current
tail: cannot open 'shared/standalone/log/var-log/postgres/current' for reading: No such file or directory
tail: no files remaining
root@www:/var/discourse#
You can try starting data and then starting web_only