Docker 업데이트 오류

Discourse 제어판에서 Docker를 업데이트하려고 했으나 모두 오류가 발생했습니다. 도움을 주실 수 있는 분 계신가요?

/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의 버그로 인해 발생한 충돌 로그입니다. app.yml 파일에서 API 키를 주석 처리하고 다시 빌드하면 문제가 해결됩니다.

이 주제에 대한 관련 링크:

그렇게 하면 문제가 해결된다면, 그래도 나는 그것을 버그라고 부를 것입니다. Maxmind 키가 잘못된 경우, 또는 일시적인 네트워크 오류 등 다른 이유로 인해 Maxmind 다운로드가 실패해도 Discourse가 충돌해서는 안 되니까요.

귀하의 주제에서 언급했듯이, 마지막으로 시도했을 때에도 유효한 maxmind 키를 사용하여 다시 빌드할 수 없었습니다. 그렇다면 동일한 버그가 아닐까요?

maxmind 문제로 인해 빌드가 실패하는 모든 경우를 버그라고 생각합니다. Maxmind 문제로 인해 빌드가 실패할 수 있었던 것은 항상 가능했다고 확신합니다.

따라서 이것이 동일한 버그인지, 여러 개의 버그인지는 알 수 없습니다.

해결책은 매우 간단할 수 있습니다. 키가 제공되었든(유효한지 무효한지 관계없이) Maxmind 없이도 시스템이 계속 작동할 수 있도록 rescue(discourse/lib/discourse_ip_info.rb at 3d49df2953fd14ae75eeab7621ad687f1b06f504 · pfaffman/discourse · GitHub 의 어딘가)를 추가하는 것입니다.