Ruby 3.2 语法在标准安装中出错

我在从浏览器进行标准升级时,遇到了与 这条消息 中相同的错误。不过,错误发生在 plugin:pull_compatible_allmultisite:migrate 操作期间,而不是资产预编译阶段。

错误信息如下:

SyntaxError: /var/www/discourse/lib/file_store/base_store.rb:96: syntax error, unexpected ','
      download(*, **, print_deprecation: false)

以下是从浏览器 UI 中复制的完整升级日志:

********************************************************
*** 请耐心等待,接下来的步骤可能需要一些时间 ***
********************************************************
正在循环 Unicorn 以释放内存
正在重启 Unicorn,进程 ID:559
等待 Unicorn 重新加载。
等待 Unicorn 重新加载..
等待 Unicorn 重新加载...
等待 Unicorn 重新加载....
等待 Unicorn 重新加载.....
等待 Unicorn 重新加载......
等待 Unicorn 重新加载.......
等待 Unicorn 重新加载........
正在停止 1 个 Unicorn 工作进程以释放内存
正在停止作业队列以回收内存,主进程 ID 为 15009
$ cd /var/www/discourse && git fetch --tags --force && git reset --hard HEAD@{upstream}
正在使用 openssl-signature_algorithm 1.2.1
正在使用 aws-sigv4 1.5.0
正在使用 faraday 2.7.2
正在使用 image_optim 0.31.2
正在使用 request_store 1.5.1
正在使用 logstash-logger 0.26.1
正在使用 message_bus 4.3.1
正在使用 mini_racer 0.6.3
正在使用 sidekiq 6.5.8
正在使用 mini_suffix 0.3.3
正在使用 oauth-tty 1.0.5
正在使用 snaky_hash 2.0.1
正在使用 omniauth 1.9.2
正在使用 pry 0.14.2
正在使用 puma 6.0.2
正在使用 rack-mini-profiler 3.0.0
正在使用 rack-protection 3.0.5
正在使用 rbtrace 0.4.14
正在使用 redis-namespace 1.9.0
正在使用 rqrcode 2.1.2
正在使用 rss 0.2.9
正在使用 sassc 2.0.1
正在使用 sprockets 3.7.2
正在使用 uglifier 4.2.0
正在使用 unf 0.1.4
正在使用 unicorn 6.1.0
正在使用 web-push 3.0.0
正在使用 loofah 2.19.1
正在使用 net-imap 0.3.1
正在使用 net-pop 0.1.2
正在使用 net-smtp 0.3.3
正在使用 cose 1.3.0
正在使用 css_parser 1.13.0
正在使用 ruby-readability 0.7.0
正在使用 sanitize 6.0.0
正在使用 ecma-re-validator 0.4.0
正在使用 activesupport 7.0.4.3
正在使用 rails-html-sanitizer 1.5.0
正在使用 globalid 1.0.1
正在使用 activemodel 7.0.4.3
正在使用 aws-sdk-core 3.130.2
正在使用 faraday-retry 2.0.0
正在使用 json_schemer 0.2.23
正在使用 mini_scheduler 0.15.0
正在使用 oauth 1.1.0
正在使用 oauth2 1.4.11
正在使用 pry-byebug 3.10.1
正在使用 pry-rails 0.3.9
正在使用 rails-dom-testing 2.0.3
正在使用 actionview 7.0.4.3
正在使用 activejob 7.0.4.3
正在使用 active_model_serializers 0.8.4
正在使用 activerecord 7.0.4.3
正在使用 aws-sdk-kms 1.56.0
正在使用 aws-sdk-sns 1.53.0
正在使用 omniauth-oauth2 1.7.3
正在使用 omniauth-oauth 1.2.0
正在使用 actionpack 7.0.4.3
正在使用 actionview_precompiler 0.2.3
正在使用 aws-sdk-s3 1.114.0
正在使用 discourse-seed-fu 2.3.12
正在使用 omniauth-facebook 9.0.0
正在使用 omniauth-github 1.4.0
正在使用 omniauth-google-oauth2 0.8.2
正在使用 omniauth-twitter 1.4.0
正在使用 railties 7.0.4.3
正在使用 sprockets-rails 3.4.2
正在使用 mail 2.8.0.edge,来源:https://github.com/discourse/mail.git (分支 main@5b700fc)
正在使用 lograge 0.12.0
正在使用 rails_failover 0.8.1
正在使用 rails_multisite 4.0.1
正在使用 sassc-rails 2.1.2
正在使用 actionmailer 7.0.4.3
正在安装 uri 0.12.2
正在使用 net-http 0.3.2
Bundle 完成!共 135 个 Gemfile 依赖项,现已安装 171 个 gems。
未安装 'test' 和 'development' 组中的 gems。
已安装的 Bundled gems 位于 `./vendor/bundle`
$ yarn install --production
yarn install v1.22.19
[1/5] 验证 package.json...
[2/5] 解析包...
success 已经是最新的。
$ yarn --cwd app/assets/javascripts/discourse $(node -e 'if(JSON.parse(process.env.npm_config_argv).original.includes(`--frozen-lockfile`)){console.log(`--frozen-lockfile`)}')
yarn install v1.22.19
[1/4] 解析包...
[2/4] 获取包...
[3/4] 链接依赖...
[4/4] 构建新包...
success 锁文件已保存。
耗时 8.84 秒。
耗时 9.31 秒。
$ LOAD_PLUGINS=0 bundle exec rake plugin:pull_compatible_all
rake 终止!
SyntaxError: /var/www/discourse/lib/file_store/base_store.rb:96: syntax error, unexpected ','
      download(*, **, print_deprecation: false)
                ^
/var/www/discourse/lib/file_store/base_store.rb:102: syntax error, unexpected ','
      download(*, **, print_deprecation: false)
                ^
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.15.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.15.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/zeitwerk-2.6.6/lib/zeitwerk/kernel.rb:38:in `require'
/var/www/discourse/lib/file_store/local_store.rb:3:in `<main>'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.15.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.15.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/zeitwerk-2.6.6/lib/zeitwerk/kernel.rb:38:in `require'
/var/www/discourse/lib/tasks/posts.rake:3:in `<main>'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/engine.rb:661:in `load'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/engine.rb:661:in `block in run_tasks_blocks'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/engine.rb:661:in `each'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/engine.rb:661:in `run_tasks_blocks'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/application.rb:506:in `run_tasks_blocks'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/engine.rb:464:in `load_tasks'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/railtie.rb:226:in `public_send'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/railtie.rb:226:in `method_missing'
/var/www/discourse/Rakefile:9:in `<top (required)>'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/rake-13.0.6/exe/rake:27:in `<top (required)>'
/var/www/discourse/vendor/bundle/ruby/3.1.0/bin/bundle:25:in `load'
/var/www/discourse/vendor/bundle/ruby/3.1.0/bin/bundle:25:in `<main>'
(通过运行任务时添加 --trace 查看完整堆栈跟踪)
无法检出兼容的插件版本
$ SKIP_POST_DEPLOYMENT_MIGRATIONS=1 bundle exec rake multisite:migrate
rake 终止!
SyntaxError: /var/www/discourse/lib/file_store/base_store.rb:96: syntax error, unexpected ','
      download(*, **, print_deprecation: false)
                ^
