Полное раскрытие: я очень давно не занимался ручным обслуживанием нашего самостоятельно размещённого экземпляра Discourse, а изначально его настраивал кто-то другой.
Мне нужно было сменить учётные данные SMTP, поскольку SendGrid требует перехода от базовой аутентификации к использованию API-ключей.
Я нашёл этот документ: Рекомендуемые поставщики электронной почты для Discourse
В нём сказано:
Чтобы изменить текущий почтовый сервис, выполните также команду
./discourse-setup(это временно отключит форум на несколько минут во время перестройки).
Я выполнил эту команду, ответил на вопросы как обычно, и в стандартный вывод было выведено около 2000 строк, завершившихся следующим сообщением:
Обновление завершено
----------------
Статистика оптимизатора не переносится pg_upgrade, поэтому
после запуска нового сервера рекомендуется выполнить:
./analyze_new_cluster.sh
Запуск этого скрипта удалит файлы данных старого кластера:
./delete_old_cluster.sh
-------------------------------------------------------------------------------------
ОБНОВЛЕНИЕ POSTGRES ЗАВЕРШЕНО
Старая база данных 10 сохранена в /shared/postgres_data_old
Для завершения обновления выполните повторную перестройку командой:
./launcher rebuild app
-------------------------------------------------------------------------------------
cfd4df26701b4b4cd4a4202f30a9c8165a1ba609c921bffc25f250f52fee6cbe
Я не ожидал, что это приведёт к «обновлению» чего-либо. Мне нужно было лишь сменить учётные данные SMTP. Однако сайт не восстановился автоматически, поэтому я поступил так, как указано в сообщении: «для завершения обновления» и выполнил:
./launcher rebuild app
Это вызвало ещё около 8000 строк вывода в стандартный поток. Сайт в итоге восстановился, НО он выглядит иначе:
- Логотип пропал, вместо него отображается логотип «Discourse».
- Изображения аватаров пользователей перестали отображаться. Впоследствии они снова начали работать.
- Изображения в сообщениях и логотипы категорий перестали отображаться. Они до сих пор не работают. Я искал изображения с совпадающими именами файлов в директории
./discourse/shareИ в нашем бакете S3 (где URL ожидает их найти), но их там нет. - Сообщения из моей категории «поддержка», которые я скрыл со страницы «последние», снова стали видны на этой странице.
- Моя категория «поддержка» больше не отображается на странице «категории».
- Страница «категории» теперь имеет две колонки: слева — категории, справа — «последние». Мне кажется, раньше это был просто список категорий.
- Цвет символа
+в кнопке+ Новая темаизменился с белого на серый.
На данный момент я подозреваю, что была утеряна какая-то конфигурация, но все мои сообщения сохранены. Также я предполагаю, что Discourse автоматически обновился (не знаю, с какой версии, вероятно, через множество версий), и некоторые базовые настройки по умолчанию, CSS, шаблоны и т. д. изменились, что привело к перечисленным проблемам.
Просмотрев исходный код, я увидел, что версия теперь 2.6.0.beta6, которая, как оказалось, была выпущена всего 7 дней назад.
Итак, мои вопросы:
- Нормально ли, что для применения простого изменения настроек, например учётных данных SMTP, необходимо полностью обновлять программное обеспечение?
- Как можно изменить настройки или применить обновления безопасности без обновления всего программного обеспечения?
- Где мои изображения, или почему изменился их URL таким образом, что они больше недоступны?
- Есть ли способ откатиться, не теряя новые сообщения, появившиеся после всего этого? Я даже не знаю, какая версия у нас была раньше. У меня есть резервные копии Discourse в S3 (просто сжатый дамп SQL).
- Мне просто нужно вручную пройти все настройки и кастомизации, чтобы исправить такие вещи, как цвет
+ Новая тема, а также скрытую/видимую категорию «поддержка»?
Я думал, что мы делали снимки EBS нашего тома EC2, на котором размещён Discourse, но оказалось, что это не так. Я включил снимки, чтобы в будущем при необходимости можно было откатиться этим способом.
Спасибо.