Errore sulla sintassi di Ruby 3.2 su installazione standard

Ho riscontrato lo stesso errore di questo messaggio durante un’installazione standard in fase di aggiornamento dal browser. L’errore si è verificato durante le operazioni plugin:pull_compatible_all e multisite:migrate, non durante la precompilazione degli asset.

L’errore:

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

Il registro completo dell’aggiornamento copiato dall’interfaccia utente nel browser:

********************************************************
*** Si prega di attendere, i passaggi successivi potrebbero richiedere del tempo ***
********************************************************
Riavvio di Unicorn per liberare memoria
Riavvio di unicorn pid: 559
In attesa del ricaricamento di Unicorn.
In attesa del ricaricamento di Unicorn..
In attesa del ricaricamento di Unicorn...
In attesa del ricaricamento di Unicorn....
In attesa del ricaricamento di Unicorn.....
In attesa del ricaricamento di Unicorn......
In attesa del ricaricamento di Unicorn.......
In attesa del ricaricamento di Unicorn........
Arresto di 1 worker di Unicorn per liberare memoria
Arresto della coda dei job per recuperare memoria, master pid è 15009
$ cd /var/www/discourse && git fetch --tags --force && git reset --hard HEAD@{upstream}
Uso di openssl-signature_algorithm 1.2.1
Uso di aws-sigv4 1.5.0
Uso di faraday 2.7.2
Uso di image_optim 0.31.2
Uso di request_store 1.5.1
Uso di logstash-logger 0.26.1
Uso di message_bus 4.3.1
Uso di mini_racer 0.6.3
Uso di sidekiq 6.5.8
Uso di mini_suffix 0.3.3
Uso di oauth-tty 1.0.5
Uso di snaky_hash 2.0.1
Uso di omniauth 1.9.2
Uso di pry 0.14.2
Uso di puma 6.0.2
Uso di rack-mini-profiler 3.0.0
Uso di rack-protection 3.0.5
Uso di rbtrace 0.4.14
Uso di redis-namespace 1.9.0
Uso di rqrcode 2.1.2
Uso di rss 0.2.9
Uso di sassc 2.0.1
Uso di sprockets 3.7.2
Uso di uglifier 4.2.0
Uso di unf 0.1.4
Uso di unicorn 6.1.0
Uso di web-push 3.0.0
Uso di loofah 2.19.1
Uso di net-imap 0.3.1
Uso di net-pop 0.1.2
Uso di net-smtp 0.3.3
Uso di cose 1.3.0
Uso di css_parser 1.13.0
Uso di ruby-readability 0.7.0
Uso di sanitize 6.0.0
Uso di ecma-re-validator 0.4.0
Uso di activesupport 7.0.4.3
Uso di rails-html-sanitizer 1.5.0
Uso di globalid 1.0.1
Uso di activemodel 7.0.4.3
Uso di aws-sdk-core 3.130.2
Uso di faraday-retry 2.0.0
Uso di json_schemer 0.2.23
Uso di mini_scheduler 0.15.0
Uso di oauth 1.1.0
Uso di oauth2 1.4.11
Uso di pry-byebug 3.10.1
Uso di pry-rails 0.3.9
Uso di rails-dom-testing 2.0.3
Uso di actionview 7.0.4.3
Uso di activejob 7.0.4.3
Uso di active_model_serializers 0.8.4
Uso di activerecord 7.0.4.3
Uso di aws-sdk-kms 1.56.0
Uso di aws-sdk-sns 1.53.0
Uso di omniauth-oauth2 1.7.3
Uso di omniauth-oauth 1.2.0
Uso di actionpack 7.0.4.3
Uso di actionview_precompiler 0.2.3
Uso di aws-sdk-s3 1.114.0
Uso di discourse-seed-fu 2.3.12
Uso di omniauth-facebook 9.0.0
Uso di omniauth-github 1.4.0
Uso di omniauth-google-oauth2 0.8.2
Uso di omniauth-twitter 1.4.0
Uso di railties 7.0.4.3
Uso di sprockets-rails 3.4.2
Uso di mail 2.8.0.edge da https://github.com/discourse/mail.git (at main@5b700fc)
Uso di lograge 0.12.0
Uso di rails_failover 0.8.1
Uso di rails_multisite 4.0.1
Uso di sassc-rails 2.1.2
Uso di actionmailer 7.0.4.3
Installazione di uri 0.12.2
Uso di net-http 0.3.2
Bundle completo! 135 dipendenze del Gemfile, 171 gemme ora installate.
Le gemme nei gruppi 'test' e 'development' non sono state installate.
Le gemme del bundle sono installate in `./vendor/bundle`
$ yarn install --production
yarn install v1.22.19
[1/5] Validazione di package.json...
[2/5] Risoluzione dei pacchetti...
success Già aggiornato.
$ 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] Risoluzione dei pacchetti...
[2/4] Recupero dei pacchetti...
[3/4] Collegamento delle dipendenze...
[4/4] Costruzione di nuovi pacchetti...
success File lock salvato.
Completato in 8.84s.
Completato in 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>'
(Vedi la traccia completa eseguendo il task con --trace)
Impossibile controllare le versioni compatibili dei plugin
$ 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>'
(Vedi la traccia completa eseguendo il task con --trace)
Docker Manager: AGGIORNAMENTO FALLITO
#<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>'
Avvio di 1 worker di Unicorn che era stato inizialmente arrestato

