Il nostro container Discourse va ricostruito?

Ho appena ricevuto questo errore mentre provavo ad aggiornare un forum tramite l’interfaccia web utilizzando il plugin docker_manager. È necessario ricompilare il container?

********************************************************
*** Si prega di attendere, i prossimi passaggi potrebbero richiedere del tempo ***
********************************************************
Riavvio di Unicorn per liberare memoria
Riavvio di unicorn pid: 591637
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........
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.............
Uso di rails_multisite 5.0.0
Uso di raindrops 0.20.1
Uso di rbtrace 0.4.14
Uso di rchardet 1.8.0
Uso di redis-namespace 1.11.0
Uso di rexml 3.2.6
Uso di rinku 2.0.6
Uso di rotp 6.2.2
Uso di rqrcode_core 1.2.0
Uso di rqrcode 2.2.0
Uso di rss 0.3.0
Uso di rtlcss 0.2.1
Uso di ruby-readability 0.7.0
Uso di rubyzip 2.3.2
Uso di sanitize 6.0.2
Uso di sshkey 3.0.0
Uso di stackprof 0.2.25
Uso di tzinfo-data 1.2023.3
Uso di uglifier 4.2.0
Uso di unicorn 6.1.0
Uso di web-push 3.0.0
Bundle completo! 136 dipendenze del Gemfile, 172 gemme ora installate.
Le gemme nei gruppi 'development' e 'test' non sono state installate.
Le gemme del bundle sono installate in `./vendor/bundle`
$ yarn install
yarn install v1.22.19
[1/5] Validazione di package.json...
[2/5] Risoluzione dei pacchetti...
successo Già aggiornato.
$ yarn --cwd app/assets/javascripts $(node -e 'const argv = JSON.parse(process.env.npm_config_argv).original; const passthrough = [`--frozen-lockfile`, `-s`].filter(arg => argv.includes(arg)); console.log(passthrough.join(` `));')
yarn install v1.22.19
[1/4] Risoluzione dei pacchetti...
avviso Il campo di risoluzione "unset-value@2.0.1" è incompatibile con la versione richiesta "unset-value@^1.0.0"
successo Già aggiornato.
$ patch-package
patch-package 8.0.0
Applicazione delle patch...
@ember/jquery@2.0.0 ✔
ember-source@3.28.12 ✔
virtual-dom@2.1.1 ✔
Completato in 1.86s.
Completato in 2.61s.
$ LOAD_PLUGINS=0 bundle exec rake plugin:pull_compatible_all
discourse-activity-pub è già all'ultima versione compatibile
discourse-affiliate è già all'ultima versione compatibile
discourse-ai è già all'ultima versione compatibile
discourse-akismet è già all'ultima versione compatibile
discourse-apple-auth è già all'ultima versione compatibile
discourse-assign è già all'ultima versione compatibile
discourse-automation è già all'ultima versione compatibile
discourse-cakeday è già all'ultima versione compatibile
discourse-calendar è già all'ultima versione compatibile
discourse-chatbot è già all'ultima versione compatibile
discourse-data-explorer è già all'ultima versione compatibile
discourse-docs è già all'ultima versione compatibile
discourse-footnote è già all'ultima versione compatibile
discourse-gamification è già all'ultima versione compatibile
discourse-github è già all'ultima versione compatibile
discourse-linkedin-auth è già all'ultima versione compatibile
discourse-login-with-amazon è già all'ultima versione compatibile
discourse-math è già all'ultima versione compatibile
discourse-microsoft-auth è già all'ultima versione compatibile
discourse-patreon è già all'ultima versione compatibile
discourse-reactions è già all'ultima versione compatibile
discourse-rss-polling è già all'ultima versione compatibile
discourse-shared-edits è già all'ultima versione compatibile
discourse-solved è già all'ultima versione compatibile
discourse-spoiler-alert è già all'ultima versione compatibile
discourse-subscriptions è già all'ultima versione compatibile
discourse-templates è già all'ultima versione compatibile
discourse-user-notes è già all'ultima versione compatibile
discourse-voting è già all'ultima versione compatibile
discourse-whos-online è già all'ultima versione compatibile
discourse-yearly-review è già all'ultima versione compatibile
docker_manager è già all'ultima versione compatibile
$ SKIP_POST_DEPLOYMENT_MIGRATIONS=1 bundle exec rake multisite:migrate
Il nome del plugin è 'discourse-topic-voting', ma la directory del plugin è denominata 'discourse-voting'

--------------------------------------------------------------------------------
1 migrazione fallita!

