GeoLite2 on the MaxmindDB site

AI-generated summary

The discussion revolves around resolving a MaxMindDB error in a Discourse instance. Truest encountered an error message indicating that the GeoLite2-City.mmdb file could not be found.

Lilly pointed out that there are existing topics on the Meta Discourse forum that address this issue, providing links to relevant discussions.

Pfaffman suggested adding the MaxMind user ID and configuring MAXMIND for reverse IP lookups, providing a link to a configuration guide.

Regarding the database updates, Pfaffman confirmed that the GeoLite2 database should be automatically updated in Discourse.


MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-City.mmdb) could not be found: No such file or directory @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-City.mmdb

Backtrace

/var/www/discourse/lib/discourse_ip_info.rb:88:in `rescue in mmdb_load'
/var/www/discourse/lib/discourse_ip_info.rb:84:in `mmdb_load'
/var/www/discourse/lib/discourse_ip_info.rb:14:in `open_db'
/var/www/discourse/lib/discourse_ip_info.rb:10:in `initialize'
/usr/local/lib/ruby/3.2.0/singleton.rb:127:in `new'
/usr/local/lib/ruby/3.2.0/singleton.rb:127:in `block in instance'
/usr/local/lib/ruby/3.2.0/singleton.rb:125:in `synchronize'
/usr/local/lib/ruby/3.2.0/singleton.rb:125:in `instance'
/var/www/discourse/lib/discourse_ip_info.rb:175:in `get'
/var/www/discourse/app/serializers/concerns/user_auth_tokens_mixin.rb:13:in `location'
(eval):5:in `_fast_attributes'
active_model_serializers-0.8.4/lib/active_model/serializer.rb:468:in `rescue in attributes'
active_model_serializers-0.8.4/lib/active_model/serializer.rb:455:in `attributes'
active_model_serializers-0.8.4/lib/active_model/serializer.rb:480:in `_serializable_hash'
active_model_serializers-0.8.4/lib/active_model/serializer.rb:359:in `serializable_hash'
active_model_serializers-0.8.4/lib/active_model/array_serializer.rb:89:in `block in _serializable_array'
activerecord-7.0.8.4/lib/active_record/relation/delegation.rb:88:in `each'
activerecord-7.0.8.4/lib/active_record/relation/delegation.rb:88:in `each'
active_model_serializers-0.8.4/lib/active_model/array_serializer.rb:79:in `map'
active_model_serializers-0.8.4/lib/active_model/array_serializer.rb:79:in `_serializable_array'
active_model_serializers-0.8.4/lib/active_model/array_serializer.rb:73:in `serializable_array'
active_model_serializers-0.8.4/lib/active_model/array_serializer.rb:53:in `as_json'
activesupport-7.0.8.4/lib/active_support/json/encoding.rb:22:in `encode'
activesupport-7.0.8.4/lib/active_support/json/encoding.rb:22:in `encode'
activesupport-7.0.8.4/lib/active_support/core_ext/object/json.rb:42:in `to_json'
active_model_serializers-0.8.4/lib/active_model/array_serializer.rb:63:in `to_json'
multi_json-1.15.0/lib/multi_json/adapters/oj.rb:56:in `dump'
multi_json-1.15.0/lib/multi_json/adapters/oj.rb:56:in `dump'
multi_json-1.15.0/lib/multi_json/adapter.rb:25:in `dump'
multi_json-1.15.0/lib/multi_json.rb:139:in `dump'
/var/www/discourse/app/controllers/application_controller.rb:553:in `render_json_dump'
/var/www/discourse/app/controllers/application_controller.rb:540:in `render_serialized'
/var/www/discourse/app/controllers/session_controller.rb:813:in `login'
/var/www/discourse/app/controllers/session_controller.rb:372:in `create'
actionpack-7.0.8.4/lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
actionpack-7.0.8.4/lib/abstract_controller/base.rb:215:in `process_action'
actionpack-7.0.8.4/lib/action_controller/metal/rendering.rb:165:in `process_action'
actionpack-7.0.8.4/lib/abstract_controller/callbacks.rb:234:in `block in process_action'
activesupport-7.0.8.4/lib/active_support/callbacks.rb:118:in `block in run_callbacks'
/var/www/discourse/app/controllers/application_controller.rb:422:in `block in with_resolved_locale'
i18n-1.14.5/lib/i18n.rb:351:in `with_locale'
/var/www/discourse/app/controllers/application_controller.rb:422:in `with_resolved_locale'
activesupport-7.0.8.4/lib/active_support/callbacks.rb:127:in `block in run_callbacks'
activesupport-7.0.8.4/lib/active_support/callbacks.rb:138:in `run_callbacks'
actionpack-7.0.8.4/lib/abstract_controller/callbacks.rb:233:in `process_action'
actionpack-7.0.8.4/lib/action_controller/metal/rescue.rb:23:in `process_action'
actionpack-7.0.8.4/lib/action_controller/metal/instrumentation.rb:67:in `block in process_action'
activesupport-7.0.8.4/lib/active_support/notifications.rb:206:in `block in instrument'
activesupport-7.0.8.4/lib/active_support/notifications/instrumenter.rb:24:in `instrument'
activesupport-7.0.8.4/lib/active_support/notifications.rb:206:in `instrument'
actionpack-7.0.8.4/lib/action_controller/metal/instrumentation.rb:66:in `process_action'
actionpack-7.0.8.4/lib/action_controller/metal/params_wrapper.rb:259:in `process_action'
activerecord-7.0.8.4/lib/active_record/railties/controller_runtime.rb:27:in `process_action'
actionpack-7.0.8.4/lib/abstract_controller/base.rb:151:in `process'
actionview-7.0.8.4/lib/action_view/rendering.rb:39:in `process'
rack-mini-profiler-3.3.1/lib/mini_profiler/profiling_methods.rb:89:in `block in profile_method'
actionpack-7.0.8.4/lib/action_controller/metal.rb:188:in `dispatch'
actionpack-7.0.8.4/lib/action_controller/metal.rb:251:in `dispatch'
actionpack-7.0.8.4/lib/action_dispatch/routing/route_set.rb:49:in `dispatch'
actionpack-7.0.8.4/lib/action_dispatch/routing/route_set.rb:32:in `serve'
actionpack-7.0.8.4/lib/action_dispatch/journey/router.rb:50:in `block in serve'
actionpack-7.0.8.4/lib/action_dispatch/journey/router.rb:32:in `each'
actionpack-7.0.8.4/lib/action_dispatch/journey/router.rb:32:in `serve'
actionpack-7.0.8.4/lib/action_dispatch/routing/route_set.rb:852:in `call'
/var/www/discourse/lib/middleware/omniauth_bypass_middleware.rb:64:in `call'
rack-2.2.9/lib/rack/tempfile_reaper.rb:15:in `call'
rack-2.2.9/lib/rack/conditional_get.rb:40:in `call'
rack-2.2.9/lib/rack/head.rb:12:in `call'
actionpack-7.0.8.4/lib/action_dispatch/http/permissions_policy.rb:38:in `call'
/var/www/discourse/lib/content_security_policy/middleware.rb:12:in `call'
/var/www/discourse/lib/middleware/anonymous_cache.rb:393:in `call'
/var/www/discourse/lib/middleware/csp_script_nonce_injector.rb:12:in `call'
/var/www/discourse/config/initializers/008-rack-cors.rb:14:in `call'
rack-2.2.9/lib/rack/session/abstract/id.rb:266:in `context'
rack-2.2.9/lib/rack/session/abstract/id.rb:260:in `call'
actionpack-7.0.8.4/lib/action_dispatch/middleware/cookies.rb:704:in `call'
actionpack-7.0.8.4/lib/action_dispatch/middleware/callbacks.rb:27:in `block in call'
activesupport-7.0.8.4/lib/active_support/callbacks.rb:99:in `run_callbacks'
actionpack-7.0.8.4/lib/action_dispatch/middleware/callbacks.rb:26:in `call'
actionpack-7.0.8.4/lib/action_dispatch/middleware/debug_exceptions.rb:28:in `call'
actionpack-7.0.8.4/lib/action_dispatch/middleware/show_exceptions.rb:29:in `call'
logster-2.19.1/lib/logster/middleware/reporter.rb:40:in `call'
railties-7.0.8.4/lib/rails/rack/logger.rb:40:in `call_app'
railties-7.0.8.4/lib/rails/rack/logger.rb:27:in `call'
/var/www/discourse/config/initializers/100-quiet_logger.rb:20:in `call'
/var/www/discourse/config/initializers/100-silence_logger.rb:29:in `call'
actionpack-7.0.8.4/lib/action_dispatch/middleware/remote_ip.rb:93:in `call'
actionpack-7.0.8.4/lib/action_dispatch/middleware/request_id.rb:26:in `call'
/var/www/discourse/lib/middleware/enforce_hostname.rb:24:in `call'
rack-2.2.9/lib/rack/method_override.rb:24:in `call'
actionpack-7.0.8.4/lib/action_dispatch/middleware/executor.rb:14:in `call'
rack-2.2.9/lib/rack/sendfile.rb:110:in `call'
actionpack-7.0.8.4/lib/action_dispatch/middleware/host_authorization.rb:131:in `call'
rack-mini-profiler-3.3.1/lib/mini_profiler.rb:191:in `call'
message_bus-4.3.8/lib/message_bus/rack/middleware.rb:60:in `call'
/var/www/discourse/lib/middleware/request_tracker.rb:289:in `call'
railties-7.0.8.4/lib/rails/engine.rb:530:in `call'
railties-7.0.8.4/lib/rails/railtie.rb:226:in `public_send'
railties-7.0.8.4/lib/rails/railtie.rb:226:in `method_missing'
rack-2.2.9/lib/rack/urlmap.rb:74:in `block in call'
rack-2.2.9/lib/rack/urlmap.rb:58:in `each'
rack-2.2.9/lib/rack/urlmap.rb:58:in `call'
unicorn-6.1.0/lib/unicorn/http_server.rb:634:in `process_client'
unicorn-6.1.0/lib/unicorn/http_server.rb:739:in `worker_loop'
unicorn-6.1.0/lib/unicorn/http_server.rb:547:in `spawn_missing_workers'
unicorn-6.1.0/lib/unicorn/http_server.rb:143:in `start'
unicorn-6.1.0/bin/unicorn:128:in `<top (required)>'
/var/www/discourse/vendor/bundle/ruby/3.2.0/bin/unicorn:25:in `load'
/var/www/discourse/vendor/bundle/ruby/3.2.0/bin/unicorn:25:in `<main>' 

Do I need to download GeoLite2 from the MaxmindDB site separately and put it in the specified path?

there are topics about this

https://meta.discourse.org/search?q=No%20such%20file%20or%20directory%20%40%20rb_sysopen%20-%20%2Fvar%2Fwww%2Fdiscourse%2Fvendor%2Fdata%2FGeoLite2-City.mmdb

Have you added your maxmind user id? Configure MAXMIND for reverse IP lookups

Thank you. Will the database in GeoLite2 be automatically updated in Discourse? Or do I need to enter a separate code?

that’s what’s supposed to happen.