# Обновление / пересборка не удаются из-за прекращения поддержки MaxMind DB

**URL:** https://meta.discourse.org/t/upgrade-rebuilds-fail-due-to-maxmind-db-eol/137387
**Category:** Self-hosting
**Tags:** maxmind
**Created:** [30.Декабрь.2019 19:03:21 UTC](https://meta.discourse.org/t/upgrade-rebuilds-fail-due-to-maxmind-db-eol/137387 "2019-12-30T19:03:21Z")
**Posts on this page:** 16
**Page:** 1

<div class="post-metadata">

### Author: ![iczster](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/iczster/32/126360_2.png) [@iczster](https://meta.discourse.org/u/iczster)
#### Post date: [30.Декабрь.2019 19:03:21 UTC](https://meta.discourse.org/t/upgrade-rebuilds-fail-due-to-maxmind-db-eol/137387/1 "2019-12-30T19:03:21Z")

</div>

Ребята,

Надеюсь, кто-то сможет помочь. У меня уже больше 12 месяцев не возникало проблем с обновлением моего форума, который работает в контейнере Docker на EC2.

Я пробовал:

- очистку launcher, но проблем с местом на диске нет
- последнюю команду git pull
- многократную пересборку приложения
- даже пробовал выполнить discourse-setup и собирался попробовать восстановление базы данных ☹
- перезагрузку сервера
- apt-get update; apt-get upgrade

Вот конец лога:

```
Done compressing all JS files : 88.88 secs
rake aborted!
SocketError: Failed to open TCP connection to geolite.maxmind.com:443 (getaddrinfo: No address associated with hostname)
/var/www/discourse/lib/final_destination.rb:411:in `safe_session'
/var/www/discourse/lib/final_destination.rb:362:in `safe_get'
/var/www/discourse/lib/final_destination.rb:131:in `get'
/var/www/discourse/lib/file_helper.rb:51:in `download'
/var/www/discourse/lib/discourse_ip_info.rb:30:in `mmdb_download'
/var/www/discourse/lib/tasks/assets.rake:220:in `block (3 levels) in <top (required)>'
/var/www/discourse/lib/tasks/assets.rake:219:in `each'
/var/www/discourse/lib/tasks/assets.rake:219:in `block (2 levels) in <top (required)>'

Caused by:

SocketError: getaddrinfo: No address associated with hostname

/var/www/discourse/lib/final_destination.rb:411:in `safe_session'
/var/www/discourse/lib/final_destination.rb:362:in `safe_get'
/var/www/discourse/lib/final_destination.rb:131:in `get'
/var/www/discourse/lib/file_helper.rb:51:in `download'
/var/www/discourse/lib/discourse_ip_info.rb:30:in `mmdb_download'
/var/www/discourse/lib/tasks/assets.rake:220:in `block (3 levels) in <top (required)>'
/var/www/discourse/lib/tasks/assets.rake:219:in `each'
/var/www/discourse/lib/tasks/assets.rake:219:in `block (2 levels) in <top (required)>'

Tasks: TOP => assets:precompile

(See full trace by running task with --trace)

I, [2019-12-30T18:56:27.608998 #1] INFO -- : Downloading MaxMindDB...
Compressing Javascript and Generating Source Maps
I, [2019-12-30T18:56:27.633923 #1] INFO -- : Terminating async processes
I, [2019-12-30T18:56:27.637383 #1] INFO -- : Sending INT to HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/10/bin/postmaster -D /etc/postgresql/10/main pid: 49
I, [2019-12-30T18:56:27.639770 #1] INFO -- : Sending TERM to exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 166
166:signal-handler (1577732187) Received SIGTERM scheduling shutdown...
2019-12-30 18:56:27.639 UTC [49] LOG: received fast shutdown request
2019-12-30 18:56:27.654 UTC [49] LOG: aborting any active transactions
166:M 30 Dec 2019 18:56:27.666 # User requested shutdown...
166:M 30 Dec 2019 18:56:27.694 * Saving the final RDB snapshot before exiting.
2019-12-30 18:56:27.702 UTC [49] LOG: worker process: logical replication launcher (PID 58) exited with exit code 1
2019-12-30 18:56:27.711 UTC [53] LOG: shutting down
2019-12-30 18:56:27.819 UTC [49] LOG: database system is shut down
166:M 30 Dec 2019 18:56:27.885 * DB saved on disk
166:M 30 Dec 2019 18:56:27.886 # Redis is now ready to exit, bye bye...

FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake assets:precompile' failed with return #<Process::Status: pid 507 exit 1>
Location of failure: /pups/lib/pups/exec_command.rb:112:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"assets_precompile", "cmd"=>["su discourse -c 'bundle exec rake assets:precompile'"]}
fcf17d793c27c4e87616420ead222cc3f4a9fc163f239a5542b1c9a092579b30

**FAILED TO BOOTSTRAP** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.

```

Очень надеюсь, что кто-то сможет пролить свет на эту ситуацию.

Спасибо всем.

---

<div class="post-metadata">

### Author: ![lw1](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/lw1/32/82012_2.png) [@lw1](https://meta.discourse.org/u/lw1)
#### Post date: [02.Январь.2020 12:55:44 UTC](https://meta.discourse.org/t/upgrade-rebuilds-fail-due-to-maxmind-db-eol/137387/22 "2020-01-02T12:55:44Z")

</div>

На случай, если кто-то захочет продолжать использовать последние файлы, опубликованные под старой лицензией, я сохранил все их в [archive.org](http://archive.org).

Все файлы созданы компанией MaxMind и распространяются под [Международной лицензией Creative Commons Attribution-ShareAlike 4.0](https://creativecommons.org/licenses/by-sa/4.0/).

| URL [archive.org](http://archive.org) | MD5-хэш | Заголовок Last-Modified |
| --- | --- | --- |
| [GeoLite2-City.tar.gz](https://web.archive.org/web/20191227182209/https://geolite.maxmind.com/download/geoip/database/GeoLite2-City.tar.gz) | 7ba2c58b4e0eac6c08c6399aebdae26c | Вт, 24 дек 2019 17:46:00 GMT |
| [GeoLite2-Country.tar.gz](https://web.archive.org/web/20191227182412/https://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.tar.gz) | dc6224c648350d90f344a0c5c3ca5474 | Вт, 24 дек 2019 17:40:42 GMT |
| [GeoLite2-ASN.tar.gz](https://web.archive.org/web/20191227182527/https://geolite.maxmind.com/download/geoip/database/GeoLite2-ASN.tar.gz) | f3c9c5775fd226db6e8098675ff65861 | Вт, 24 дек 2019 14:16:58 GMT |
| [GeoLite2-City-CSV.zip](https://web.archive.org/web/20191227182816/https://geolite.maxmind.com/download/geoip/database/GeoLite2-City-CSV.zip) | 89e5bf01a970b5668d74cf29a242d546 | Вт, 24 дек 2019 17:45:52 GMT |
| [GeoLite2-Country-CSV.zip](https://web.archive.org/web/20191227183011/https://geolite.maxmind.com/download/geoip/database/GeoLite2-Country-CSV.zip) | f50b518341de54fe48c5e34f13e24e99 | Вт, 24 дек 2019 17:40:41 GMT |
| [GeoLite2-ASN-CSV.zip](https://web.archive.org/web/20191227183143/https://geolite.maxmind.com/download/geoip/database/GeoLite2-ASN-CSV.zip) | 463ccd73c104c52547fa50a84fc2f86e | Вт, 24 дек 2019 14:16:58 GMT |

[Архив страницы с информацией](https://web.archive.org/web/20191227183324/https://dev.maxmind.com/geoip/geoip2/geolite2/) ([Скриншот](https://web.archive.org/web/20191227183324/http://web.archive.org/screenshot/https://dev.maxmind.com/geoip/geoip2/geolite2/))

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [03.Январь.2020 05:45:49 UTC](https://meta.discourse.org/t/upgrade-rebuilds-fail-due-to-maxmind-db-eol/137387/23 "2020-01-03T05:45:49Z")

</div>

Теперь мы поддерживаем официально одобренный способ получения баз данных согласно:

> <https://github.com/discourse/discourse/commit/a8ffb6949c76ea16e96ec4d45e6524cd8cc42c2d>
>
> MaxMind now requires an account with a license key to download files.
> 
> Discourse… admins can register for such an account at:
> 
> https://www.maxmind.com/en/geolite2/signup
> 
> License key generation is available in the profile section.
> 
> Once registered you can set the license key using \`DISCOURSE\_MAXMIND\_LICENSE\_KEY\`
> 
> This amends it so we unconditionally skip MaxMind DB downloads if no license key exists.

Если вы хотите получать регулярные обновления от MaxMind, вам необходимо перейти на [GeoLite sign up | MaxMind](https://www.maxmind.com/en/geolite2/signup), зарегистрировать учётную запись и сгенерировать лицензионный ключ.

Затем вам нужно будет изменить конфигурацию вашего контейнера, добавив ключ в секцию `env:`:

```plaintext
env:
   DISCOURSE_MAXMIND_LICENSE_KEY: ...ключ здесь...

```

Это исправление гарантирует, что больше не будет «бомбы замедленного действия». Если у нас нет лицензионного ключа, мы никогда не будем пытаться загружать файлы.

Мы обсуждаем с MaxMind возможность включения обновлённых баз данных в наши новые базовые образы. В зависимости от исхода для самохостеров есть два варианта:

1. Отсутствие разрешения IP-адресов на странице профиля пользователя и в панели администратора до добавления лицензии.

2. Устаревшее разрешение IP-адресов в течение N дней с момента получения базового образа (то есть после выполнения команды `./launcher rebuild app`).

Скорее всего, для самохостеров будет реализован вариант (1).

Мы также рассматриваем другие альтернативы, но наши возможности здесь довольно ограничены.

Я категорически против добавления в ядро функциональности для поиска IP-адресов через веб-сервис, так как это раскрывает информацию третьей стороне. Существует только два основных варианта, и оба требуют регистрации.

---

<div class="post-metadata">

### Author: ![itsbhanusharma](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/itsbhanusharma/32/180717_2.png) [@itsbhanusharma](https://meta.discourse.org/u/itsbhanusharma)
#### Post date: [07.Январь.2020 11:37:25 UTC](https://meta.discourse.org/t/upgrade-rebuilds-fail-due-to-maxmind-db-eol/137387/29 "2020-01-07T11:37:25Z")

</div>

@sam У меня небольшая просьба о новой функции: можно ли добавить в панель администратора настройку для ввода ключа лицензии MaxMind?

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [07.Январь.2020 12:41:19 UTC](https://meta.discourse.org/t/upgrade-rebuilds-fail-due-to-maxmind-db-eol/137387/31 "2020-01-07T12:41:19Z")

</div>

В ближайшем будущем это маловероятно, так как это глобальная настройка; для отдельного сайта в рамках Multisite это не имеет смысла.

---

<div class="post-metadata">

### Author: ![ewan](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ewan/32/121635_2.png) [@ewan](https://meta.discourse.org/u/ewan)
#### Post date: [08.Январь.2020 09:58:30 UTC](https://meta.discourse.org/t/upgrade-rebuilds-fail-due-to-maxmind-db-eol/137387/34 "2020-01-08T09:58:30Z")

</div>

У кого-то еще возникает эта ошибка при попытке зарегистрироваться в аккаунте MaxMind?

 ![no-account](https://global.discourse-cdn.com/meta/original/3X/5/8/589aa9b55874fcb6967659e126f30bbd807b8a68.png)

---

<div class="post-metadata">

### Author: ![jomaxro](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jomaxro/32/126216_2.png) [@jomaxro](https://meta.discourse.org/u/jomaxro)
#### Post date: [08.Январь.2020 11:57:03 UTC](https://meta.discourse.org/t/upgrade-rebuilds-fail-due-to-maxmind-db-eol/137387/35 "2020-01-08T11:57:03Z")

</div>

Могу подтвердить, что мы смогли зарегистрировать аккаунт без проблем. По вопросам, связанным с аккаунтом, вам необходимо обратиться в службу поддержки MaxMind; мы не можем помочь с этим здесь.

---

<div class="post-metadata">

### Author: ![pgr](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pgr/32/156783_2.png) [@pgr](https://meta.discourse.org/u/pgr)
#### Post date: [24.Январь.2020 13:46:00 UTC](https://meta.discourse.org/t/upgrade-rebuilds-fail-due-to-maxmind-db-eol/137387/44 "2020-01-24T13:46:00Z")

</div>

Я пытаюсь обновиться с версии 2.3.8 до 2.3.9, но ничего не помогает.

Судя по всему, ключевая ошибка — та, что обсуждается в этой теме.

```plaintext
rake aborted!
SocketError: Failed to open TCP connection to geolite.maxmind.com:443 (getaddrinfo: Name or service not known)

```

В файле `app.yml` я пробовал устанавливать значения 30, 100 и 0 для флага `env`:

` DISCOURSE_REFRESH_MAXMIND_DB_DURING_PRECOMPILE_DAYS: 0`

Но это, похоже, не даёт никакого эффекта (интересно, правильно ли этот параметр распознаётся).

Что ещё можно попробовать?

---

<div class="post-metadata">

### Author: ![downey](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/downey/32/166878_2.png) [@downey](https://meta.discourse.org/u/downey)
#### Post date: [24.Январь.2020 14:56:01 UTC](https://meta.discourse.org/t/upgrade-rebuilds-fail-due-to-maxmind-db-eol/137387/45 "2020-01-24T14:56:01Z")

</div>

Спасибо всем, кто работал над быстрым исправлением в последние несколько недель. Пришлось проделать то же самое с Matomo, что было гораздо более болезненно (вручную).

Это подводит меня к моему вопросу: **Где именно используются данные MaxMind? Только в случаях, когда администраторы просматривают IP-адреса пользователей? Или есть что-то ещё, о чём я не подумал?**

Очевидно, что у меня уже есть аккаунт MM, но я задаюсь вопросом, стоит ли прилагать усилия для этого с какой-либо срочностью.

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [24.Январь.2020 15:03:16 UTC](https://meta.discourse.org/t/upgrade-rebuilds-fail-due-to-maxmind-db-eol/137387/46 "2020-01-24T15:03:16Z")

</div>

Она выполняет географический поиск по IP-адресам. Я недавно выполнил множество установок и обновлений без настройки API-ключа, и пересборки работали без проблем. (текущая версия — beta 10)

Кроме того, получить ключ для загрузки базы данных несложно.

Я надеюсь, что на следующей неделе обновлю утилиту discourse-setup, чтобы добавить поддержку ключа.

---

<div class="post-metadata">

### Author: ![jomaxro](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jomaxro/32/126216_2.png) [@jomaxro](https://meta.discourse.org/u/jomaxro)
#### Post date: [24.Январь.2020 15:10:45 UTC](https://meta.discourse.org/t/upgrade-rebuilds-fail-due-to-maxmind-db-eol/137387/47 "2020-01-24T15:10:45Z")

</div>

> [@downey](#):
>
> Где именно используются данные MaxMind? Только в случаях, когда администраторы просматривают IP-адреса пользователей? Или есть что-то ещё, о чём я не подумал?

Верно, они используются администраторами для определения IP-адресов пользователей. Также для списка «недавно использованные устройства» в настройках пользователя и для оповещений администраторов при обнаружении входа в аккаунт с нового местоположения.

---

<div class="post-metadata">

### Author: ![matpen](https://avatars.discourse-cdn.com/v4/letter/m/96bed5/32.png) [@matpen](https://meta.discourse.org/u/matpen)
#### Post date: [24.Январь.2020 15:27:56 UTC](https://meta.discourse.org/t/upgrade-rebuilds-fail-due-to-maxmind-db-eol/137387/48 "2020-01-24T15:27:56Z")

</div>

Извините за вторжение, но я хотел спросить, планируется ли сохранить возможность отключения поиска по IP. Мне кажется, что принуждение администраторов к подписке на сторонний сервис — не лучшая идея. У меня уже есть лицензионный ключ для других целей, поэтому я говорю в общем смысле.

---

<div class="post-metadata">

### Author: ![david](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/david/32/157490_2.png) [@david](https://meta.discourse.org/u/david)
#### Post date: [24.Январь.2020 15:30:46 UTC](https://meta.discourse.org/t/upgrade-rebuilds-fail-due-to-maxmind-db-eol/137387/49 "2020-01-24T15:30:46Z")

</div>

Если вы не введёте лицензионный ключ, он будет отключён. Никаких принудительных требований для администраторов по его настройке нет.

> [@matpen](#):
>
> подписка на сторонний сервис

Также, на случай возможной путаницы, Discourse никогда не передаёт IP-адреса третьим сторонам. Discourse загружает полную базу данных геолокации IP-адресов от MaxMind и затем выполняет поиск внутренними средствами.

---

<div class="post-metadata">

### Author: ![matpen](https://avatars.discourse-cdn.com/v4/letter/m/96bed5/32.png) [@matpen](https://meta.discourse.org/u/matpen)
#### Post date: [24.Январь.2020 15:42:48 UTC](https://meta.discourse.org/t/upgrade-rebuilds-fail-due-to-maxmind-db-eol/137387/50 "2020-01-24T15:42:48Z")

</div>

Отлично, спасибо за уточнение!

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [05.Февраль.2020 22:12:58 UTC](https://meta.discourse.org/t/upgrade-rebuilds-fail-due-to-maxmind-db-eol/137387/70 "2020-02-05T22:12:58Z")

</div>

Пересмотр этого… это было перенесено обратно в стабильную версию.

---

<div class="post-metadata">

### Author: ![system](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/system/32/443519_2.png) [@system](https://meta.discourse.org/u/system)
#### Post date: [06.Март.2020 22:17:21 UTC](https://meta.discourse.org/t/upgrade-rebuilds-fail-due-to-maxmind-db-eol/137387/71 "2020-03-06T22:17:21Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
