Ошибка при загрузке MaxMind во время обновления

Ребята, мне срочно нужна помощь, я почти сдаюсь. Я пытаюсь обновить свой форум уже несколько дней, и постоянно появляется эта ошибка. Что это может быть?


Done compiling CSS: 2024-04-24 22:53:38 UTC
/var/www/discourse/lib/discourse_ip_info.rb:50:in `mmdb_download': undefined method `path' for nil:NilClass (NoMethodError)

     filename = File.basename(gz_file.path)
                                     ^^^^^
from /var/www/discourse/lib/tasks/maxminddb.rake:73:in `block (3 levels) in <main>'
from /var/www/discourse/lib/tasks/maxminddb.rake:71:in `each'
from /var/www/discourse/lib/tasks/maxminddb.rake:71:in `block (2 levels) in <main>'
Docker Manager: FAILED TO UPGRADE
#<RuntimeError: RuntimeError>
/var/www/discourse/plugins/docker_manager/lib/docker_manager/upgrader.rb:210:in `run'
/var/www/discourse/plugins/docker_manager/lib/docker_manager/upgrader.rb:111: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.8.1/lib/rails/commands/runner/runner_command.rb:43:in `load'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/railties-7.0.8.1/lib/rails/commands/runner/runner_command.rb:43:in `perform'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/thor-1.3.1/lib/thor/command.rb:28:in `run'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/thor-1.3.1/lib/thor/invocation.rb:127:in `invoke_command'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/thor-1.3.1/lib/thor.rb:527:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/railties-7.0.8.1/lib/rails/command/base.rb:87:in `perform'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/railties-7.0.8.1/lib/rails/command.rb:48:in `invoke'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/railties-7.0.8.1/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.18.3/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

Каждый раз при возникновении этой ошибки во время обновлений в панели управления появляется следующее сообщение: Sidekiq не запущен. Многие задачи, такие как отправка писем, выполняются асинхронно с помощью Sidekiq. Убедитесь, что хотя бы один процесс sidekiq запущен.

Вы уже писали здесь:

Вам не помогло исправление (Allow redirect when downloading maxmind database by pfaffman · Pull Request #26333 · discourse/discourse · GitHub)?

У Джей это сработало, но, насколько я знаю, у @Firepup650 оно тоже не сработало. Это, конечно, странно :thinking: .

Да, друг, я опубликовал сообщение снова, потому что моя установка несколько дней назад начала выдавать множество проблем. Просто после всех этих ошибок я нажимаю F5, и оказывается, что установка обновлена, и ничего не осталось в очереди, даже несмотря на то, что предыдущая попытка завершилась ошибкой. Мой сервер ведёт себя странно в последнее время: он работает очень медленно. При этом ничего особенного не изменилось — я использую его только на своём сервере, и у меня установлен всего один неофициальный плагин, все остальные — официальные.

Я ничего не предпринимал: просто после уведомления об ошибке я нажал F5, и предупреждение о ожидающих обновлениях исчезло, словно последнее обновление прошло успешно, хотя я знал, что оно не было завершено корректно.

Пожалуйста, попробуйте выполнить ручную сборку через CLI — возможно, в панели возникла проблема из-за изменений в MaxMind.

Хорошая идея, друг! Эта мысль мне не приходила в голову. Завтра я попробую это сделать. После каждой попытки обновления Sidekiq всегда перестает работать и предупреждает меня в панели управления. Единственное, что возвращает его к жизни, — это команда «sudo reboot» на сервере, но завтра я попробую восстановить его вручную.

Обычно, если при обновлении через интерфейс возникают проблемы, используйте консоль — это лучший способ!
Discourse обновляется ежедневно, и иногда могут произойти изменения, требующие полной пересборки контейнера.


Кстати, существует задача Rake maxminddb:refresh для тестирования/загрузки файлов MaxMind DB напрямую (или maxminddb:get, чтобы игнорировать проверку даты последней загрузки и создать резервную копию):

./launcher enter app
rake maxminddb:refresh
quit