Eseguendo l’aggiornamento dalla console (git pull && ./launcher rebuild app, come menzionato qui) si è verificato un altro errore, ma non sono sicuro di quale sia il messaggio di errore rilevante qui:

I, [2023-07-04T08:08:49.261121 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake themes:update assets:precompile'
- Costruzione
- Costruzione
- costruzione...
- pulizia
- pulizia
Errore di costruzione (broccoli-persistent-filter:Babel > [Babel: @ember/test-helpers]) in @ember/test-helpers/-internal/build-registry.js

[BABEL]: --- PACCHETTO SEGNALETICO ---
Questa versione di @babel/plugin-proposal-private-property-in-object non è destinata
all'importazione. Qualcosa sta importando
@babel/plugin-proposal-private-property-in-object senza dichiararlo nelle sue
dipendenze (o devDependencies) nel file package.json.
Aggiungi "@babel/plugin-proposal-private-property-in-object" alle tue devDependencies
per aggirare questo errore. Questo farà scomparire questo messaggio.
 (Mentre si processava: /var/www/discourse/app/assets/javascripts/node_modules/@babel/preset-env/lib/index.js)Errore: [BABEL]: --- PACCHETTO SEGNALETICO ---
Questa versione di @babel/plugin-proposal-private-property-in-object non è destinata
all'importazione. Qualcosa sta importando
@babel/plugin-proposal-private-property-in-object senza dichiararlo nelle sue
dipendenze (o devDependencies) nel file package.json.
Aggiungi "@babel/plugin-proposal-private-property-in-object" alle tue devDependencies
per aggirare questo errore. Questo farà scomparire questo messaggio.
 (Mentre si processava: /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)


Traccia dello stack e rapporto dell'errore: /tmp/error.dump.5abe6326cd5a415063a7ad1c85649486.log
errore Comando fallito con codice di uscita 1.
I, [2023-07-04T08:09:05.088181 #1]  INFO -- : Controllo di 'Video Upload' per 'default'... aggiornato
yarn run v1.22.19
$ /var/www/discourse/app/assets/javascripts/node_modules/.bin/ember build -prod
AVVISO: Node v18.16.1 non è stato testato con Ember CLI sulla tua piattaforma. Si consiglia di utilizzare la versione più recente "Active LTS" di Node.js. Vedi https://git.io/v7S5n per i dettagli.
Ambiente: produzione
pulizia in corso...
info Visita https://yarnpkg.com/en/docs/cli/run per documentazione su questo comando.

I, [2023-07-04T08:09:05.089002 #1]  INFO -- : Terminazione dei processi asincroni
I, [2023-07-04T08:09:05.089274 #1]  INFO -- : Invio di INT a 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) SIGTERM ricevuto, pianificazione dello spegnimento...
I, [2023-07-04T08:09:05.089522 #1]  INFO -- : Invio di TERM a 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:  richiesta di spegnimento rapido ricevuta
103:M 04 Jul 2023 08:09:05.183 # Shutdown richiesto dall'utente...
103:M 04 Jul 2023 08:09:05.183 * Salvataggio dell'ultimo snapshot RDB prima dell'uscita.
2023-07-04 08:09:05.186 UTC [42] LOG:  annullamento di eventuali transazioni attive
2023-07-04 08:09:05.190 UTC [42] LOG:  worker in background "logical replication launcher" (PID 51) uscito con codice di uscita 1
2023-07-04 08:09:05.190 UTC [46] LOG:  spegnimento in corso
103:M 04 Jul 2023 08:09:05.388 * DB salvato su disco
103:M 04 Jul 2023 08:09:05.389 # Redis è ora pronto ad uscire, arrivederci...
2023-07-04 08:09:05.431 UTC [42] LOG:  sistema di database spento


FALLITO
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake themes:update assets:precompile' fallito con ritorno #<Process::Status: pid 2323 exit 1>
Posizione del fallimento: /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec fallito con i parametri {"cd"=>"$home", "hook"=>"assets_precompile", "cmd"=>["su discourse -c 'bundle exec rake themes:update assets:precompile'"]}
bootstrap fallito con codice di uscita 1
** BOOTSTRAP FALLITO ** si prega di scorrere verso l'alto e cercare messaggi di errore precedenti, potrebbero essercene più di uno.
./discourse-doctor potrebbe aiutare a diagnosticare il problema.
f1dc57af807a68bb877ce724ea4a3424c77d39250b8ee20cb022194938925ce8

Ho ripristinato il commit precedente al git pull (cdc5f905a2f245171b9f53fb76f4ba947389fc6b) e ho ricostruito di nuovo ottenendo lo stesso errore.

Ho provato ./discourse-doctor ed è fallito con lo stesso errore babel. Ha detto che l’installazione utilizza plugin non ufficiali e suggerisce di disattivarli, ma come posso farlo senza un’app funzionante? Tutti i plugin sono stati installati dall’interfaccia del browser, non in app.yaml.

Quando riavvio l’app ricevo un Oops - Errore 500 nel browser. Quando accedo all’app, /var/www/discourse/log/production.log mostra lo stesso errore di sintassi, e la versione di ruby è effettivamente 3.1 (ruby 3.1.3p185 (2022-11-24 revision 1a6b16756e) [x86_64-linux]).

Il forum è ora rotto. Come posso risolvere la versione di ruby? O la ricostruzione? O tornare a un’app funzionante?

Il mio app.yml con i commenti rimossi e gli identificatori oscurati:

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: 'oscurato'
  DISCOURSE_HOSTNAME: 'oscurato'
  DISCOURSE_SMTP_ADDRESS: "oscurato"
  DISCOURSE_SMTP_PORT: 25
  DISCOURSE_SMTP_USER_NAME: "oscurato"
  DISCOURSE_SMTP_PASSWORD: "oscurato"
  DISCOURSE_SMTP_ENABLE_START_TLS: true
  LETSENCRYPT_ACCOUNT_EMAIL: "oscurato"
  DISCOURSE_MAXMIND_LICENSE_KEY: "oscurato"
  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 "Inizio dei comandi personalizzati"

  - exec: echo "Fine dei comandi personalizzati"
  - exec: awk -F\# '{print $1;}' ~/.ssh/authorized_keys | awk 'BEGIN { print "Chiavi SSH autorizzate per questo contenitore:"; } NF>=2 {print $NF;}'
1 Mi Piace

È un giorno festivo negli Stati Uniti, quindi non è un buon momento per avere un problema… potresti per favore condividere l’output di discourse-doctor?

Sospetto che forse docker-manager non si sia aggiornato, ma è altrettanto probabile che tu debba disabilitare i tuoi plugin. Sfortunatamente non so come faresti, dato che la tua app.yml non sembra contenere altro oltre a docker_manager.

1 Mi Piace

Forse è un errore nel tuo tema.

./launcher start app

Farà ripartire il tuo sito?

1 Mi Piace

Nel frattempo ho modificato /var/www/discourse/lib/file_store/base_store.rb direttamente all’interno del container per renderlo compatibile con Ruby 3.1 (ho cambiato * in *args e ** in **kwargs), riavviato l’app e ora il forum sembra funzionare.

Ho controllato i plugin e in realtà c’è solo uno abilitato: docker_manager alla versione 0.1. Ce ne sono altri due disabilitati (chat e styleguide).

Ecco il log del 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" # (obbligatorio)
DEVELOPER_EMAILS=redacted
SMTP_PASSWORD="redacted" # (opzionale)
SMTP_PORT=25 # (opzionale)
SMTP_USER_NAME="redacted" # (opzionale)
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"

Si è verificato un errore durante il mio aggiornamento

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

Per favore aiutami a correggerlo.

Siamo molto lieti che tu sia qui! Vuoi gestire il tuo server Minecraft? Clicca semplicemente sul pulsante “Inizia” qui sotto — è facile.

Egli propose una cosiddetta architettura pulita per il nuovo servizio. Ma pulito non significa sempre semplice.

C’è stato un errore nel mio aggiornamento

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

Per favore aiutami a correggerlo.

C’è solo il tema predefinito (penso, è stranamente chiamato “Migrated from Site Text” ed è stato creato da system) con 3 componenti aggiuntivi (Disco TOC, Sick - Gallery Component e Video Upload). Ho provato a disabilitare questi componenti e a ricostruire, ma ho ottenuto lo stesso errore.

Prima della mia modifica in base_store.rb ha avviato l’app ma l’accesso al forum da un browser ha prodotto l’erroopps 500, con l’errore di sintassi nel log.

Con la modifica in base_store.rb il forum sembra funzionare bene. Non riesco solo a ricostruirlo. La dashboard dice che sono sull’ultima versione: 3.0.4 (cec7c05dae). E quando clicco sul link di aggiornamento dice che dovrei aggiornare usando ssh. Il mio /var/discourse è al commit 984d5495edfa8af028ab6809407af817d555125c che sembra essere il più recente, quindi probabilmente dice solo questo perché l’app non è stata ricostruita su questo commit.

Per curiosità, come stai installando i plugin tramite l’interfaccia del browser?

1 Mi Piace

Penso di aver confuso i plugin e i componenti del tema. Solo i componenti del tema sono stati installati tramite l’interfaccia del browser.

2 Mi Piace

Ah, questo rende le cose leggermente diverse dal solito, credo, poiché quasi tutte le installazioni eseguono test-passed. Vedi Perché Discourse installa sempre le versioni “beta” per impostazione predefinita?

2 Mi Piace

Grazie per aver segnalato il problema @sigmike. Il problema della versione ruby verrà risolto con una ricostruzione, quindi il nostro obiettivo principale qui dovrebbe essere quello di far completare la ricostruzione.

Sono stato in grado di riprodurre l’Errore di compilazione su una nuova installazione del ramo stabile. Sembra che yarn (il gestore di pacchetti JS che utilizziamo) non stia eseguendo correttamente il downgrade dell’area di lavoro dai pacchetti preinstallati ‘tests-passed’ alle versioni richieste dal ramo stabile.

A medio termine miriamo a passare dall’uso di yarn come gestore di pacchetti. Quindi, per ora, ho aggiunto una soluzione temporanea al processo di compilazione che ripristinerà la directory node_modules quando si esegue una ricostruzione per installazioni non tests-passed. Se provi a ricostruire di nuovo, le cose dovrebbero funzionare molto meglio.

Fateci sapere come va!

9 Mi Piace

Questo ha risolto la ricompilazione, grazie.

Sembra che la versione test-passed sia in realtà più collaudata e anche le ricompilazioni sarebbero più veloci, quindi probabilmente passerò a quella. Il sito è in esecuzione su stable dal 2016 senza problemi.

5 Mi Piace

IMO con stabile dovrebbe essere possibile attenersi alla stessa immagine di base per un intero ciclo di rilascio, questa è la prima volta che ciò è stato reso impossibile (a causa di quella singola riga che richiede Ruby 3.2).

1 Mi Piace

Sfortunatamente non possiamo mantenere l’immagine di base statica per 6-12 mesi. I pacchetti installati nell’immagine docker ricevono aggiornamenti di sicurezza e dobbiamo distribuirli alle persone sul ramo stabile.

In questo caso, abbiamo avuto la possibilità di creare e mantenere un’immagine ‘Ruby 3.1’ completamente separata per il ramo stabile, oppure di eseguire il backporting di piccole modifiche in modo che il ramo stabile potesse essere eseguito sull’ultima immagine. Abbiamo scelto quest’ultima opzione perché comportava meno lavoro e meno rischi. Ciò significa che tutti utilizzano la stessa immagine che testiamo e distribuiamo rigorosamente sul nostro hosting.

6 Mi Piace