Discourse Docker Manager

:discourse2: Summary Provides basic monitoring and update facilities to Discourse instances hosted using our Docker template: GitHub - discourse/discourse_docker: A Docker image for Discourse
:hammer_and_wrench: Repository Link GitHub - discourse/docker_manager: Plugin for use with discourse docker image
:open_book: Install Guide This plugin is included by default in all standard installs

Last edited by @JammyDodger 2024-06-03T21:53:45Z

Check documentPerform check on document:
17 лайков

Просто добавлю ссылку сюда для большей видимости: :partying_face:

4 лайка

ERR_PNPM_RECURSIVE_EXEC_FIRST_FAIL Команда была завершена сигналом SIGKILL (принудительное завершение): ember build -prod Docker Manager: НЕ УДАЛОСЬ ОБНОВИТЬ

После каждой попытки обновления…

1 лайк

Могли бы вы опубликовать полные логи? Спасибо!

1 лайк

Я думаю, что столкнулся с этой проблемой из-за отсутствия swap-раздела и решил её, добавив swap.

Редактирование: это подтверждает моё предположение:

2 лайка

Я мог бы попробовать, даже несмотря на то, что у меня 4 ГБ свободной оперативной памяти :smiley: Если процесс действительно займёт слишком много времени, может ли это быть связано с Cloudflare?

Я обновил свой другой сервер, и мы посмотрим, повторится ли эта ошибка. Я опубликую часть логов.

И вот часть лога…

== 20250313045010 AddIndexToUsersIpAddress: migrating =========================
-- remove_index(:users, :ip_address, {:algorithm=:concurrently, :name="idx_users_ip_address", :if_exists=true})
   -> 0.0310s
-- add_index(:users, :ip_address, {:algorithm=:concurrently, :name="idx_users_ip_address"})
   -> 0.0161s
== 20250313045010 AddIndexToUsersIpAddress: migrated (0.0492s) ================

Seeding default
*** Bundling assets. This will take a while *** 
$ bundle exec rake themes:update assets:precompile
Updating themes with concurrency: 10
Node.js heap_size_limit (2010.75) is less than 2048MB. Setting --max-old-space-size=2048 and CHEAP_SOURCE_MAPS=1
Building
Environment: production
The setting 'staticAddonTrees' will default to true in the next version of Embroider and can't be turned off. To prepare for this you should set 'staticAddonTrees: true' in your Embroider config.
The setting 'staticAddonTestSupportTrees' will default to true in the next version of Embroider and can't be turned off. To prepare for this you should set 'staticAddonTestSupportTrees: true' in your Embroider config.
building...
...[ConfigLoader]
...[Babel: discourse-widget-hbs > applyPatches]
...[Babel: @embroider/macros > applyPatches]
...[Babel: ember-tracked-storage-polyfill > applyPatches]
...[Babel: pretty-text > applyPatches]
...[Babel: @ember/legacy-built-in-components > applyPatches]
...[Babel: ember-source > applyPatches]
[BABEL] Note: The code generator has deoptimised the styling of /var/www/discourse/app/assets/javascripts/discourse/ember/ember-template-compiler.js as it exceeds the max of 500KB.
[BABEL] Note: The code generator has deoptimised the styling of /var/www/discourse/app/assets/javascripts/discourse/ember/ember.js as it exceeds the max of 500KB.
...[Babel: ember-source > applyPatches]
...[Babel: @glimmer/component > applyPatches]
...[Babel: @ember/render-modifiers > applyPatches]
...[Babel: @ember/test-waiters > applyPatches]
...[Babel: dialog-holder > applyPatches]
...[Babel: ember-this-fallback > applyPatches]
...[Babel: ember-buffered-proxy > applyPatches]
...[Babel: ember-cache-primitive-polyfill > applyPatches]
...[Babel: float-kit > applyPatches]
...[Babel: select-kit > applyPatches]
...[@embroider/compat/app]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
undefined
 ERR_PNPM_RECURSIVE_EXEC_FIRST_FAIL  Command was killed with SIGKILL (Forced termination): ember build -prod
