Discourseの公式に推奨されるデータベース取得方法が、以下のコミットに基づいてサポートされるようになりました:
MaxMindの定期的な更新情報を入手したい場合は、GeoLite sign up | MaxMind にアクセスしてアカウントを登録し、ライセンスキーを生成する必要があります。
その後、コンテナの設定を以下のように変更して、env: セクションにライセンスキーを含めてください:
env:
DISCOURSE_MAXMIND_LICENSE_KEY: ...ここにキーを記述...
この修正により、タイムボム問題は解消されました。ライセンスキーがない場合、ファイルのダウンロードを試みることはありません。
現在、MaxMindと協議中で、更新されたデータベースを新しいベースイメージにバンドルする可能性を検討しています。その結果に応じて、セルフホスト環境では以下の2つの選択肢が考えられます:
-
ライセンスキーを追加するまで、ユーザープロフィールページおよび管理ページでのIPアドレスの解決が行われない
-
ベースイメージを取得してから最大N日間(つまり、
./launcher rebuild appを実行してから)、古いIPアドレスの解決結果が表示され続ける
セルフホスト環境では、おそらく (1) が採用される見込みです。
他にも代替案を検討していますが、現状では選択肢が限られています。
私は、Webサービスを通じてIPアドレスを照会する機能をコアに追加することに強く反対しています。それは第三者に情報を漏洩させるリスクがあるためです。現在、実用的な代替手段は2つしかなく、どちらも登録が必要です。