After a brand new installation, there are no settings Discourse 3.4.0.beta3-dev installation logs error/GeoLite2-City.mmdb GeoLite2-ASN.mmdb

AI 生成的摘要

After a fresh installation of Discourse 3.4.0.beta3-dev, the user qiancsf encountered missing settings and errors in the backend logs related to missing GeoLite2 databases (GeoLite2-City.mmdb and GeoLite2-ASN.mmdb). The issue is traced to the app.yml configuration, where MaxMind credentials are commented out and improperly formatted indentation may prevent the databases from being downloaded. Jagster suggests ensuring correct formatting with two spaces before the DISCOURSE_MAXMIND_ACCOUNT_ID and DISCOURSE_MAXMIND_LICENSE_KEY lines, and that these credentials are uncommented for the geolocation feature to work. NateDhaliwal and Lilly also contributed to the discussion, with the latter asking about recent changes like plugin installations.

全新安装后,没有任何设置

discourse 3.4.0.beta3-dev 安装后日志报错:GeoLite2-City.mmdb 和 GeoLite2-ASN.mmdb

MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-City.mmdb) 未找到:No such file or directory @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-City.mmdb
下午 5:25
2
MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-ASN.mmdb) 未找到:No such file or directory @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-ASN.mmdb
下午 5:25



消息(报告了 2 份副本)

MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-City.mmdb) 未找到:No such file or directory @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-City.mmdb

回溯