Docker Manager: FAILED TO UPGRADE
#<RuntimeError: RuntimeError>
/var/www/discourse/plugins/docker_manager/lib/docker_manager/upgrader.rb:211:in `run'
/var/www/discourse/plugins/docker_manager/lib/docker_manager/upgrader.rb:112: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.3.0/gems/railties-7.2.2.1/lib/rails/commands/runner/runner_command.rb:44:in `load'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/commands/runner/runner_command.rb:44:in `block in perform'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/execution_wrapper.rb:91:in `wrap'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/commands/runner/runner_command.rb:70:in `conditional_executor'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/commands/runner/runner_command.rb:43:in `perform'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/thor-1.3.2/lib/thor/command.rb:28:in `run'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/thor-1.3.2/lib/thor/invocation.rb:127:in `invoke_command'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/command/base.rb:178:in `invoke_command'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/thor-1.3.2/lib/thor.rb:538:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/command/base.rb:73:in `perform'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/command.rb:71:in `block in invoke'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/command.rb:149:in `with_argv'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/command.rb:69:in `invoke'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/commands.rb:18:in `<main>'
/usr/local/lib/ruby/3.3.0/bundled_gems.rb:69:in `require'
/usr/local/lib/ruby/3.3.0/bundled_gems.rb:69:in `block (2 levels) in replace_require'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bootsnap-1.18.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
bin/rails:18:in `<main>'
Spinning up 7 Unicorn worker(s) that were stopped initially

Возможно ли, что эта ошибка возникает из-за версии Ubuntu?

Проблема заключается в сервере. На моём третьем сервере всё прошло без проблем, но, похоже, на двух других серверах, хотя они и заявляют о наличии 4 ГБ оперативной памяти, на самом деле у них её значительно меньше…

Похоже, это довольно удобно для обновления плагинов через Docker Manager для самописных экземпляров, если я правильно понимаю

1 лайк

Я установил этот плагин, как мне получить доступ к представлению, показанному в первом посте, с вкладкой плагинов? Это вкладка «Обновления»? Я вижу, что плагин указан во вкладке «Обновления», поэтому, думаю, я установил его правильно.

Должна ли вкладка «Обновления» выглядеть иначе, чем раньше?

Или, может быть, я просто немного глупо установил то, что у меня уже было. Я думал, что установка плагинов после установки этого будет проще, но, похоже, мне всё ещё нужно делать это через SSH.

Привет, вверху указано: «Этот плагин включён по умолчанию во всех стандартных установках» — так что, похоже, вы установили то, что у вас уже было.

Обратите внимание, что иллюстрация выше взята из более старой версии Discourse, и сейчас область администрирования и навигация выглядят немного иначе:

Спасибо, я неправильно понял, что это что-то дополнительное, чего у меня ещё нет.

Сбой обновления в веб-интерфейсе. Моя версия Discourse — 3.5.0.beta1.

Дополнительно:

Я получил ту же ошибку после попытки выполнить ./launcher rebuild app в командной строке моего сервера.

Discourse::ScssError: Error: @use rules must be written before any other rules. (Discourse::ScssError)

Вам нужно запустить

./launcher rebuild app

1 лайк

Также возникает эта ошибка при запуске ./launcher rebuild app. Нужно ли мне обновить версию Discourse до последней?

Я нашёл причину. Это произошло из-за обновления плагина discourse-data-explorer, который не мог быть собран в версии v3.5.0-beta1. Извините~ :sweat_smile:

1 лайк

Всем, проверьте список плагинов, входящих в ядро Discourse. Если вы попытаетесь установить плагины, которые уже включены в новую версию, возникнут проблемы с установкой. Удалите эти строки из файла /var/discourse/containers/app.yml или закомментируйте их.

Ссылка на список плагинов:

Удачи.

Просто из любопытства: почему этот плагин сейчас не входит в основной репозиторий? Разве это не считается базовой функциональностью?

Потому что это только для сайтов с самостоятельным размещением.

2 лайка