Erro de sintaxe no Ruby 3.2 em instalação padrão

Tive o mesmo erro que esta mensagem em uma instalação padrão durante uma atualização pelo navegador. O erro ocorreu durante as operações plugin:pull_compatible_all e multisite:migrate, e não durante a pré-compilação de ativos.

O erro:

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

O log completo da atualização copiado da interface do usuário no navegador:

********************************************************
*** Por favor, tenha paciência, as próximas etapas podem levar algum tempo ***
********************************************************
Reiniciando o Unicorn para liberar memória
Reiniciando o unicorn pid: 559
Aguardando o Unicorn recarregar.
Aguardando o Unicorn recarregar..
Aguardando o Unicorn recarregar...
Aguardando o Unicorn recarregar....
Aguardando o Unicorn recarregar.....
Aguardando o Unicorn recarregar......
Aguardando o Unicorn recarregar.......
Aguardando o Unicorn recarregar........
Parando 1(s) worker(s) do Unicorn para liberar memória
Parando a fila de jobs para recuperar memória, o pid do master é 15009
$ cd /var/www/discourse && git fetch --tags --force && git reset --hard HEAD@{upstream}
Usando openssl-signature_algorithm 1.2.1
Usando aws-sigv4 1.5.0
Usando faraday 2.7.2
Usando image_optim 0.31.2
Usando request_store 1.5.1
Usando logstash-logger 0.26.1
Usando message_bus 4.3.1
Usando mini_racer 0.6.3
Usando sidekiq 6.5.8
Usando mini_suffix 0.3.3
Usando oauth-tty 1.0.5
Usando snaky_hash 2.0.1
Usando omniauth 1.9.2
Usando pry 0.14.2
Usando puma 6.0.2
Usando rack-mini-profiler 3.0.0
Usando rack-protection 3.0.5
Usando rbtrace 0.4.14
Usando redis-namespace 1.9.0
Usando rqrcode 2.1.2
Usando rss 0.2.9
Usando sassc 2.0.1
Usando sprockets 3.7.2
Usando uglifier 4.2.0
Usando unf 0.1.4
Usando unicorn 6.1.0
Usando web-push 3.0.0
Usando loofah 2.19.1
Usando net-imap 0.3.1
Usando net-pop 0.1.2
Usando net-smtp 0.3.3
Usando cose 1.3.0
Usando css_parser 1.13.0
Usando ruby-readability 0.7.0
Usando sanitize 6.0.0
Usando ecma-re-validator 0.4.0
Usando activesupport 7.0.4.3
Usando rails-html-sanitizer 1.5.0
Usando globalid 1.0.1
Usando activemodel 7.0.4.3
Usando aws-sdk-core 3.130.2
Usando faraday-retry 2.0.0
Usando json_schemer 0.2.23
Usando mini_scheduler 0.15.0
Usando oauth 1.1.0
Usando oauth2 1.4.11
Usando pry-byebug 3.10.1
Usando pry-rails 0.3.9
Usando rails-dom-testing 2.0.3
Usando actionview 7.0.4.3
Usando activejob 7.0.4.3
Usando active_model_serializers 0.8.4
Usando activerecord 7.0.4.3
Usando aws-sdk-kms 1.56.0
Usando aws-sdk-sns 1.53.0
Usando omniauth-oauth2 1.7.3
Usando omniauth-oauth 1.2.0
Usando actionpack 7.0.4.3
Usando actionview_precompiler 0.2.3
Usando aws-sdk-s3 1.114.0
Usando discourse-seed-fu 2.3.12
Usando omniauth-facebook 9.0.0
Usando omniauth-github 1.4.0
Usando omniauth-google-oauth2 0.8.2
Usando omniauth-twitter 1.4.0
Usando railties 7.0.4.3
Usando sprockets-rails 3.4.2
Usando mail 2.8.0.edge from https://github.com/discourse/mail.git (at main@5b700fc)
Usando lograge 0.12.0
Usando rails_failover 0.8.1
Usando rails_multisite 4.0.1
Usando sassc-rails 2.1.2
Usando actionmailer 7.0.4.3
Instalando uri 0.12.2
Usando net-http 0.3.2
Bundle completo! 135 dependências do Gemfile, 171 gems agora instaladas.
Gems nos grupos 'test' e 'development' não foram instalados.
Gems agrupadas estão instaladas em `./vendor/bundle`
$ yarn install --production
yarn install v1.22.19
[1/5] Validando package.json...
[2/5] Resolvendo pacotes...
sucesso Já está atualizado.
$ 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] Resolvendo pacotes...
[2/4] Buscando pacotes...
[3/4] Vinculando dependências...
[4/4] Construindo novos pacotes...
sucesso Arquivo lock salvo.
Concluído em 8.84s.
Concluído em 9.31s.
$ LOAD_PLUGINS=0 bundle exec rake plugin:pull_compatible_all
rake aborted!
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>'
(Consulte o rastreamento completo executando a tarefa com --trace)
Não foi possível verificar as versões compatíveis dos plugins
$ SKIP_POST_DEPLOYMENT_MIGRATIONS=1 bundle exec rake multisite:migrate
rake aborted!
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>'
(Consulte o rastreamento completo executando a tarefa com --trace)
Docker Manager: FALHA NA ATUALIZAÇÃO
#<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>'
Iniciando 1(s) worker(s) do Unicorn que foram parados inicialmente

