업데이트 중 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 - Pull Request #26333 - discourse/discourse - GitHub)이 효과가 없으셨나요?

Jay에게는 효과가 있었지만, @Firepup650에게는 실패한 것 같습니다. 분명 이상하네요 :thinking: .

네, 친구. 며칠 전에 설치를 했는데, 그 후로 여러 문제가 발생하기 시작해서 다시 글을 올렸습니다. 결국 이런 오류들이 계속 나오자 F5 키를 눌렀더니, 이전 시도에 오류가 발생했음에도 불구하고 설치 업데이트가 완료되었고 대기 중인 항목이 아무것도 없는 것처럼 표시됩니다. 요즘 제 말투가 아주 이상합니다. 속도도 매우 느리고, 특별히 다른 점은 없습니다. 이 프로그램은 제 서버에서만 사용하며, 비공식 플러그인은 1개만 사용하고 있고, 나머지는 전부 공식 플러그인입니다.

저는 아무것도 시도하지 않았습니다. 오류에 대한 알림을 받은 후 단순히 F5 키를 눌렀고, 다시 돌아온 후 대기 중인 업데이트에 대한 경고가 사라졌으며, 마치 마지막 업데이트가 성공적으로 완료된 것처럼 보였지만, 실제로는 성공적으로 완료되지 않았다는 것을 알고 있었습니다.

수동으로 CLI 재빌드를 시도해 보세요. 패널에 MaxMind 변경 사항과 관련된 문제가 있을 수 있습니다.

좋은 생각이네요, 친구. 이런 가능성은 내 머릿속에 떠오르지 않았어요. 내일 이 방법을 시도해 볼게요. 업데이트를 시도할 때마다 사이드킥(sidekiq)이 항상 멈추고 제어판에서 경고가 뜨거든요. 서버에서 “sudo reboot” 명령을 사용하는 것만이 사이드킥을 다시 작동시키는 유일한 방법이에요. 하지만 내일은 수동으로 재구축을 시도해 볼 거예요.

일반적으로 UI에서 업그레이드 시 문제가 발생하면 콘솔을 사용해야 합니다. 이것이 가장 좋은 방법입니다!
Discourse는 매일 업데이트되며, 완전한 컨테이너 재빌드가 필요한 변경 사항이 발생할 수 있습니다.


참고로, MaxMind DB 파일을 직접 테스트/다운로드하기 위한 Rake 작업 maxminddb:refresh가 있습니다 (마지막 다운로드 날짜 확인 및 백업을 무시하려면 maxminddb:get 사용) :

./launcher enter app
rake maxminddb:refresh
quit