Ошибка обновления Docker

Я попытался обновить Docker через панель управления Discourse, но все попытки завершились ошибкой. Кто-нибудь может помочь?

/var/www/discourse/lib/discourse_ip_info.rb:48:in `mmdb_download': undefined method `path' for nil:NilClass (NoMethodError)

    filename = File.basename(gz_file.path)
                                    ^^^^^
	from /var/www/discourse/lib/tasks/maxminddb.rake:72:in `block (3 levels) in <main>'
	from /var/www/discourse/lib/tasks/maxminddb.rake:70:in `each'
	from /var/www/discourse/lib/tasks/maxminddb.rake:70: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 запущен. Узнайте о Sidekiq здесь.

Это логи сбоя из-за ошибки в MaxMind. Закомментировать API-ключ в вашем файле app.yml и пересобрать приложение должно решить проблему.

Ссылка на тему по этой проблеме:

Если это действительно исправляет проблему, то я всё равно считаю это ошибкой, так как сбой загрузки данных MaxMind из-за некорректного ключа, временной сетевой ошибки или любой другой причины не должен приводить к падению Discourse.

Как я уже упоминал в вашей теме, в последний раз, когда я пробовал, мы всё ещё не могли пересобрать с валидным ключом MaxMind. Не является ли это тем же самым багом?

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

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

Мне кажется, решение может быть столь же простым, как добавление блока rescue (где-то в discourse/lib/discourse_ip_info.rb at 3d49df2953fd14ae75eeab7621ad687f1b06f504 · pfaffman/discourse · GitHub), чтобы система продолжала работать без MaxMind, независимо от того, был ли предоставлен ключ (валидный или невалидный).