activesupport-7.1.5/lib/active_support/broadcast_logger.rb:130:in `block in warn'
activesupport-7.1.5/lib/active_support/broadcast_logger.rb:231:in `block in dispatch'
activesupport-7.1.5/lib/active_support/broadcast_logger.rb:231:in `each'
activesupport-7.1.5/lib/active_support/broadcast_logger.rb:231:in `dispatch'
activesupport-7.1.5/lib/active_support/broadcast_logger.rb:130:in `warn'
/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.3.0/singleton.rb:124:in `new'
/usr/local/lib/ruby/3.3.0/singleton.rb:124:in `block in instance'
/usr/local/lib/ruby/3.3.0/singleton.rb:124:in `synchronize'
/usr/local/lib/ruby/3.3.0/singleton.rb:124: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 at active_model_serializers-0.8.4/lib/active_model/serializer.rb:467):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.1.5/lib/active_record/relation/delegation.rb:100:in `each'
activerecord-7.1.5/lib/active_record/relation/delegation.rb:100: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.1.5/lib/active_support/json/encoding.rb:23:in `encode'
activesupport-7.1.5/lib/active_support/json/encoding.rb:23:in `encode'
activesupport-7.1.5/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:759:in `json_result'
/var/www/discourse/app/controllers/users_controller.rb:258:in `update'
actionpack-7.1.5/lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
actionpack-7.1.5/lib/abstract_controller/base.rb:224:in `process_action'
actionpack-7.1.5/lib/action_controller/metal/rendering.rb:165:in `process_action'
actionpack-7.1.5/lib/abstract_controller/callbacks.rb:259:in `block in process_action'
activesupport-7.1.5/lib/active_support/callbacks.rb:121:in `block in run_callbacks'
/var/www/discourse/app/controllers/application_controller.rb:424:in `block in with_resolved_locale'
i18n-1.14.6/lib/i18n.rb:353:in `with_locale'
/var/www/discourse/app/controllers/application_controller.rb:424:in `with_resolved_locale'
activesupport-7.1.5/lib/active_support/callbacks.rb:130:in `block in run_callbacks'
activesupport-7.1.5/lib/active_support/callbacks.rb:141:in `run_callbacks'
actionpack-7.1.5/lib/abstract_controller/callbacks.rb:258:in `process_action'
actionpack-7.1.5/lib/action_controller/metal/rescue.rb:25:in `process_action'
actionpack-7.1.5/lib/action_controller/metal/instrumentation.rb:74:in `block in process_action'
activesupport-7.1.5/lib/active_support/notifications.rb:206:in `block in instrument'
activesupport-7.1.5/lib/active_support/notifications/instrumenter.rb:58:in `instrument'
activesupport-7.1.5/lib/active_support/notifications.rb:206:in `instrument'
actionpack-7.1.5/lib/action_controller/metal/instrumentation.rb:73:in `process_action'
actionpack-7.1.5/lib/action_controller/metal/params_wrapper.rb:261:in `process_action'
activerecord-7.1.5/lib/active_record/railties/controller_runtime.rb:32:in `process_action'
actionpack-7.1.5/lib/abstract_controller/base.rb:160:in `process'
actionview-7.1.5/lib/action_view/rendering.rb:40:in `process'
rack-mini-profiler-3.3.1/lib/mini_profiler/profiling_methods.rb:115:in `block in profile_method'
actionpack-7.1.5/lib/action_controller/metal.rb:227:in `dispatch'
actionpack-7.1.5/lib/action_controller/metal.rb:309:in `dispatch'
actionpack-7.1.5/lib/action_dispatch/routing/route_set.rb:49:in `dispatch'
actionpack-7.1.5/lib/action_dispatch/routing/route_set.rb:32:in `serve'
actionpack-7.1.5/lib/action_dispatch/journey/router.rb:51:in `block in serve'
actionpack-7.1.5/lib/action_dispatch/journey/router.rb:131:in `block in find_routes'
actionpack-7.1.5/lib/action_dispatch/journey/router.rb:124:in `each'
actionpack-7.1.5/lib/action_dispatch/journey/router.rb:124:in `find_routes'
actionpack-7.1.5/lib/action_dispatch/journey/router.rb:32:in `serve'
actionpack-7.1.5/lib/action_dispatch/routing/route_set.rb:882:in `call'
/var/www/discourse/lib/middleware/omniauth_bypass_middleware.rb:64:in `call'
rack-2.2.10/lib/rack/tempfile_reaper.rb:15:in `call'
rack-2.2.10/lib/rack/conditional_get.rb:40:in `call'
rack-2.2.10/lib/rack/head.rb:12:in `call'
actionpack-7.1.5/lib/action_dispatch/http/permissions_policy.rb:36:in `call'
/var/www/discourse/lib/content_security_policy/middleware.rb:12:in `call'
/var/www/discourse/lib/middleware/anonymous_cache.rb:399: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.10/lib/rack/session/abstract/id.rb:266:in `context'
rack-2.2.10/lib/rack/session/abstract/id.rb:260:in `call'
actionpack-7.1.5/lib/action_dispatch/middleware/cookies.rb:689:in `call'
actionpack-7.1.5/lib/action_dispatch/middleware/callbacks.rb:29:in `block in call'
activesupport-7.1.5/lib/active_support/callbacks.rb:101:in `run_callbacks'
actionpack-7.1.5/lib/action_dispatch/middleware/callbacks.rb:28:in `call'
actionpack-7.1.5/lib/action_dispatch/middleware/debug_exceptions.rb:29:in `call'
actionpack-7.1.5/lib/action_dispatch/middleware/show_exceptions.rb:31:in `call'
logster-2.20.0/lib/logster/middleware/reporter.rb:40:in `call'
/var/www/discourse/lib/freedom_patches/rails_rack_logger_from_rails_7_2.rb:35:in `call_app'
/var/www/discourse/lib/freedom_patches/rails_rack_logger_from_rails_7_2.rb:22: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.1.5/lib/action_dispatch/middleware/request_id.rb:28:in `call'
/var/www/discourse/lib/middleware/enforce_hostname.rb:24:in `call'
rack-2.2.10/lib/rack/method_override.rb:24:in `call'
actionpack-7.1.5/lib/action_dispatch/middleware/executor.rb:14:in `call'
rack-2.2.10/lib/rack/sendfile.rb:110:in `call'
rack-mini-profiler-3.3.1/lib/mini_profiler.rb:334:in `call'
/var/www/discourse/lib/middleware/processing_request.rb:12:in `call'
message_bus-4.3.8/lib/message_bus/rack/middleware.rb:60:in `call'
/var/www/discourse/lib/middleware/request_tracker.rb:360:in `call'
actionpack-7.1.5/lib/action_dispatch/middleware/remote_ip.rb:92:in `call'
railties-7.1.5/lib/rails/engine.rb:536:in `call'
railties-7.1.5/lib/rails/railtie.rb:226:in `public_send'
railties-7.1.5/lib/rails/railtie.rb:226:in `method_missing'
rack-2.2.10/lib/rack/urlmap.rb:74:in `block in call'
rack-2.2.10/lib/rack/urlmap.rb:58:in `each'
rack-2.2.10/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.3.0/bin/unicorn:25:in `load'
/var/www/discourse/vendor/bundle/ruby/3.3.0/bin/unicorn:25:in `<main>'

环境


消息(报告了 2 份副本)

MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-ASN.mmdb) 未找到:No such file or directory @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-ASN.mmdb

回溯

activesupport-7.1.5/lib/active_support/broadcast_logger.rb:130:in `block in warn'
activesupport-7.1.5/lib/active_support/broadcast_logger.rb:231:in `block in dispatch'
activesupport-7.1.5/lib/active_support/broadcast_logger.rb:231:in `each'
activesupport-7.1.5/lib/active_support/broadcast_logger.rb:231:in `dispatch'
activesupport-7.1.5/lib/active_support/broadcast_logger.rb:130:in `warn'
/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:15:in `open_db'
/var/www/discourse/lib/discourse_ip_info.rb:10:in `initialize'
/usr/local/lib/ruby/3.3.0/singleton.rb:124:in `new'
/usr/local/lib/ruby/3.3.0/singleton.rb:124:in `block in instance'
/usr/local/lib/ruby/3.3.0/singleton.rb:124:in `synchronize'
/usr/local/lib/ruby/3.3.0/singleton.rb:124: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 at active_model_serializers-0.8.4/lib/active_model/serializer.rb:467):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.1.5/lib/active_record/relation/delegation.rb:100:in `each'
activerecord-7.1.5/lib/active_record/relation/delegation.rb:100: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.1.5/lib/active_support/json/encoding.rb:23:in `encode'
activesupport-7.1.5/lib/active_support/json/encoding.rb:23:in `encode'
activesupport-7.1.5/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:759:in `json_result'
/var/www/discourse/app/controllers/users_controller.rb:258:in `update'
actionpack-7.1.5/lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
actionpack-7.1.5/lib/abstract_controller/base.rb:224:in `process_action'
actionpack-7.1.5/lib/action_controller/metal/rendering.rb:165:in `process_action'
actionpack-7.1.5/lib/abstract_controller/callbacks.rb:259:in `block in process_action'
activesupport-7.1.5/lib/active_support/callbacks.rb:121:in `block in run_callbacks'
/var/www/discourse/app/controllers/application_controller.rb:424:in `block in with_resolved_locale'
i18n-1.14.6/lib/i18n.rb:353:in `with_locale'
/var/www/discourse/app/controllers/application_controller.rb:424:in `with_resolved_locale'
activesupport-7.1.5/lib/active_support/callbacks.rb:130:in `block in run_callbacks'
activesupport-7.1.5/lib/active_support/callbacks.rb:141:in `run_callbacks'
actionpack-7.1.5/lib/abstract_controller/callbacks.rb:258:in `process_action'
actionpack-7.1.5/lib/action_controller/metal/rescue.rb:25:in `process_action'
actionpack-7.1.5/lib/action_controller/metal/instrumentation.rb:74:in `block in process_action'
activesupport-7.1.5/lib/active_support/notifications.rb:206:in `block in instrument'
activesupport-7.1.5/lib/active_support/notifications/instrumenter.rb:58:in `instrument'
activesupport-7.1.5/lib/active_support/notifications.rb:206:in `instrument'
actionpack-7.1.5/lib/action_controller/metal/instrumentation.rb:73:in `process_action'
actionpack-7.1.5/lib/action_controller/metal/params_wrapper.rb:261:in `process_action'
activerecord-7.1.5/lib/active_record/railties/controller_runtime.rb:32:in `process_action'
actionpack-7.1.5/lib/abstract_controller/base.rb:160:in `process'
actionview-7.1.5/lib/action_view/rendering.rb:40:in `process'
rack-mini-profiler-3.3.1/lib/mini_profiler/profiling_methods.rb:115:in `block in profile_method'
actionpack-7.1.5/lib/action_controller/metal.rb:227:in `dispatch'
actionpack-7.1.5/lib/action_controller/metal.rb:309:in `dispatch'
actionpack-7.1.5/lib/action_dispatch/routing/route_set.rb:49:in `dispatch'
actionpack-7.1.5/lib/action_dispatch/routing/route_set.rb:32:in `serve'
actionpack-7.1.5/lib/action_dispatch/journey/router.rb:51:in `block in serve'
actionpack-7.1.5/lib/action_dispatch/journey/router.rb:131:in `block in find_routes'
actionpack-7.1.5/lib/action_dispatch/journey/router.rb:124:in `each'
actionpack-7.1.5/lib/action_dispatch/journey/router.rb:124:in `find_routes'
actionpack-7.1.5/lib/action_dispatch/journey/router.rb:32:in `serve'
actionpack-7.1.5/lib/action_dispatch/routing/route_set.rb:882:in `call'
/var/www/discourse/lib/middleware/omniauth_bypass_middleware.rb:64:in `call'
rack-2.2.10/lib/rack/tempfile_reaper.rb:15:in `call'
rack-2.2.10/lib/rack/conditional_get.rb:40:in `call'
rack-2.2.10/lib/rack/head.rb:12:in `call'
actionpack-7.1.5/lib/action_dispatch/http/permissions_policy.rb:36:in `call'
/var/www/discourse/lib/content_security_policy/middleware.rb:12:in `call'
/var/www/discourse/lib/middleware/anonymous_cache.rb:399: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.10/lib/rack/session/abstract/id.rb:266:in `context'
rack-2.2.10/lib/rack/session/abstract/id.rb:260:in `call'
actionpack-7.1.5/lib/action_dispatch/middleware/cookies.rb:689:in `call'
actionpack-7.1.5/lib/action_dispatch/middleware/callbacks.rb:29:in `block in call'
activesupport-7.1.5/lib/active_support/callbacks.rb:101:in `run_callbacks'
actionpack-7.1.5/lib/action_dispatch/middleware/callbacks.rb:28:in `call'
actionpack-7.1.5/lib/action_dispatch/middleware/debug_exceptions.rb:29:in `call'
actionpack-7.1.5/lib/action_dispatch/middleware/show_exceptions.rb:31:in `call'
logster-2.20.0/lib/logster/middleware/reporter.rb:40:in `call'
/var/www/discourse/lib/freedom_patches/rails_rack_logger_from_rails_7_2.rb:35:in `call_app'
/var/www/discourse/lib/freedom_patches/rails_rack_logger_from_rails_7_2.rb:22: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.1.5/lib/action_dispatch/middleware/request_id.rb:28:in `call'
/var/www/discourse/lib/middleware/enforce_hostname.rb:24:in `call'
rack-2.2.10/lib/rack/method_override.rb:24:in `call'
actionpack-7.1.5/lib/action_dispatch/middleware/executor.rb:14:in `call'
rack-2.2.10/lib/rack/sendfile.rb:110:in `call'
rack-mini-profiler-3.3.1/lib/mini_profiler.rb:334:in `call'
/var/www/discourse/lib/middleware/processing_request.rb:12:in `call'
message_bus-4.3.8/lib/message_bus/rack/middleware.rb:60:in `call'
/var/www/discourse/lib/middleware/request_tracker.rb:360:in `call'
actionpack-7.1.5/lib/action_dispatch/middleware/remote_ip.rb:92:in `call'
railties-7.1.5/lib/rails/engine.rb:536:in `call'
railties-7.1.5/lib/rails/railtie.rb:226:in `public_send'
railties-7.1.5/lib/rails/railtie.rb:226:in `method_missing'
rack-2.2.10/lib/rack/urlmap.rb:74:in `block in call'
rack-2.2.10/lib/rack/urlmap.rb:58:in `each'
rack-2.2.10/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.3.0/bin/unicorn:25:in `load'
/var/www/discourse/vendor/bundle/ruby/3.3.0/bin/unicorn:25:in `<main>'