/var/www/discourse/lib/file_store/base_store.rb:102: syntax error, unexpected ','
      download(*, **, print_deprecation: false)
                ^
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.15.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.15.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/zeitwerk-2.6.6/lib/zeitwerk/kernel.rb:38:in `require'
/var/www/discourse/lib/file_store/local_store.rb:3:in `<main>'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.15.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.15.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/zeitwerk-2.6.6/lib/zeitwerk/kernel.rb:38:in `require'
/var/www/discourse/lib/tasks/posts.rake:3:in `<main>'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/engine.rb:661:in `load'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/engine.rb:661:in `block in run_tasks_blocks'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/engine.rb:661:in `each'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/engine.rb:661:in `run_tasks_blocks'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/application.rb:506:in `run_tasks_blocks'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/engine.rb:464:in `load_tasks'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/railtie.rb:226:in `public_send'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/railtie.rb:226:in `method_missing'
/var/www/discourse/Rakefile:9:in `<top (required)>'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/rake-13.0.6/exe/rake:27:in `<top (required)>'
/var/www/discourse/vendor/bundle/ruby/3.1.0/bin/bundle:25:in `load'
/var/www/discourse/vendor/bundle/ruby/3.1.0/bin/bundle:25:in `<main>'
(通过运行任务时添加 --trace 查看完整堆栈跟踪)
Docker Manager: 升级失败
#<RuntimeError: RuntimeError>
/var/www/discourse/plugins/docker_manager/lib/docker_manager/upgrader.rb:209:in `run'
/var/www/discourse/plugins/docker_manager/lib/docker_manager/upgrader.rb:101:in `upgrade'
/var/www/discourse/plugins/docker_manager/scripts/docker_manager_upgrade.rb:19:in `block in <main>'
/var/www/discourse/plugins/docker_manager/scripts/docker_manager_upgrade.rb:6:in `fork'
/var/www/discourse/plugins/docker_manager/scripts/docker_manager_upgrade.rb:6:in `<main>'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/commands/runner/runner_command.rb:43:in `load'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/commands/runner/runner_command.rb:43:in `perform'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/thor-1.2.1/lib/thor/command.rb:27:in `run'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/thor-1.2.1/lib/thor/invocation.rb:127:in `invoke_command'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/thor-1.2.1/lib/thor.rb:392:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/command/base.rb:87:in `perform'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/command.rb:48:in `invoke'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/commands.rb:18:in `<main>'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.15.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.15.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
bin/rails:18:in `<main>'
正在重新启动之前停止的 1 个 Unicorn 工作进程

按照 此处 提到的方法,从控制台运行升级(git pull && ./launcher rebuild app)触发了另一个错误,但我不确定哪条错误信息是相关的:

I, [2023-07-04T08:08:49.261121 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake themes:update assets:precompile'
- 正在构建
- 正在构建
- 正在构建...
- 正在清理
- 正在清理
构建错误 (broccoli-persistent-filter:Babel > [Babel: @ember/test-helpers]),位于 @ember/test-helpers/-internal/build-registry.js

[BABEL]: --- 占位符包 ---
此 @babel/plugin-proposal-private-property-in-object 版本并非设计用于直接导入。有某个模块在导入
@babel/plugin-proposal-private-property-in-object,但未在其 package.json 文件的依赖项(或 devDependencies)中声明它。
请将 "@babel/plugin-proposal-private-property-in-object" 添加到您的 devDependencies 中以解决此错误。这将使该消息消失。
(处理中:/var/www/discourse/app/assets/javascripts/node_modules/@babel/preset-env/lib/index.js)
错误:[BABEL]: --- 占位符包 ---
此 @babel/plugin-proposal-private-property-in-object 版本并非设计用于直接导入。有某个模块在导入
@babel/plugin-proposal-private-property-in-object,但未在其 package.json 文件的依赖项(或 devDependencies)中声明它。
请将 "@babel/plugin-proposal-private-property-in-object" 添加到您的 devDependencies 中以解决此错误。这将使该消息消失。
(处理中:/var/www/discourse/app/assets/javascripts/node_modules/@babel/preset-env/lib/index.js)
    at Object.<anonymous> (/var/www/discourse/app/assets/javascripts/node_modules/@babel/preset-env/node_modules/@babel/plugin-proposal-private-property-in-object/lib/index.js:28:7)
    at Module._compile (node:internal/modules/cjs/loader:1256:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1310:10)
    at Module.load (node:internal/modules/cjs/loader:1119:32)
    at Module._load (node:internal/modules/cjs/loader:960:12)
    at Module.require (node:internal/modules/cjs/loader:1143:19)
    at require (node:internal/modules/cjs/helpers:110:18)
    at Object.<anonymous> (/var/www/discourse/app/assets/javascripts/node_modules/@babel/preset-env/lib/available-plugins.js:62:46)
    at Module._compile (node:internal/modules/cjs/loader:1256:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1310:10)
    at Module.load (node:internal/modules/cjs/loader:1119:32)
    at Module._load (node:internal/modules/cjs/loader:960:12)
    at Module.require (node:internal/modules/cjs/loader:1143:19)
    at require (node:internal/modules/cjs/helpers:110:18)
    at Object.<anonymous> (/var/www/discourse/app/assets/javascripts/node_modules/@babel/preset-env/lib/filter-items.js:11:25)
    at Module._compile (node:internal/modules/cjs/loader:1256:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1310:10)
    at Module.load (node:internal/modules/cjs/loader:1119:32)
    at Module._load (node:internal/modules/cjs/loader:960:12)
    at Module.require (node:internal/modules/cjs/loader:1143:19)
    at require (node:internal/modules/cjs/helpers:110:18)
    at Object.<anonymous> (/var/www/discourse/app/assets/javascripts/node_modules/@babel/preset-env/lib/index.js:16:20)
    at Module._compile (node:internal/modules/cjs/loader:1256:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1310:10)
    at Module.load (node:internal/modules/cjs/loader:1119:32)
    at Module._load (node:internal/modules/cjs/loader:960:12)
    at Module.require (node:internal/modules/cjs/loader:1143:19)
    at require (node:internal/modules/cjs/helpers:110:18)


堆栈跟踪和错误报告:/tmp/error.dump.5abe6326cd5a415063a7ad1c85649486.log
错误:命令执行失败,退出代码 1。
I, [2023-07-04T08:09:05.088181 #1]  INFO -- : 检查 'Video Upload' 对于 'default'... 已是最新
yarn run v1.22.19
$ /var/www/discourse/app/assets/javascripts/node_modules/.bin/ember build -prod
警告:Node v18.16.1 未经过您平台上 Ember CLI 的测试。我们建议您使用最新的“Active LTS”版本 Node.js。详见 https://git.io/v7S5n。
环境:production
正在清理...
有关此命令的文档,请访问 https://yarnpkg.com/en/docs/cli/run

I, [2023-07-04T08:09:05.089002 #1]  INFO -- : 终止异步进程
I, [2023-07-04T08:09:05.089274 #1]  INFO -- : 向 HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/13/bin/postmaster -D /etc/postgresql/13/main pid: 42 发送 INT 信号
103:signal-handler (1688458145) 收到 SIGTERM,计划关闭...
I, [2023-07-04T08:09:05.089522 #1]  INFO -- : 向 exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 103 发送 TERM 信号
2023-07-04 08:09:05.089 UTC [42] LOG:  收到快速关闭请求
103:M 04 Jul 2023 08:09:05.183 # 用户请求关闭...
103:M 04 Jul 2023 08:09:05.183 * 在退出前保存最终的 RDB 快照。
2023-07-04 08:09:05.186 UTC [42] LOG:  中止任何活动事务
2023-07-04 08:09:05.190 UTC [42] LOG:  后台工作进程 "logical replication launcher" (PID 51) 以退出代码 1 退出
2023-07-04 08:09:05.190 UTC [46] LOG:  正在关闭
103:M 04 Jul 2023 08:09:05.388 * 数据库已保存到磁盘
103:M 04 Jul 2023 08:09:05.389 # Redis 现在准备退出,再见...
2023-07-04 08:09:05.431 UTC [42] LOG:  数据库系统已关闭


失败
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake themes:update assets:precompile' 失败,返回 #<Process::Status: pid 2323 exit 1>
失败位置:/usr/local/lib/ruby/gems/3.2.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
执行失败,参数为 {"cd"=>"$home", "hook"=>"assets_precompile", "cmd"=>["su discourse -c 'bundle exec rake themes:update assets:precompile'"]}
引导失败,退出代码为 1
** 引导失败 ** 请向上滚动查看早期的错误消息,可能不止一个。
./discourse-doctor 可能有助于诊断问题。
f1dc57af807a68bb877ce724ea4a3424c77d39250b8ee20cb022194938925ce8

我回退到了 git pull 之前的提交(cdc5f905a2f245171b9f53fb76f4ba947389fc6b)并重新构建,结果得到了相同的错误。

我尝试运行 ./discourse-doctor,但它因相同的 babel 错误而失败。它提示安装使用了非官方插件,并建议我禁用它们,但在应用无法正常运行的情况下,我该如何操作?所有插件都是通过浏览器界面安装的,而不是在 app.yaml 中配置的。

当我重启应用时,浏览器中会出现「Oops - Error 500」。进入应用后,/var/www/discourse/log/production.log 显示了相同的语法错误,且 Ruby 版本确实是 3.1(ruby 3.1.3p185 (2022-11-24 revision 1a6b16756e) [x86_64-linux])。

论坛现在已无法使用。我该如何修复 Ruby 版本?或者修复重新构建?或者回退到一个正常工作的应用?

我的 app.yml 文件(已移除注释并隐藏标识符):

templates:
  - "templates/postgres.template.yml"
  - "templates/redis.template.yml"
  - "templates/web.template.yml"
  - "templates/web.ssl.template.yml"
  - "templates/web.letsencrypt.ssl.template.yml"
  - "templates/sshd.template.yml"
  - "templates/web.ratelimited.template.yml"

expose:
  - "80:80"
  - "443:443"
  - "2222:22"

params:
  db_default_text_search_config: "pg_catalog.english"
  db_shared_buffers: "128MB"
  version: stable

env:
  LANG: en_US.UTF-8
  UNICORN_WORKERS: 2
  DISCOURSE_DEVELOPER_EMAILS: 'redacted'
  DISCOURSE_HOSTNAME: 'redacted'
  DISCOURSE_SMTP_ADDRESS: "redacted"
  DISCOURSE_SMTP_PORT: 25
  DISCOURSE_SMTP_USER_NAME: "redacted"
  DISCOURSE_SMTP_PASSWORD: "redacted"
  DISCOURSE_SMTP_ENABLE_START_TLS: true
  LETSENCRYPT_ACCOUNT_EMAIL: "redacted"
  DISCOURSE_MAXMIND_LICENSE_KEY: "redacted"
  DISCOURSE_REFRESH_MAXMIND_DB_DURING_PRECOMPILE_DAYS: 0

volumes:
  - volume:
      host: /var/discourse/shared/standalone
      guest: /shared
  - volume:
      host: /var/discourse/shared/standalone/log/var-log
      guest: /var/log

hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - mkdir -p plugins
          - git clone https://github.com/discourse/docker_manager.git

run:
  - exec: echo "Beginning of custom commands"

  - exec: echo "End of custom commands"
  - exec: awk -F\# '{print $1;}' ~/.ssh/authorized_keys | awk 'BEGIN { print "Authorized SSH keys for this container:"; } NF>=2 {print $NF;}'
1 个赞

美国是公共假日,所以现在不是出问题的好时机……请问您能分享 discourse-doctor 的输出吗?

我怀疑可能是 docker-manager 没有更新,但同样有可能的是您确实需要禁用插件。不幸的是,我不知道该如何操作,因为您的 app.yml 似乎除了 docker_manager 之外不包含任何其他内容。

1 个赞

也许是你的主题中的错误。

./launcher start app

能让你的网站运行起来吗?

1 个赞

In the meantime I changed /var/www/discourse/lib/file_store/base_store.rb directly inside the container to be compatible with Ruby 3.1 (changed the * to *args and the ** to **kwargs), restarted the app and now the forum seems to be working.

I checked the plugins and actually there’s only one that’s enabled: docker_manager at version 0.1. There are two other ones that are disabled (chat and styleguide).

Here’s the doctor’s log:

DISCOURSE DOCTOR Tue Jul 4 08:34:54 UTC 2023
OS: Linux redacted 4.9.0-19-amd64 #1 SMP Debian 4.9.320-2 (2022-06-30) x86_64 GNU/Linux


Found containers/app.yml

==================== YML SETTINGS ====================
DISCOURSE_HOSTNAME=redacted
SMTP_ADDRESS="redacted" # (mandatory)
DEVELOPER_EMAILS=redacted
SMTP_PASSWORD="redacted" # (optional)
SMTP_PORT=25 # (optional)
SMTP_USER_NAME="redacted" # (optional)
LETSENCRYPT_ACCOUNT_EMAIL=redacted

==================== DOCKER INFO ====================
DOCKER VERSION: Docker version 19.03.15, build 99e3ed8919

DOCKER PROCESSES (docker ps -a)

CONTAINER ID        IMAGE                 COMMAND             CREATED             STATUS                      PORTS               NAMES
91601890406d        local_discourse/app   "/sbin/boot"        4 months ago        Exited (5) 17 minutes ago                       app

==================== SERIOUS PROBLEM!!!! ====================
app not running!
Attempting to rebuild
==================== REBUILD LOG ====================
x86_64 arch detected.
Ensuring launcher is up to date
Fetching origin
Launcher is up-to-date
Stopping old container
+ /usr/bin/docker stop -t 600 app
app
2.0.20230703-0055: Pulling from discourse/base
Digest: sha256:a943db5c56ee8b2025ec550b42fe12ecfa63990d428f43ba8358ca3632b5335f
Status: Image is up to date for discourse/base:2.0.20230703-0055
docker.io/discourse/base:2.0.20230703-0055
/usr/local/lib/ruby/gems/3.2.0/gems/pups-1.1.1/lib/pups.rb
/usr/local/bin/pups --stdin
I, [2023-07-04T08:35:07.717173 #1]  INFO -- : Reading from stdin
I, [2023-07-04T08:35:07.722553 #1]  INFO -- : > locale-gen $LANG && update-locale
I, [2023-07-04T08:35:07.786023 #1]  INFO -- : Generating locales (this might take a while)...
Generation complete.

I, [2023-07-04T08:35:07.786357 #1]  INFO -- : > mkdir -p /shared/postgres_run
I, [2023-07-04T08:35:07.789454 #1]  INFO -- :
I, [2023-07-04T08:35:07.789985 #1]  INFO -- : > chown postgres:postgres /shared/postgres_run
I, [2023-07-04T08:35:07.793915 #1]  INFO -- :
I, [2023-07-04T08:35:07.794579 #1]  INFO -- : > chmod 775 /shared/postgres_run
I, [2023-07-04T08:35:07.799138 #1]  INFO -- :
I, [2023-07-04T08:35:07.799642 #1]  INFO -- : > rm -fr /var/run/postgresql
I, [2023-07-04T08:35:07.803203 #1]  INFO -- :
I, [2023-07-04T08:35:07.803670 #1]  INFO -- : > ln -s /shared/postgres_run /var/run/postgresql
I, [2023-07-04T08:35:07.806664 #1]  INFO -- :
I, [2023-07-04T08:35:07.807133 #1]  INFO -- : > socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres already running stop container ; exit 1
2023/07/04 08:35:07 socat[18] E connect(6, AF=1 "/shared/postgres_run/.s.PGSQL.5432", 36): No such file or directory
I, [2023-07-04T08:35:07.815857 #1]  INFO -- :
I, [2023-07-04T08:35:07.816230 #1]  INFO -- : > rm -fr /shared/postgres_run/.s*
I, [2023-07-04T08:35:07.821272 #1]  INFO -- :
I, [2023-07-04T08:35:07.821753 #1]  INFO -- : > rm -fr /shared/postgres_run/*.pid
I, [2023-07-04T08:35:07.825460 #1]  INFO -- :
I, [2023-07-04T08:35:07.825846 #1]  INFO -- : > mkdir -p /shared/postgres_run/13-main.pg_stat_tmp
I, [2023-07-04T08:35:07.828773 #1]  INFO -- :
I, [2023-07-04T08:35:07.829257 #1]  INFO -- : > chown postgres:postgres /shared/postgres_run/13-main.pg_stat_tmp
I, [2023-07-04T08:35:07.831919 #1]  INFO -- :
I, [2023-07-04T08:35:07.837345 #1]  INFO -- : File > /etc/service/postgres/run  chmod: +x  chown:
I, [2023-07-04T08:35:07.843481 #1]  INFO -- : File > /etc/service/postgres/log/run  chmod: +x  chown:
I, [2023-07-04T08:35:07.850314 #1]  INFO -- : File > /etc/runit/3.d/99-postgres  chmod: +x  chown:
I, [2023-07-04T08:35:07.855908 #1]  INFO -- : File > /root/upgrade_postgres  chmod: +x  chown:
I, [2023-07-04T08:35:07.856300 #1]  INFO -- : > chown -R root /var/lib/postgresql/13/main
I, [2023-07-04T08:35:08.013507 #1]  INFO -- :
I, [2023-07-04T08:35:08.013848 #1]  INFO -- : > [ ! -e /shared/postgres_data ] && install -d -m 0755 -o postgres -g postgres /shared/postgres_data && sudo -E -u postgres /usr/lib/postgresql/13/bin/initdb -D /shared/postgres_data || exit 0
I, [2023-07-04T08:35:08.016115 #1]  INFO -- :
I, [2023-07-04T08:35:08.016262 #1]  INFO -- : > chown -R postgres:postgres /shared/postgres_data
I, [2023-07-04T08:35:08.049958 #1]  INFO -- :
I, [2023-07-04T08:35:08.050126 #1]  INFO -- : > chown -R postgres:postgres /var/run/postgresql
I, [2023-07-04T08:35:08.053008 #1]  INFO -- :
I, [2023-07-04T08:35:08.053405 #1]  INFO -- : > /root/upgrade_postgres
I, [2023-07-04T08:35:08.060826 #1]  INFO -- :
I, [2023-07-04T08:35:08.061125 #1]  INFO -- : > rm /root/upgrade_postgres
I, [2023-07-04T08:35:08.063448 #1]  INFO -- :
I, [2023-07-04T08:35:08.064215 #1]  INFO -- : Replacing data_directory = '/var/lib/postgresql/13/main' with data_directory = '/shared/postgres_data' in /etc/postgresql/13/main/postgresql.conf
I, [2023-07-04T08:35:08.064714 #1]  INFO -- : Replacing (?-mix:#?listen_addresses *=.*) with listen_addresses = '*' in /etc/postgresql/13/main/postgresql.conf
I, [2023-07-04T08:35:08.064984 #1]  INFO -- : Replacing (?-mix:#?synchronous_commit *=.*) with synchronous_commit = $db_synchronous_commit in /etc/postgresql/13/main/postgresql.conf
I, [2023-07-04T08:35:08.065291 #1]  INFO -- : Replacing (?-mix:#?shared_buffers *=.*) with shared_buffers = $db_shared_buffers in /etc/postgresql/13/main/postgresql.conf
I, [2023-07-04T08:35:08.065574 #1]  INFO -- : Replacing (?-mix:#?work_mem *=.*) with work_mem = $db_work_mem in /etc/postgresql/13/main/postgresql.conf
I, [2023-07-04T08:35:08.065849 #1]  INFO -- : Replacing (?-mix:#?default_text_search_config *=.*) with default_text_search_config = '$db_default_text_search_config' in /etc/postgresql/13/main/postgresql.conf
I, [2023-07-04T08:35:08.066118 #1]  INFO -- : > install -d -m 0755 -o postgres -g postgres /shared/postgres_backup
I, [2023-07-04T08:35:08.069168 #1]  INFO -- :
I, [2023-07-04T08:35:08.069586 #1]  INFO -- : Replacing (?-mix:#?checkpoint_segments *=.*) with checkpoint_segments = $db_checkpoint_segments in /etc/postgresql/13/main/postgresql.conf
I, [2023-07-04T08:35:08.069904 #1]  INFO -- : Replacing (?-mix:#?logging_collector *=.*) with logging_collector = $db_logging_collector in /etc/postgresql/13/main/postgresql.conf
I, [2023-07-04T08:35:08.070256 #1]  INFO -- : Replacing (?-mix:#?log_min_duration_statement *=.*) with log_min_duration_statement = $db_log_min_duration_statement in /etc/postgresql/13/main/postgresql.conf
I, [2023-07-04T08:35:08.070817 #1]  INFO -- : Replacing (?-mix:^#local +replication +postgres +peer$) with local replication postgres  peer in /etc/postgresql/13/main/pg_hba.conf
I, [2023-07-04T08:35:08.071076 #1]  INFO -- : Replacing (?-mix:^host.*all.*all.*127.*$) with host all all 0.0.0.0/0 md5 in /etc/postgresql/13/main/pg_hba.conf
I, [2023-07-04T08:35:08.071371 #1]  INFO -- : Replacing (?-mix:^host.*all.*all.*::1\/128.*$) with host all all ::/0 md5 in /etc/postgresql/13/main/pg_hba.conf
I, [2023-07-04T08:35:08.071569 #1]  INFO -- : > HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/13/bin/postmaster -D /etc/postgresql/13/main
I, [2023-07-04T08:35:08.073087 #1]  INFO -- : > sleep 5
2023-07-04 08:35:08.420 UTC [41] LOG:  starting PostgreSQL 13.11 (Debian 13.11-1.pgdg110+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 10.2.1-6) 10.2.1 20210110, 64-bit
2023-07-04 08:35:08.421 UTC [41] LOG:  listening on IPv4 address "0.0.0.0", port 5432
2023-07-04 08:35:08.421 UTC [41] LOG:  listening on IPv6 address "::", port 5432
2023-07-04 08:35:08.431 UTC [41] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2023-07-04 08:35:08.446 UTC [44] LOG:  database system was shut down at 2023-07-04 08:31:43 UTC
2023-07-04 08:35:08.465 UTC [41] LOG:  database system is ready to accept connections
I, [2023-07-04T08:35:13.076935 #1]  INFO -- :
I, [2023-07-04T08:35:13.077237 #1]  INFO -- : > su postgres -c 'createdb discourse' || true
2023-07-04 08:35:13.149 UTC [54] postgres@postgres ERROR:  database "discourse" already exists
2023-07-04 08:35:13.149 UTC [54] postgres@postgres STATEMENT:  CREATE DATABASE discourse;
createdb: error: database creation failed: ERROR:  database "discourse" already exists
I, [2023-07-04T08:35:13.152279 #1]  INFO -- :
I, [2023-07-04T08:35:13.152523 #1]  INFO -- : > su postgres -c 'psql discourse -c "create user discourse;"' || true
2023-07-04 08:35:13.211 UTC [58] postgres@discourse ERROR:  role "discourse" already exists
2023-07-04 08:35:13.211 UTC [58] postgres@discourse STATEMENT:  create user discourse;
ERROR:  role "discourse" already exists
I, [2023-07-04T08:35:13.213860 #1]  INFO -- :
I, [2023-07-04T08:35:13.214061 #1]  INFO -- : > su postgres -c 'psql discourse -c "grant all privileges on database discourse to discourse;"' || true
I, [2023-07-04T08:35:13.265307 #1]  INFO -- : GRANT

I, [2023-07-04T08:35:13.265564 #1]  INFO -- : > su postgres -c 'psql discourse -c "alter schema public owner to discourse;"'
I, [2023-07-04T08:35:13.317945 #1]  INFO -- : ALTER SCHEMA

I, [2023-07-04T08:35:13.318152 #1]  INFO -- : > su postgres -c 'psql template1 -c "create extension if not exists hstore;"'
NOTICE:  extension "hstore" already exists, skipping
I, [2023-07-04T08:35:13.374925 #1]  INFO -- : CREATE EXTENSION

I, [2023-07-04T08:35:13.375085 #1]  INFO -- : > su postgres -c 'psql template1 -c "create extension if not exists pg_trgm;"'
NOTICE:  extension "pg_trgm" already exists, skipping
I, [2023-07-04T08:35:13.424029 #1]  INFO -- : CREATE EXTENSION

I, [2023-07-04T08:35:13.424239 #1]  INFO -- : > su postgres -c 'psql discourse -c "create extension if not exists hstore;"'
NOTICE:  extension "hstore" already exists, skipping
I, [2023-07-04T08:35:13.473016 #1]  INFO -- : CREATE EXTENSION

I, [2023-07-04T08:35:13.473353 #1]  INFO -- : > su postgres -c 'psql discourse -c "create extension if not exists pg_trgm;"'
NOTICE:  extension "pg_trgm" already exists, skipping
I, [2023-07-04T08:35:13.521434 #1]  INFO -- : CREATE EXTENSION

I, [2023-07-04T08:35:13.521788 #1]  INFO -- : > sudo -u postgres psql discourse
I, [2023-07-04T08:35:13.524205 #1]  INFO -- : update pg_database set encoding = pg_char_to_encoding('UTF8') where datname = 'discourse' AND encoding = pg_char_to_encoding('SQL_ASCII');

I, [2023-07-04T08:35:13.584880 #1]  INFO -- : File > /var/lib/postgresql/take-database-backup  chmod: +x  chown: postgres:postgres
I, [2023-07-04T08:35:13.588081 #1]  INFO -- : File > /var/spool/cron/crontabs/postgres  chmod:   chown:
I, [2023-07-04T08:35:13.588556 #1]  INFO -- : > echo postgres installed!
I, [2023-07-04T08:35:13.591048 #1]  INFO -- : postgres installed!

I, [2023-07-04T08:35:13.596241 #1]  INFO -- : File > /etc/service/redis/run  chmod: +x  chown:
I, [2023-07-04T08:35:13.601338 #1]  INFO -- : File > /etc/service/redis/log/run  chmod: +x  chown:
I, [2023-07-04T08:35:13.606793 #1]  INFO -- : File > /etc/runit/3.d/10-redis  chmod: +x  chown:
I, [2023-07-04T08:35:13.608119 #1]  INFO -- : Replacing daemonize yes with  in /etc/redis/redis.conf
I, [2023-07-04T08:35:13.609135 #1]  INFO -- : Replacing (?-mix:^pidfile.*$) with  in /etc/redis/redis.conf
I, [2023-07-04T08:35:13.609825 #1]  INFO -- : > install -d -m 0755 -o redis -g redis /shared/redis_data
I, [2023-07-04T08:35:13.613120 #1]  INFO -- :
I, [2023-07-04T08:35:13.614135 #1]  INFO -- : Replacing (?-mix:^logfile.*$) with logfile "" in /etc/redis/redis.conf
I, [2023-07-04T08:35:13.614898 #1]  INFO -- : Replacing (?-mix:^bind .*$) with  in /etc/redis/redis.conf
I, [2023-07-04T08:35:13.615551 #1]  INFO -- : Replacing (?-mix:^dir .*$) with dir /shared/redis_data in /etc/redis/redis.conf
I, [2023-07-04T08:35:13.616281 #1]  INFO -- : Replacing (?-mix:^protected-mode yes) with protected-mode no in /etc/redis/redis.conf
I, [2023-07-04T08:35:13.616974 #1]  INFO -- : Replacing # io-threads 4 with io-threads $redis_io_threads in /etc/redis/redis.conf
I, [2023-07-04T08:35:13.617567 #1]  INFO -- : > echo redis installed
I, [2023-07-04T08:35:13.620142 #1]  INFO -- : redis installed

I, [2023-07-04T08:35:13.620773 #1]  INFO -- : > cat /etc/redis/redis.conf | grep logfile
I, [2023-07-04T08:35:13.627103 #1]  INFO -- : logfile ""

I, [2023-07-04T08:35:13.627893 #1]  INFO -- : > exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf
I, [2023-07-04T08:35:13.629707 #1]  INFO -- : > sleep 10
102:C 04 Jul 2023 08:35:13.639 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
102:C 04 Jul 2023 08:35:13.639 # Redis version=7.0.7, bits=64, commit=00000000, modified=0, pid=102, just started
102:C 04 Jul 2023 08:35:13.639 # Configuration loaded
102:M 04 Jul 2023 08:35:13.639 * monotonic clock: POSIX clock_gettime
102:M 04 Jul 2023 08:35:13.640 * Running mode=standalone, port=6379.
102:M 04 Jul 2023 08:35:13.640 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
102:M 04 Jul 2023 08:35:13.640 # Server initialized
102:M 04 Jul 2023 08:35:13.640 * Loading RDB produced by version 7.0.7
102:M 04 Jul 2023 08:35:13.640 * RDB age 211 seconds
102:M 04 Jul 2023 08:35:13.640 * RDB memory usage when created 15.65 Mb
102:M 04 Jul 2023 08:35:13.681 * Done loading RDB, keys loaded: 11320, keys expired: 0.
102:M 04 Jul 2023 08:35:13.681 * DB loaded from disk: 0.041 seconds
102:M 04 Jul 2023 08:35:13.681 * Ready to accept connections
I, [2023-07-04T08:35:23.632444 #1]  INFO -- :
I, [2023-07-04T08:35:23.634001 #1]  INFO -- : > thpoff echo "thpoff is installed!"
I, [2023-07-04T08:35:23.647427 #1]  INFO -- : thpoff is installed!

I, [2023-07-04T08:35:23.648579 #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, [2023-07-04T08:35:23.734677 #1]  INFO -- :
I, [2023-07-04T08:35:23.734943 #1]  INFO -- : > /usr/local/bin/ruby -e 'if ENV["DISCOURSE_HOSTNAME"] == "discourse.example.com"; puts "Aborting! Domain is not configured!"; exit 1; end'
I, [2023-07-04T08:35:23.805114 #1]  INFO -- :
I, [2023-07-04T08:35:23.805363 #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, [2023-07-04T08:35:23.875870 #1]  INFO -- :
I, [2023-07-04T08:35:23.876109 #1]  INFO -- : > rm -f /etc/cron.d/anacron
I, [2023-07-04T08:35:23.879621 #1]  INFO -- :
I, [2023-07-04T08:35:23.883359 #1]  INFO -- : File > /etc/cron.d/anacron  chmod:   chown:
I, [2023-07-04T08:35:23.889667 #1]  INFO -- : File > /etc/runit/1.d/copy-env  chmod: +x  chown:
I, [2023-07-04T08:35:23.895348 #1]  INFO -- : File > /etc/service/unicorn/run  chmod: +x  chown:
I, [2023-07-04T08:35:23.900664 #1]  INFO -- : File > /etc/service/nginx/run  chmod: +x  chown:
I, [2023-07-04T08:35:23.906591 #1]  INFO -- : File > /etc/runit/3.d/01-nginx  chmod: +x  chown:
I, [2023-07-04T08:35:23.911796 #1]  INFO -- : File > /etc/runit/3.d/02-unicorn  chmod: +x  chown:
I, [2023-07-04T08:35:23.912015 #1]  INFO -- : Replacing # postgres with sv start postgres || exit 1 in /etc/service/unicorn/run
I, [2023-07-04T08:35:23.912204 #1]  INFO -- : > exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf
I, [2023-07-04T08:35:23.914896 #1]  INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse git reset --hard
129:C 04 Jul 2023 08:35:23.923 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
129:C 04 Jul 2023 08:35:23.923 # Redis version=7.0.7, bits=64, commit=00000000, modified=0, pid=129, just started
129:C 04 Jul 2023 08:35:23.923 # Configuration loaded
129:M 04 Jul 2023 08:35:23.923 * monotonic clock: POSIX clock_gettime
129:M 04 Jul 2023 08:35:23.923 # Warning: Could not create server TCP listening socket *:6379: bind: Address already in use
129:M 04 Jul 2023 08:35:23.923 # Failed listening on port 6379 (TCP), aborting.
Updating files: 100% (33396/33396), done.
I, [2023-07-04T08:35:28.224120 #1]  INFO -- : HEAD is now at 3f1024de7 DEV: Refactor DM channel creation into new service pattern (#22144)

I, [2023-07-04T08:35:28.224329 #1]  INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse git clean -f
I, [2023-07-04T08:35:28.441174 #1]  INFO -- :
I, [2023-07-04T08:35:28.441741 #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 stable
      git fetch --depth 1 origin stable
  else
      git fetch --tags --prune-tags --prune --force origin
  fi
'
From https://github.com/discourse/discourse
 - [deleted]             (none)     -> origin/0-drop-sk-test
 - [deleted]             (none)     -> origin/dev/move-chat-user-count-update-to-ensure-consistency
 - [deleted]             (none)     -> origin/dev_update_diffhtml
 - [deleted]             (none)     -> origin/fix-intercept-with-target
 - [deleted]             (none)     -> origin/issue/font-loading-wizard-style
 - [deleted]             (none)     -> origin/modal-named-outlet
   3f1024de7..ee1dbd46c  main                  -> origin/main
 * [new branch]          0-helpers             -> origin/0-helpers
 + a23a31600...e24fcb507 activation-modals-update -> origin/activation-modals-update  (forced update)
   95ce96528..d370c8c0e  chat-notices          -> origin/chat-notices
 * [new branch]          dependabot/npm_and_yarn/app/assets/javascripts/uppy/aws-s3-3.2.0 -> origin/dependabot/npm_and_yarn/app/assets/javascripts/uppy/aws-s3-3.2.0
 + 86e63992b...3ab4d8598 dependabot/npm_and_yarn/app/assets/javascripts/uppy/aws-s3-multipart-3.4.0 -> origin/dependabot/npm_and_yarn/app/assets/javascripts/uppy/aws-s3-multipart-3.4.0  (forced update)
 + 3949f2ca8...e71e5eff6 dev/make-sure-we-stream-data-to-csv-files-when-running-exports -> origin/dev/make-sure-we-stream-data-to-csv-files-when-running-exports  (forced update)
 * [new branch]          dev/minio-s3-system-specs -> origin/dev/minio-s3-system-specs
 + dff30f62e...e8082afe2 dismiss-modals-update -> origin/dismiss-modals-update  (forced update)
 * [new branch]          do-not-disturb-modal-upgrade -> origin/do-not-disturb-modal-upgrade
 * [new branch]          feature/interpolation-key-check -> origin/feature/interpolation-key-check
   33608240f..509797feb  feature/tracking-unread-thread-in-sidebar -> origin/feature/tracking-unread-thread-in-sidebar
   e571e1131..4fae425b9  fix-mobile-share      -> origin/fix-mobile-share
 + f588c592d...03e460b6a fullscreen-modals-update -> origin/fullscreen-modals-update  (forced update)
 + ccc6c903a...94bb20818 group-add-members-modal-upgrade -> origin/group-add-members-modal-upgrade  (forced update)
 * [new branch]          issue/thread-original-message-delete-restore -> origin/issue/thread-original-message-delete-restore
 + 1980b69ef...67273d209 loic-migrate-chat-message-creator-to-a-service -> origin/loic-migrate-chat-message-creator-to-a-service  (forced update)
 + d1588f61c...c07b70d74 poll-plugin-update    -> origin/poll-plugin-update  (forced update)
   136013353..b83369a54  poll-refactor         -> origin/poll-refactor
 + 12f2d7ff7...7717f3651 second-factor-add-security-key-modal-upgrade -> origin/second-factor-add-security-key-modal-upgrade  (forced update)
 + 205f3bf1b...e99d456be second-factor-add-totp-modal-upgrade -> origin/second-factor-add-totp-modal-upgrade  (forced update)
 + dc2c6cc41...696652aa0 second-factor-backup-edit-modal-upgrade -> origin/second-factor-backup-edit-modal-upgrade  (forced update)
 + f904e4133...9d65daa00 second-factor-edit-security-key-modal-upgrade -> origin/second-factor-edit-security-key-modal-upgrade  (forced update)
 + 9d0d76101...ad2ae96f0 share-topic-modal     -> origin/share-topic-modal  (forced update)
 + 310137e3c...d9b37147c slack_import          -> origin/slack_import  (forced update)
   7de3cb9b0..38a9694ff  tests-passed          -> origin/tests-passed
I, [2023-07-04T08:35:30.181323 #1]  INFO -- :
I, [2023-07-04T08:35:30.181801 #1]  INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse bash -c '
  set -o errexit
  if [[ $(git symbolic-ref --short HEAD) == stable ]] ; then
      git pull
  else
      git -c advice.detachedHead=false checkout stable
  fi
'
Switched to a new branch 'stable'
I, [2023-07-04T08:35:36.709492 #1]  INFO -- : Branch 'stable' set up to track remote branch 'stable' from 'origin'.

I, [2023-07-04T08:35:36.709921 #1]  INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse git config user.discourse-version stable
I, [2023-07-04T08:35:36.722428 #1]  INFO -- :
I, [2023-07-04T08:35:36.722824 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp
I, [2023-07-04T08:35:36.726861 #1]  INFO -- :
I, [2023-07-04T08:35:36.727244 #1]  INFO -- : > cd /var/www/discourse && chown discourse:www-data tmp
I, [2023-07-04T08:35:36.730932 #1]  INFO -- :
I, [2023-07-04T08:35:36.731353 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp/pids
I, [2023-07-04T08:35:36.735322 #1]  INFO -- :
I, [2023-07-04T08:35:36.735760 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp/sockets
I, [2023-07-04T08:35:36.739494 #1]  INFO -- :
I, [2023-07-04T08:35:36.739901 #1]  INFO -- : > cd /var/www/discourse && touch tmp/.gitkeep
I, [2023-07-04T08:35:36.744366 #1]  INFO -- :
I, [2023-07-04T08:35:36.744815 #1]  INFO -- : > cd /var/www/discourse && mkdir -p                    /shared/log/rails
I, [2023-07-04T08:35:36.748457 #1]  INFO -- :
I, [2023-07-04T08:35:36.748854 #1]  INFO -- : > cd /var/www/discourse && bash -c "touch -a           /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.log"
I, [2023-07-04T08:35:36.754083 #1]  INFO -- :
I, [2023-07-04T08:35:36.754569 #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, [2023-07-04T08:35:36.760285 #1]  INFO -- :
I, [2023-07-04T08:35:36.760700 #1]  INFO -- : > cd /var/www/discourse && bash -c "mkdir -p           /shared/{uploads,backups}"
I, [2023-07-04T08:35:36.766617 #1]  INFO -- :
I, [2023-07-04T08:35:36.767172 #1]  INFO -- : > cd /var/www/discourse && bash -c "ln    -s           /shared/{uploads,backups} /var/www/discourse/public"
I, [2023-07-04T08:35:36.776053 #1]  INFO -- :
I, [2023-07-04T08:35:36.776610 #1]  INFO -- : > cd /var/www/discourse && bash -c "mkdir -p           /shared/tmp/{backups,restores}"
I, [2023-07-04T08:35:36.782478 #1]  INFO -- :
I, [2023-07-04T08:35:36.783022 #1]  INFO -- : > cd /var/www/discourse && bash -c "ln    -s           /shared/tmp/{backups,restores} /var/www/discourse/tmp"
I, [2023-07-04T08:35:36.788665 #1]  INFO -- :
I, [2023-07-04T08:35:36.789017 #1]  INFO -- : > cd /var/www/discourse && chown -R discourse:www-data /shared/log/rails /shared/uploads /shared/backups /shared/tmp
I, [2023-07-04T08:35:36.905317 #1]  INFO -- :
I, [2023-07-04T08:35:36.905593 #1]  INFO -- : > cd /var/www/discourse && [ ! -d public/plugins ] || find public/plugins/ -maxdepth 1 -xtype l -delete
I, [2023-07-04T08:35:36.908220 #1]  INFO -- :
I, [2023-07-04T08:35:36.908848 #1]  INFO -- : Replacing # redis with sv start redis || exit 1 in /etc/service/unicorn/run
I, [2023-07-04T08:35:36.909446 #1]  INFO -- : > cd /var/www/discourse/plugins && mkdir -p plugins
I, [2023-07-04T08:35:36.913315 #1]  INFO -- :
I, [2023-07-04T08:35:36.913811 #1]  INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/discourse/docker_manager.git
Cloning into 'docker_manager'...
I, [2023-07-04T08:35:38.642193 #1]  INFO -- :
I, [2023-07-04T08:35:38.642814 #1]  INFO -- : > cp /var/www/discourse/config/nginx.sample.conf /etc/nginx/conf.d/discourse.conf
I, [2023-07-04T08:35:38.647323 #1]  INFO -- :
I, [2023-07-04T08:35:38.647896 #1]  INFO -- : > rm /etc/nginx/sites-enabled/default
I, [2023-07-04T08:35:38.650756 #1]  INFO -- :
I, [2023-07-04T08:35:38.651170 #1]  INFO -- : > mkdir -p /var/nginx/cache
I, [2023-07-04T08:35:38.654148 #1]  INFO -- :
I, [2023-07-04T08:35:38.654989 #1]  INFO -- : Replacing pid /run/nginx.pid; with daemon off; in /etc/nginx/nginx.conf
I, [2023-07-04T08:35:38.655476 #1]  INFO -- : Replacing (?m-ix:upstream[^\}]+\}) with upstream discourse { server 127.0.0.1:3000; } in /etc/nginx/conf.d/discourse.conf
I, [2023-07-04T08:35:38.655887 #1]  INFO -- : Replacing (?-mix:server_name.+$) with server_name _ ; in /etc/nginx/conf.d/discourse.conf
I, [2023-07-04T08:35:38.656346 #1]  INFO -- : Replacing (?-mix:client_max_body_size.+$) with client_max_body_size $upload_size ; in /etc/nginx/conf.d/discourse.conf
I, [2023-07-04T08:35:38.656706 #1]  INFO -- : Replacing (?-mix:worker_connections.+$) with worker_connections $nginx_worker_connections ; in /etc/nginx/nginx.conf
I, [2023-07-04T08:35:38.656972 #1]  INFO -- : > echo "done configuring web"
I, [2023-07-04T08:35:38.659032 #1]  INFO -- : done configuring web

I, [2023-07-04T08:35:38.659502 #1]  INFO -- : > cd /var/www/discourse && gem install bundler --conservative -v $(awk '/BUNDLED WITH/ { getline; gsub(/ /,""); print $0 }' Gemfile.lock)
I, [2023-07-04T08:35:39.376540 #1]  INFO -- : Successfully installed bundler-2.4.1
1 gem installed

I, [2023-07-04T08:35:39.376897 #1]  INFO -- : > cd /var/www/discourse && find /var/www/discourse ! -user discourse -exec chown discourse {} \+
I, [2023-07-04T08:35:42.247035 #1]  INFO -- :
I, [2023-07-04T08:35:42.247550 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'yarn install --frozen-lockfile && yarn cache clean'
warning " > @mixer/parallel-prettier@2.0.3" has unmet peer dependency "prettier@^2.0.0".
warning "eslint-config-discourse > eslint-plugin-lodash@7.1.0" has unmet peer dependency "lodash@>=4".
I, [2023-07-04T08:37:51.032227 #1]  INFO -- : yarn install v1.22.19
[1/5] Validating package.json...
[2/5] Resolving packages...
[3/5] Fetching packages...
[4/5] Linking dependencies...
[5/5] Building fresh packages...
$ yarn --cwd app/assets/javascripts/discourse $(node -e 'if(JSON.parse(process.env.npm_config_argv).original.includes(`--frozen-lockfile`)){console.log(`--frozen-lockfile`)}')
yarn install v1.22.19
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
Done in 68.15s.
Done in 118.83s.
yarn cache v1.22.19
success Cleared cache.
Done in 9.49s.

I, [2023-07-04T08:37:51.033163 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle config --local deployment true'
I, [2023-07-04T08:37:51.285818 #1]  INFO -- :
I, [2023-07-04T08:37:51.285947 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle config --local without "development test"'
I, [2023-07-04T08:37:51.480721 #1]  INFO -- : You are replacing the current local value of without, which is currently "test:development"

I, [2023-07-04T08:37:51.481286 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle install --retry 3 --jobs 4'
I, [2023-07-04T08:40:20.584190 #1]  INFO -- : Fetching gem metadata from https://rubygems.org/.........
Fetching https://github.com/discourse/mail.git
Using rake 13.0.6
Fetching concurrent-ruby 1.1.10
Fetching minitest 5.17.0
Using builder 3.2.4
Using racc 1.6.2
Fetching erubi 1.11.0
Using crass 1.0.6
Fetching rack 2.2.5
Installing erubi 1.11.0
Installing minitest 5.17.0
Installing rack 2.2.5
Using mini_mime 1.1.2
Using timeout 0.3.1
Using public_suffix 5.0.1
Using aws-eventstream 1.2.0
Using aws-partitions 1.583.0
Using jmespath 1.6.2
Fetching msgpack 1.6.0
Using bundler 2.4.1
Using byebug 11.1.3
Using cbor 0.5.9.6
Using cgi 0.3.6
Using chunky_png 1.4.0
Using coderay 1.1.3
Using colored2 3.1.2
Fetching connection_pool 2.3.0
Installing concurrent-ruby 1.1.10
Installing msgpack 1.6.0 with native extensions
Installing connection_pool 2.3.0
Fetching openssl 3.0.2
Installing openssl 3.0.2 with native extensions
Using cppjieba_rb 0.4.2
Using diffy 3.4.2
Using digest 3.1.1
Using discourse-fonts 0.0.9
Fetching regexp_parser 2.6.1
Installing regexp_parser 2.6.1
Using email_reply_trimmer 0.1.13
Fetching excon 0.96.0
Using execjs 2.8.1
Fetching exifr 1.3.10
Installing exifr 1.3.10
Installing excon 0.96.0
Using faraday-net_http 3.0.2
Using ruby2_keywords 0.0.5
Using fast_blank 1.0.1
Using fast_xs 0.8.0
Fetching fastimage 2.2.6
Using ffi 1.15.5
Installing fastimage 2.2.6
Using fspath 3.1.2
Using gc_tracer 1.5.1
Using guess_html_encoding 0.0.11
Using hana 1.3.7
Using hashie 5.0.0
Using highline 2.1.0
Using hkdf 1.0.0
Using http_accept_language 2.1.1
Fetching image_size 3.2.0
Using htmlentities 4.3.4
Using in_threads 1.6.0
Using progress 3.6.0
Using json 2.6.3
Fetching uri_template 0.7.0
Installing uri_template 0.7.0
Installing image_size 3.2.0
Fetching jwt 2.6.0
Installing jwt 2.6.0
Using kgio 2.11.4
Fetching libv8-node 16.10.0.0 (x86_64-linux)
Using method_source 1.0.0
Fetching thor 1.2.1
Installing thor 1.2.1
Fetching zeitwerk 2.6.6
Installing zeitwerk 2.6.6
Using logstash-event 1.2.02
Fetching logster 2.11.3
Installing logster 2.11.3
Using lru_redux 1.1.0
Using lz4-ruby 0.3.3
Using maxminddb 0.1.22
Using memory_profiler 1.0.1
Fetching redis 4.8.0
Installing redis 4.8.0
Using mini_sql 1.4.0
Using multi_json 1.15.0
Using multi_xml 0.6.0
Using mustache 1.1.1
Using uri 0.12.2
Fetching nio4r 2.5.8
Installing nio4r 2.5.8 with native extensions
Installing libv8-node 16.10.0.0 (x86_64-linux)
Fetching version_gem 1.1.1
Installing version_gem 1.1.1
Fetching oj 3.13.14
Installing oj 3.13.14 with native extensions
Using optimist 3.0.1
Fetching pg 1.4.5
Installing pg 1.4.5 with native extensions
Fetching r2 0.2.7
Installing r2 0.2.7
Fetching raindrops 0.20.0
Installing raindrops 0.20.0 with native extensions
Using rchardet 1.8.0
Using rexml 3.2.5
Using rinku 2.0.6
Using rotp 6.2.2
Using rqrcode_core 1.2.0
Using rubyzip 2.3.2
Fetching tilt 2.0.11
Installing tilt 2.0.11
Using sshkey 2.0.0
Fetching stackprof 0.2.23
Installing stackprof 0.2.23 with native extensions
Using unf_ext 0.0.8.2
Using webrick 1.7.0
Fetching xorcist 1.1.3
Installing xorcist 1.1.3 with native extensions
Fetching nokogiri 1.14.2 (x86_64-linux)
Installing nokogiri 1.14.2 (x86_64-linux)
Using mail 2.8.0.edge from https://github.com/discourse/mail.git (at main@5b700fc)
Using net-protocol 0.2.1
Fetching addressable 2.8.1
Installing addressable 2.8.1
Using aws-sigv4 1.5.0
Fetching rack-test 2.0.2
Installing rack-test 2.0.2
Using request_store 1.5.1
Fetching message_bus 4.3.1
Installing message_bus 4.3.1
Fetching rack-mini-profiler 3.0.0
Installing rack-mini-profiler 3.0.0
Fetching rack-protection 3.0.5
Installing rack-protection 3.0.5
Fetching i18n 1.12.0
Installing i18n 1.12.0
Fetching tzinfo 2.0.5
Installing tzinfo 2.0.5
Fetching sprockets 3.7.2
Installing sprockets 3.7.2
Fetching ecma-re-validator 0.4.0
Installing ecma-re-validator 0.4.0
Using uglifier 4.2.0
Fetching faraday 2.7.2
Installing faraday 2.7.2
Using mini_suffix 0.3.3
Fetching sassc 2.0.1
Installing sassc 2.0.1 with native extensions
Using omniauth 1.9.2
Fetching image_optim 0.31.2
Installing image_optim 0.31.2
Using pry 0.14.2
Using logstash-logger 0.26.1
Fetching sidekiq 6.5.8
Installing sidekiq 6.5.8
Fetching redis-namespace 1.9.0
Installing redis-namespace 1.9.0
Using net-http 0.3.2
Fetching mini_racer 0.6.3
Installing mini_racer 0.6.3 with native extensions
Using oauth-tty 1.0.5
Using snaky_hash 2.0.1
Fetching bootsnap 1.15.0
Installing bootsnap 1.15.0 with native extensions
Using rbtrace 0.4.14
Fetching puma 6.0.2
Installing puma 6.0.2 with native extensions
Fetching rqrcode 2.1.2
Installing rqrcode 2.1.2
Using rss 0.2.9
Using unf 0.1.4
Fetching loofah 2.19.1
Installing loofah 2.19.1
Using ruby-readability 0.7.0
Fetching sanitize 6.0.0
Installing sanitize 6.0.0
Fetching net-imap 0.3.1
Installing net-imap 0.3.1
Using net-pop 0.1.2
Using net-smtp 0.3.3
Fetching css_parser 1.13.0
Installing css_parser 1.13.0
Using aws-sdk-core 3.130.2
Fetching activesupport 7.0.4.3
Installing activesupport 7.0.4.3
Fetching json_schemer 0.2.23
Installing json_schemer 0.2.23
Fetching faraday-retry 2.0.0
Installing faraday-retry 2.0.0
Using oauth2 1.4.11
Using pry-byebug 3.10.1
Using pry-rails 0.3.9
Fetching mini_scheduler 0.15.0
Installing mini_scheduler 0.15.0
Using unicorn 6.1.0
Using oauth 1.1.0
Fetching rails-html-sanitizer 1.5.0
Installing rails-html-sanitizer 1.5.0
Using aws-sdk-kms 1.56.0
Using aws-sdk-sns 1.53.0
Fetching rails-dom-testing 2.0.3
Installing rails-dom-testing 2.0.3
Fetching globalid 1.0.1
Installing globalid 1.0.1
Fetching activemodel 7.0.4.3
Installing activemodel 7.0.4.3
Using omniauth-oauth2 1.7.3
Using omniauth-oauth 1.2.0
Using aws-sdk-s3 1.114.0
Fetching actionview 7.0.4.3
Installing actionview 7.0.4.3
Fetching activejob 7.0.4.3
Installing activejob 7.0.4.3
Using active_model_serializers 0.8.4
Fetching activerecord 7.0.4.3
Installing activerecord 7.0.4.3
Using omniauth-facebook 9.0.0
Using omniauth-github 1.4.0
Using omniauth-google-oauth2 0.8.2
Using omniauth-twitter 1.4.0
Fetching actionpack 7.0.4.3
Installing actionpack 7.0.4.3
Using actionview_precompiler 0.2.3
Using discourse-seed-fu 2.3.12
Fetching actionmailer 7.0.4.3
Installing actionmailer 7.0.4.3
Fetching railties 7.0.4.3
Installing railties 7.0.4.3
Using sprockets-rails 3.4.2
Using lograge 0.12.0
Fetching rails_failover 0.8.1
Fetching rails_multisite 4.0.1
Installing rails_multisite 4.0.1
Installing rails_failover 0.8.1
Fetching openssl-signature_algorithm 1.2.1
Using web-push 3.0.0
Installing openssl-signature_algorithm 1.2.1
Using cose 1.3.0
Fetching sassc-rails 2.1.2
Installing sassc-rails 2.1.2
Bundle complete! 135 Gemfile dependencies, 171 gems now installed.
Gems in the groups 'development' and 'test' were not installed.
Bundled gems are installed into `./vendor/bundle`
Post-install message from image_optim:
Rails image assets optimization is extracted into image_optim_rails gem
You can safely remove `config.assets.image_optim = false` if you are not going to use that gem

I, [2023-07-04T08:40:20.585621 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'LOAD_PLUGINS=0 bundle exec rake plugin:pull_compatible_all'
I, [2023-07-04T08:40:24.327439 #1]  INFO -- : checking out compatible docker_manager version: 1b2d7eb0369155b6442b09adfb17b8942c04b093
HEAD is now at 1b2d7eb Bump minimal versions

I, [2023-07-04T08:40:24.327817 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'
102:M 04 Jul 2023 08:40:28.803 * 100 changes in 300 seconds. Saving...
102:M 04 Jul 2023 08:40:28.804 * Background saving started by pid 2319
2319:C 04 Jul 2023 08:40:29.127 * DB saved on disk
2319:C 04 Jul 2023 08:40:29.128 * Fork CoW for RDB: current 1 MB, peak 1 MB, average 1 MB
102:M 04 Jul 2023 08:40:29.210 * Background saving terminated with success
I, [2023-07-04T08:40:29.966284 #1]  INFO -- :
I, [2023-07-04T08:40:29.967083 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake themes:update assets:precompile'
- Building
- Building
- building...
- cleaning up
- cleaning up
Build Error (broccoli-persistent-filter:Babel > [Babel: @ember/test-helpers]) in @ember/test-helpers/-internal/build-registry.js

[BABEL]: --- PLACEHOLDER PACKAGE ---
This @babel/plugin-proposal-private-property-in-object version is not meant to
be imported. Something is importing
@babel/plugin-proposal-private-property-in-object without declaring it in its
dependencies (or devDependencies) in the package.json file.
Add "@babel/plugin-proposal-private-property-in-object" to your devDependencies
to work around this error. This will make this message go away.
 (While processing: /var/www/discourse/app/assets/javascripts/node_modules/@babel/preset-env/lib/index.js)Error: [BABEL]: --- PLACEHOLDER PACKAGE ---
This @babel/plugin-proposal-private-property-in-object version is not meant to
be imported. Something is importing
@babel/plugin-proposal-private-property-in-object without declaring it in its
dependencies (or devDependencies) in the package.json file.
Add "@babel/plugin-proposal-private-property-in-object" to your devDependencies
to work around this error. This will make this message go away.
 (While processing: /var/www/discourse/app/assets/javascripts/node_modules/@babel/preset-env/lib/index.js)
    at Object.<anonymous> (/var/www/discourse/app/assets/javascripts/node_modules/@babel/preset-env/node_modules/@babel/plugin-proposal-private-property-in-object/lib/index.js:28:7)
    at Module._compile (node:internal/modules/cjs/loader:1256:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1310:10)
    at Module.load (node:internal/modules/cjs/loader:1119:32)
    at Module._load (node:internal/modules/cjs/loader:960:12)
    at Module.require (node:internal/modules/cjs/loader:1143:19)
    at require (node:internal/modules/cjs/helpers:110:18)
    at Object.<anonymous> (/var/www/discourse/app/assets/javascripts/node_modules/@babel/preset-env/lib/available-plugins.js:62:46)
    at Module._compile (node:internal/modules/cjs/loader:1256:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1310:10)
    at Module.load (node:internal/modules/cjs/loader:1119:32)
    at Module._load (node:internal/modules/cjs/loader:960:12)
    at Module.require (node:internal/modules/cjs/loader:1143:19)
    at require (node:internal/modules/cjs/helpers:110:18)
    at Object.<anonymous> (/var/www/discourse/app/assets/javascripts/node_modules/@babel/preset-env/lib/filter-items.js:11:25)
    at Module._compile (node:internal/modules/cjs/loader:1256:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1310:10)
    at Module.load (node:internal/modules/cjs/loader:1119:32)
    at Module._load (node:internal/modules/cjs/loader:960:12)
    at Module.require (node:internal/modules/cjs/loader:1143:19)
    at require (node:internal/modules/cjs/helpers:110:18)
    at Object.<anonymous> (/var/www/discourse/app/assets/javascripts/node_modules/@babel/preset-env/lib/index.js:16:20)
    at Module._compile (node:internal/modules/cjs/loader:1256:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1310:10)
    at Module.load (node:internal/modules/cjs/loader:1119:32)
    at Module._load (node:internal/modules/cjs/loader:960:12)
    at Module.require (node:internal/modules/cjs/loader:1143:19)
    at require (node:internal/modules/cjs/helpers:110:18)


Stack Trace and Error Report: /tmp/error.dump.62bb2ff34bdbec58308fd7d5b2fab0f6.log
error Command failed with exit code 1.
I, [2023-07-04T08:40:44.826892 #1]  INFO -- : Checking 'Video Upload' for 'default'... up to date
yarn run v1.22.19
$ /var/www/discourse/app/assets/javascripts/node_modules/.bin/ember build -prod
WARNING: Node v18.16.1 is not tested against Ember CLI on your platform. We recommend that you use the most-recent "Active LTS" version of Node.js. See https://git.io/v7S5n for details.
Environment: production
cleaning up...
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

I, [2023-07-04T08:40:44.827572 #1]  INFO -- : Terminating async processes
I, [2023-07-04T08:40:44.827621 #1]  INFO -- : Sending INT to HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/13/bin/postmaster -D /etc/postgresql/13/main pid: 41
I, [2023-07-04T08:40:44.827734 #1]  INFO -- : Sending TERM to exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 102
102:signal-handler (1688460044) Received SIGTERM scheduling shutdown...
2023-07-04 08:40:44.827 UTC [41] LOG:  received fast shutdown request
102:M 04 Jul 2023 08:40:44.856 # User requested shutdown...
102:M 04 Jul 2023 08:40:44.856 * Saving the final RDB snapshot before exiting.
2023-07-04 08:40:44.883 UTC [41] LOG:  aborting any active transactions
2023-07-04 08:40:44.886 UTC [41] LOG:  background worker "logical replication launcher" (PID 50) exited with exit code 1
2023-07-04 08:40:44.887 UTC [45] LOG:  shutting down
102:M 04 Jul 2023 08:40:44.978 * DB saved on disk
102:M 04 Jul 2023 08:40:44.978 # Redis is now ready to exit, bye bye...
2023-07-04 08:40:45.023 UTC [41] LOG:  database system is shut down


FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake themes:update assets:precompile' failed with return #<Process::Status: pid 2320 exit 1>
Location of failure: /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"assets_precompile", "cmd"=>["su discourse -c 'bundle exec rake themes:update assets:precompile'"]}
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.
64eb105c2de1517c880ea75102bf870c657542c35141dbec0fca357d33911198
==================== END REBUILD LOG ====================
Failed to rebuild app.

Checking your domain name . . .

Connection to redacted succeeded.
You should probably remove any non-standard plugins and rebuild.
Attempting to restart existing container. . .
x86_64 arch detected.

starting up existing container
+ /usr/bin/docker start app
Error response from daemon: driver failed programming external connectivity on endpoint app (dc0e7be2e9a1b8644d73adf1e327236bdb49650ec05388fa81eb665e1ac1316f): Error starting userland proxy: listen tcp 0.0.0.0:443: listen: address already in use
Error: failed to start containers: app
Failed to restart the container.


==================== PLUGINS ====================
          - git clone https://github.com/discourse/docker_manager.git

No non-official plugins detected.

See https://github.com/discourse/discourse/blob/main/lib/plugin/metadata.rb for the official list.

========================================




Discourse version at redacted: NOT FOUND
Discourse version at localhost: NOT FOUND


==================== MEMORY INFORMATION ====================
RAM (MB): 3084

              total        used        free      shared  buff/cache   available
Mem:           3012         416        1648           6         947        2401
Swap:           511         117         394

==================== DISK SPACE CHECK ====================
---------- OS Disk Space ----------
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        26G   20G  5.1G  80% /

==================== DISK INFORMATION ====================
Disk /dev/vda: 26 GiB, 27917287424 bytes, 54525952 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: dos
Disk identifier: 0xf849ba6e

Device     Boot Start      End  Sectors Size Id Type
/dev/vda1        2048 54525951 54523904  26G 83 Linux

==================== 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) [redacted]: Sending mail to redacted. . .
Error response from daemon: Container 91601890406d42c06076f4468dfcc196af018179f6bc970a6983feb296ef00c5 is not running

Replacing: SMTP_PASSWORD
Replacing: LETSENCRYPT_ACCOUNT_EMAIL
Replacing: DEVELOPER_EMAILS
Replacing: DISCOURSE_DB_PASSWORD
Replacing: Sending mail to

==================== DONE! ====================

There’s only the default theme (I think, it’s weirdly named “Migrated from Site Text” and was created by system) with 3 additional components (Disco TOC, Sick - Gallery Component and Video Upload). I tried disabling these components and rebuilt, but got the same error.

Before my change in base_store.rb it did start the app but accessing the forum from a browser resulted in the Oops error 500, with the syntax error in the log.

With the change in base_store.rb the forum seems to be working fine. I just can’t rebuild it. The dashboard says I’m on the latest version: 3.0.4 (cec7c05dae). And when I click on the upgrade link it says I should upgrade using ssh. My /var/discourse is at commit 984d5495edfa8af028ab6809407af817d555125c which seems to be the most recent one, so it probably just says that because the app hasn’t been rebuilt on this commit.

出于好奇,您是如何通过浏览器界面安装插件的?

1 个赞

我认为我把插件和主题组件弄混了。只有主题组件是通过浏览器界面安装的。

2 个赞

啊——我认为这使得情况与通常略有不同,因为几乎所有的安装都运行 tests-passed。请参阅为什么 Discourse 默认总是安装“beta”版本?

2 个赞

感谢您报告此问题 @sigmike。Ruby 版本问题将通过重新构建来修复,因此我们的主要目标应该是让重新构建成功完成。

我在全新的 stable-branch 安装上重现了 Build Error。看起来 yarn(我们使用的 JS 包管理器)未能干净地将工作区从预安装的 ‘tests-passed’ 包降级到 stable 分支所需的版本。

中长期来看,我们的目标是放弃使用 yarn 作为包管理器。因此,目前我已在构建过程中添加了一个变通方法,该方法在为非 tests-passed 安装进行重新构建时将重置 node_modules 目录。如果您再次尝试重新构建,情况应该会好很多。

请告知我们结果!

9 个赞

这解决了重建问题,谢谢。

看起来 test-passed 版本实际上经过了更多的实战检验,而且重建也会更快,所以我可能会切换到那个版本。不过,该网站自 2016 年以来一直在 stable 版本上运行,没有出现问题。

5 个赞

IMO,使用稳定版应该可以在整个发布周期内坚持使用相同的基本映像,这是第一次(因为那一行需要 Ruby 3.2)使其成为不可能。

1 个赞

不幸的是,我们无法将基础镜像保持静态 6-12 个月。安装在 docker 镜像中的软件包会获得安全更新,我们必须将这些更新推广给稳定分支上的用户。

在此实例中,我们面临一个选择:是为稳定分支创建和维护一个完全独立的“Ruby 3.1”镜像,还是向后移植一些小的调整,以便稳定分支可以在最新镜像上运行。我们选择了后者,因为它工作量更少,风险也更低。这意味着每个人都在使用我们经过严格测试并在我们的托管上部署的相同镜像。

6 个赞