Executar a atualização pelo console (git pull && ./launcher rebuild app, conforme mencionado aqui) disparou outro erro, mas não tenho certeza de qual é a mensagem de erro relevante aqui:

I, [2023-07-04T08:08:49.261121 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake themes:update assets:precompile'
- Construindo
- Construindo
- construindo...
- limpando
- limpando
Erro de Build (broccoli-persistent-filter:Babel > [Babel: @ember/test-helpers]) em @ember/test-helpers/-internal/build-registry.js

[BABEL]: --- PACOTE DE MARCADOR ---
Esta versão do @babel/plugin-proposal-private-property-in-object não foi feita para
ser importada. Algo está importando
@babel/plugin-proposal-private-property-in-object sem declará-lo em suas
dependências (ou devDependencies) no arquivo package.json.
Adicione "@babel/plugin-proposal-private-property-in-object" às suas devDependencies
para contornar este erro. Isso fará com que esta mensagem desapareça.
 (Ao processar: /var/www/discourse/app/assets/javascripts/node_modules/@babel/preset-env/lib/index.js)Erro: [BABEL]: --- PACOTE DE MARCADOR ---
Esta versão do @babel/plugin-proposal-private-property-in-object não foi feita para
ser importada. Algo está importando
@babel/plugin-proposal-private-property-in-object sem declará-lo em suas
dependências (ou devDependencies) no arquivo package.json.
Adicione "@babel/plugin-proposal-private-property-in-object" às suas devDependencies
para contornar este erro. Isso fará com que esta mensagem desapareça.
 (Ao processar: /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)


Rastreamento de pilha e relatório de erro: /tmp/error.dump.5abe6326cd5a415063a7ad1c85649486.log
erro Comando falhou com código de saída 1.
I, [2023-07-04T08:09:05.088181 #1]  INFO -- : Verificando 'Video Upload' para 'default'... atualizado
yarn run v1.22.19
$ /var/www/discourse/app/assets/javascripts/node_modules/.bin/ember build -prod
AVISO: Node v18.16.1 não foi testado com o Ember CLI na sua plataforma. Recomendamos que você use a versão mais recente "Active LTS" do Node.js. Veja https://git.io/v7S5n para detalhes.
Ambiente: produção
limpando...
info Visite https://yarnpkg.com/en/docs/cli/run para documentação sobre este comando.

I, [2023-07-04T08:09:05.089002 #1]  INFO -- : Encerrando processos assíncronos
I, [2023-07-04T08:09:05.089274 #1]  INFO -- : Enviando INT para 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
103:signal-handler (1688458145) Recebeu SIGTERM agendando desligamento...
I, [2023-07-04T08:09:05.089522 #1]  INFO -- : Enviando TERM para exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 103
2023-07-04 08:09:05.089 UTC [42] LOG:  recebido pedido de desligamento rápido
103:M 04 Jul 2023 08:09:05.183 # Solicitação de desligamento pelo usuário...
103:M 04 Jul 2023 08:09:05.183 * Salvando o snapshot RDB final antes de sair.
2023-07-04 08:09:05.186 UTC [42] LOG:  abortando quaisquer transações ativas
2023-07-04 08:09:05.190 UTC [42] LOG:  worker em segundo plano "lançador de replicação lógica" (PID 51) saiu com código de saída 1
2023-07-04 08:09:05.190 UTC [46] LOG:  desligando
103:M 04 Jul 2023 08:09:05.388 * Banco de dados salvo no disco
103:M 04 Jul 2023 08:09:05.389 # Redis está pronto para sair, tchau tchau...
2023-07-04 08:09:05.431 UTC [42] LOG:  sistema de banco de dados desligado


FALHA
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake themes:update assets:precompile' falhou com retorno #<Process::Status: pid 2323 exit 1>
Localização da falha: /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec falhou com os parâmetros {"cd"=>"$home", "hook"=>"assets_precompile", "cmd"=>["su discourse -c 'bundle exec rake themes:update assets:precompile'"]}
bootstrap falhou com código de saída 1
** FALHA NO BOOTSTRAP ** por favor, role para cima e procure por mensagens de erro anteriores, pode haver mais de uma.
./discourse-doctor pode ajudar a diagnosticar o problema.
f1dc57af807a68bb877ce724ea4a3424c77d39250b8ee20cb022194938925ce8

Reverti para o commit que eu tinha antes do git pull (cdc5f905a2f245171b9f53fb76f4ba947389fc6b) e reconstruí novamente, obtendo o mesmo erro.

Tentei ./discourse-doctor e ele falhou no mesmo erro do babel. Ele disse que a instalação usa plugins não oficiais e sugere que eu os desative, mas como posso fazer isso sem um aplicativo funcional? Todos os plugins foram instalados pela interface do navegador, não no app.yaml.

Quando reinicio o aplicativo, recebo um Ops - Erro 500 no navegador. Quando entro no aplicativo, /var/www/discourse/log/production.log mostra o mesmo Erro de Sintaxe, e a versão do ruby é de fato 3.1 (ruby 3.1.3p185 (2022-11-24 revision 1a6b16756e) [x86_64-linux]).

O fórum está quebrado agora. Como posso corrigir a versão do ruby? Ou a reconstrução? Ou reverter para um aplicativo funcional?

Meu app.yml com os comentários removidos e os identificadores censurados:

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 "Início dos comandos personalizados"

  - exec: echo "Fim dos comandos personalizados"
  - exec: awk -F\# '{print $1;}' ~/.ssh/authorized_keys | awk 'BEGIN { print "Chaves SSH autorizadas para este container:"; } NF>=2 {print $NF;}'
1 curtida

É feriado nos EUA, então não é um bom momento para ter um problema… você pode compartilhar a saída do discourse-doctor?

Suspeito que talvez o docker-manager não tenha sido atualizado, mas é igualmente provável que você precise desativar seus plugins. Infelizmente, não sei como você faria isso, pois seu app.yml não parece conter nenhum outro além do docker_manager.

1 curtida

Talvez seja um erro no seu tema.

./launcher start app

Vai fazer seu site funcionar?

1 curtida

Enquanto isso, modifiquei /var/www/discourse/lib/file_store/base_store.rb diretamente dentro do contêiner para ser compatível com o Ruby 3.1 (mudei o * para *args e o ** para **kwargs), reiniciei o aplicativo e agora o fórum parece estar funcionando.

Verifiquei os plugins e, de fato, há apenas um ativado: docker_manager na versão 0.1. Existem outros dois desativados (chat e styleguide).

Aqui está o log do Discourse Doctor:

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"

Ocorreu um erro na minha atualização

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

Por favor, ajudem-me a corrigi-lo.

Existe apenas o tema padrão (acho que sim, tem um nome estranho “Migrado do Texto do Site” e foi criado pelo system) com 3 componentes adicionais (Disco TOC, Sick - Componente de Galeria e Upload de Vídeo). Tentei desativar esses componentes e reconstruir, mas obtive o mesmo erro.

Antes da minha alteração em base_store.rb, ele iniciava o aplicativo, mas acessar o fórum pelo navegador resultava no erro Oops 500, com o erro de sintaxe no log.

Com a alteração em base_store.rb, o fórum parece estar funcionando bem. Eu apenas não consigo reconstruí-lo. O painel diz que estou na versão mais recente: 3.0.4 (cec7c05dae). E quando clico no link de atualização, ele diz que devo atualizar usando SSH. Meu /var/discourse está no commit 984d5495edfa8af028ab6809407af817d555125c, que parece ser o mais recente, então provavelmente ele apenas diz isso porque o aplicativo não foi reconstruído neste commit.

Por curiosidade, como você está instalando plugins através da interface do navegador?

1 curtida

Acho que confundi plugins e componentes de tema. Apenas os componentes de tema foram instalados pela interface do navegador.

2 curtidas

Ah - isso torna as coisas um pouco diferentes do usual, eu acho, já que quase todas as instalações executam testes-passados. Veja Por que o Discourse sempre instala versões “beta” por padrão?

2 curtidas

Obrigado por relatar o problema, @sigmike. O problema da versão do Ruby será corrigido por uma reconstrução, então nosso principal objetivo aqui deve ser fazer com que a reconstrução seja concluída.

Consegui reproduzir o Erro de Compilação em uma instalação limpa do branch estável. Parece que o yarn (o gerenciador de pacotes JS que usamos) não está rebaixando de forma limpa o espaço de trabalho dos pacotes pré-instalados ‘tests-passed’ para as versões exigidas pelo branch estável.

A médio prazo, pretendemos abandonar o uso do yarn como gerenciador de pacotes. Portanto, por enquanto, adicionei uma solução alternativa ao processo de compilação que redefinirá o diretório node_modules ao fazer uma reconstrução para instalações que não sejam tests-passed. Se você tentar reconstruir novamente, as coisas devem funcionar muito melhor.

Avise-nos como foi!

9 curtidas

Isso corrigiu a reconstrução, obrigado.

Parece que a versão test-passed é, na verdade, mais testada em batalha, e as reconstruções também seriam mais rápidas, então provavelmente mudarei para essa. O site está rodando em stable desde 2016 sem problemas, no entanto.

5 curtidas

Na minha opinião, com o estável, deve ser possível manter a mesma imagem base para um ciclo de lançamento inteiro, esta é a primeira vez que isso foi impossibilitado (por causa dessa única linha que requer Ruby 3.2).

1 curtida

Infelizmente, não podemos manter a imagem base estática por 6 a 12 meses. Os pacotes instalados na imagem do docker recebem atualizações de segurança, e precisamos disponibilizá-las para as pessoas no branch estável.

Neste caso, tivemos a opção entre criar e manter uma imagem totalmente separada de ‘Ruby 3.1’ para o branch estável ou fazer backport de pequenas modificações para que o branch estável pudesse rodar na imagem mais recente. Escolhemos a segunda opção porque exigia menos trabalho e menos risco. Isso significa que todos estão usando a mesma imagem que testamos rigorosamente e implantamos em nossa hospedagem.

6 curtidas