环境

请按以下格式设置您的帖子:

```
text goes here
```

您最近是否更改过任何内容?例如,安装或删除了插件?

快速猜测是您的 app.yml 中的凭据错误或格式错误 — 比如您在那些行前面没有两个空格。

全新安装后,没有任何设置,后端日志报告了一个错误。

能说得更具体些吗?谢谢。

您在 app.yml 中有类似这样的内容,对吗?

  DISCOURSE_MAXMIND_ACCOUNT_ID: <numbers>
  DISCOURSE_MAXMIND_LICENSE_KEY: <long string>

当然,两者都必须正确,但请确保这两行前面有两个空格。因为如果您没有,它不会显示任何错误,但 Maxmind 将无法工作,因为数据库未下载。

当然,原因可能还有其他,但这些缺失的空格确实会导致这种情况。


  ## 用于 IP 地址查找的 MaxMind 地理位置 IP 账户 ID 和许可证密钥
  ## 详情请参阅 https://meta.discourse.org/t/-/173941
  #DISCOURSE_MAXMIND_ACCOUNT_ID: 123456
  #DISCOURSE_MAXMIND_LICENSE_KEY: 1234567890123456
.........
  - exec: echo "开始自定义命令"
  ## 如果您想为第一次注册设置“发件人”电子邮件地址,请取消注释并进行更改:
  ## 收到第一次注册电子邮件后,请重新注释该行。它只需要运行一次。
  #- exec: rails r "SiteSetting.notification_email='info@unconfigured.discourse.org'"
  - exec: echo "自定义命令结束"

您已将 MaxMind 注释掉,因此它无法工作。