Моя установка отстает на 16 359 коммитов! Советы?

И кнопка «Обновить» неактивна:

Есть какие-то советы, как выполнить «Обновление»?

Выполните обновление через командную строку.

Однако, так как вы очень сильно отстали, я настоятельно рекомендую сначала создать резервную копию. Возможно, вам даже стоит развернуть систему на совершенно новом сервере и восстановить данные из одной из ваших резервных копий.

После создания резервной копии вы можете попробовать следующее:

./launcher cleanup app, а затем
./launcher rebuild app

Но возможно, вы обнаружите, что ваша операционная система или версия Docker устарели. Тем не менее, стоит попробовать.

Старые, когда последние обновления были час и неделю назад?

Редактирование: кстати, мое мнение другое. Но это время обновления не говорит о том, когда все они были обновлены в последний раз на форуме, а когда этот список был обновлен? Если так, то автор темы должен как можно скорее обновиться через консоль.

Спасибо. Попробую, когда вернусь к этому.

Да, не совсем понятно, что имеется в виду под «час назад». Прошло уже очень много времени!

Это время последнего обновления репозиториев. Не самого сайта.

Да, я понял это, когда проверил свой вариант. Каждый день что-то новое (хотя я практически никогда не использую обновление интерфейса).

Также см. обновление PostgreSQL 15.

Вы не обновлялись уже 4 года?

Скорее всего, ваша операционная система тоже устарела, поэтому я бы порекомендовал создать новую виртуальную машину и перенести сайт Discourse на другой VPS с помощью rsync, возможно, исключив postgres_*, а затем восстановить резервную копию. Так вы избежите обновления базы данных, просто восстановите свои данные, и миграция произойдёт автоматически при восстановлении.

Это проще, и если что-то пойдёт не так, ваш текущий сайт сможет продолжать работать в ограниченном режиме.

Хорошо, начинаем. Я создал резервную копию, но не могу скачать её через интерфейс — система пишет, что отправлено письмо, но сервер в данный момент не отправляет письма.

Я зашёл через SSH и вижу, что это Ubuntu 14.

Думаю, лучший вариант — развернуть новую установку последней версии Discourse на актуальной ОС, а затем загрузить резервную копию (сначала получив её через SSH).

Это автоматически выполнит миграцию базы данных после импорта, верно?

Коммит, на котором я нахожусь, — 46d899f9c10ebc0d44ced97d6f724dff295e7741.

Я также добавил файл containers/app.yml (не помню, зачем), например, с такими настройками:

env:
  DISCOURSE_HOSTNAME: 'lume.community'
  LETSENCRYPT_ACCOUNT_EMAIL: 'joe@trusktr.io'

Не помню, были ли эти конфигурации обязательными. Они нужны? Идеальный сценарий — просто запустить новый экземпляр Discourse, загрузить базу данных и сразу начать работу.

Сейчас попробую создать новый экземпляр…

Хостнейм обязателен. Let’s Encrypt скоро не будет иметь значения.

Восстановление вашей старой базы данных на новом сайте должно работать без проблем. Именно так я бы это сделал.

У меня в app.yml уже несколько лет есть следующее:

  # TODO (joe) удалить эту строку, как только Discourse исправит связанную проблему
  # См. https://meta.discourse.org/t/upgrade-rebuilds-fail-due-to-maxmind-db-eol/137387/2
  DISCOURSE_REFRESH_MAXMIND_DB_DURING_PRECOMPILE_DAYS: 30

Ссылка на:

Могу ли я удалить это при создании нового экземпляра? Или нужно что-то сделать? Я предполагаю, что эта проблема была устранена очень давно, и я могу не включать эту настройку в app.yml?

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

Вы можете протестировать ручную загрузку с помощью команды rake:

./launcher enter app
rake maxminddb:get
exit

(сообщение удалено автором)

Вам не обязательно удалять его; я думаю, что всегда полезно, чтобы другие видели решение, связанное с проблемой.


Я сейчас на этом экране после чистой установки и задаюсь вопросом, как импортировать базу данных из старого экземпляра, прежде чем делать что-либо ещё:

Думаю, нужно сначала зарегистрироваться, а затем импортировать данные через интерфейс. Возможно, стоит не использовать для регистрации адрес электронной почты администратора из импортируемой базы данных, чтобы избежать конфликта.

Попробую. В любом случае всегда можно начать заново.

РЕДАКТИРОВАНИЕ: Ах, понятно, разрешена регистрация только с тем адресом администратора, который я указал при настройке. Посмотрим, что получится.

РЕДАКТИРОВАНИЕ: Мне придётся вернуться к этому позже, так как письма не отправляются. Mailgun, похоже, заблокировал мой аккаунт «из-за возможного компрометирования», и мне нужно это уладить.

РЕДАКТИРОВАНИЕ: Я обошёл проблему с почтой, импортировав резервную копию через командную строку.

Похоже, всё сработало!! :partying_face:

У вас получилось!

Если в будущем вам понадобится сделать это снова, вы можете восстановить резервную копию из командной строки.

Если у вас есть резервные копии в S3 и вы добавили соответствующие настройки в свой файл YAML, вам даже не придется перемещать файл резервной копии вручную.