Migrazione del sito predefinito fallita
#<StandardError:"Si è verificato un errore, questa e tutte le migrazioni successive sono state annullate:\n\nERRORE: la transazione corrente è abortita, i comandi verranno ignorati fino alla fine del blocco di transazione\n">
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/rack-mini-profiler-3.1.1/lib/patches/db/pg.rb:110:in `exec'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/rack-mini-profiler-3.1.1/lib/patches/db/pg.rb:110:in `async_exec'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/mini_sql-1.5.0/lib/mini_sql/postgres/connection.rb:202:in `run'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/mini_sql-1.5.0/lib/mini_sql/active_record_postgres/connection.rb:38:in `block in run'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/mini_sql-1.5.0/lib/mini_sql/active_record_postgres/connection.rb:34:in `block in with_lock'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activesupport-7.0.7/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `handle_interrupt'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activesupport-7.0.7/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `block in synchronize'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activesupport-7.0.7/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `handle_interrupt'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activesupport-7.0.7/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `synchronize'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/mini_sql-1.5.0/lib/mini_sql/active_record_postgres/connection.rb:34:in `with_lock'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/mini_sql-1.5.0/lib/mini_sql/active_record_postgres/connection.rb:38:in `run'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/mini_sql-1.5.0/lib/mini_sql/postgres/connection.rb:64:in `query_single'
/var/www/discourse/plugins/discourse-chatbot/db/migrate/20230820010101_enable_embedding_extension.rb:8:in `rescue in change'
/var/www/discourse/plugins/discourse-chatbot/db/migrate/20230820010101_enable_embedding_extension.rb:4:in `change'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.7/lib/active_record/migration.rb:870:in `exec_migration'
/var/www/discourse/lib/freedom_patches/schema_migration_details.rb:8:in `block in exec_migration'
/usr/local/lib/ruby/3.2.0/benchmark.rb:296:in `measure'
/var/www/discourse/lib/freedom_patches/schema_migration_details.rb:8:in `exec_migration'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.7/lib/active_record/migration.rb:854:in `block (2 levels) in migrate'
/usr/local/lib/ruby/3.2.0/benchmark.rb:296:in `measure'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.7/lib/active_record/migration.rb:853:in `block in migrate'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.7/lib/active_record/connection_adapters/abstract/connection_pool.rb:215:in `with_connection'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.7/lib/active_record/migration.rb:852:in `migrate'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.7/lib/active_record/migration.rb:1046:in `migrate'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.7/lib/active_record/migration.rb:1360:in `block in execute_migration_in_transaction'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.7/lib/active_record/connection_adapters/abstract/transaction.rb:319:in `block in within_new_transaction'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activesupport-7.0.7/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `handle_interrupt'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activesupport-7.0.7/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `block in synchronize'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activesupport-7.0.7/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `handle_interrupt'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activesupport-7.0.7/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `synchronize'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.7/lib/active_record/connection_adapters/abstract/transaction.rb:317:in `within_new_transaction'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.7/lib/active_record/connection_adapters/abstract/database_statements.rb:316:in `transaction'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.7/lib/active_record/transactions.rb:209:in `transaction'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.7/lib/active_record/migration.rb:1411:in `ddl_transaction'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.7/lib/active_record/migration.rb:1359:in `execute_migration_in_transaction'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.7/lib/active_record/migration.rb:1333:in `each'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.7/lib/active_record/migration.rb:1333:in `migrate_without_lock'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.7/lib/active_record/migration.rb:1282:in `block in migrate'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.7/lib/active_record/migration.rb:1432:in `block in with_advisory_lock'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.7/lib/active_record/connection_adapters/abstract/connection_pool.rb:215:in `with_connection'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.7/lib/active_record/migration.rb:1447:in `with_advisory_lock_connection'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.7/lib/active_record/migration.rb:1428:in `with_advisory_lock'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.7/lib/active_record/migration.rb:1282:in `migrate'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.7/lib/active_record/migration.rb:1117:in `up'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.7/lib/active_record/migration.rb:1092:in `migrate'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.7/lib/active_record/tasks/database_tasks.rb:262:in `migrate'
/var/www/discourse/lib/tasks/db.rake:196:in `block (3 levels) in <main>'
/var/www/discourse/lib/tasks/db.rake:159:in `block (3 levels) in execute_concurrently'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/rails_multisite-5.0.0/lib/rails_multisite/connection_management.rb:82:in `with_connection'
/var/www/discourse/lib/tasks/db.rake:157:in `block (2 levels) in execute_concurrently'

Il migratore multisito è in esecuzione utilizzando 1 thread

Migrazione del sito predefinito
== 20230820010101 EnableEmbeddingExtension: in migrazione =========================
-- enable_extension(:embedding)
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:108: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.2.0/gems/railties-7.0.7/lib/rails/commands/runner/runner_command.rb:43:in `load'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/railties-7.0.7/lib/rails/commands/runner/runner_command.rb:43:in `perform'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/thor-1.2.2/lib/thor/command.rb:27:in `run'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/thor-1.2.2/lib/thor/invocation.rb:127:in `invoke_command'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/thor-1.2.2/lib/thor.rb:392:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/railties-7.0.7/lib/rails/command/base.rb:87:in `perform'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/railties-7.0.7/lib/rails/command.rb:48:in `invoke'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/railties-7.0.7/lib/rails/commands.rb:18:in `<main>'
<internal:/usr/local/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:37:in `require'
<internal:/usr/local/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:37:in `require'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/bootsnap-1.16.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
bin/rails:18:in `<main>'
Avvio di 14 worker(i) di Unicorn che erano inizialmente fermi

Sì, vedo che stai usando Chatbot.

Omettilo o leggi attentamente questo post:

https://meta.discourse.org/t/discourse-chatbot-now-smarter-than-chatgpt/256652/382?u=merefield

Grazie per la tua pazienza con questo cambiamento, era importante portare Chatbot al livello successivo :rocket:

Possiamo eseguire i comandi nella sezione after_code senza ricostruire e riavviare il container dopo?

Non credo che il semplice riavvio del container eseguirà quella sezione.

Tuttavia, è possibile eseguirlo manualmente?

Non credo che funzionerà, poiché il container deve ricostruirsi, anche con l’aggiornamento online, quindi tutte le tue belle aggiunte manuali verrebbero eliminate.

Se vuoi continuare a usare chatbot, ti consiglio di prendere il toro per le corna e aggiungere le righe di script aggiuntive ad app.yml.