Мы просто нажали кнопку обновления администратора.
Не ожидали такого:
Упс
Программное обеспечение, управляющее этим форумом, столкнулось с неожиданной проблемой. Приносим извинения за неудобства.
Подробная информация об ошибке была записана в лог, и автоматически сформировано уведомление. Мы разберёмся в этом.
Дальнейших действий с вашей стороны не требуется. Однако, если ошибка сохраняется, вы можете предоставить дополнительные детали, включая шаги для воспроизведения проблемы, опубликовав тему в разделе обратной связи сайта.
Теперь, хотя это немного обескураживает (что, если это произойдёт, когда на сайте будет несколько тысяч пользователей?)… у нас пока нет пользователей. Повезло. Но мы не можем вернуть сайт в рабочее состояние. Никакой явной ошибки не видно, никаких шагов для восстановления того, что пошло не так… если только не считать зловещее «автоматически сформировано уведомление». Кто получил это уведомление? Что в нём написано? Почему простое обновление программного обеспечения отправляет сайт в небытие? Как мы можем это исправить?
К сожалению, ничего больше не работало. Поэтому нам пришлось заново запустить резервный сервер, и теперь мы с осторожностью относимся к повторным обновлениям.
Есть ли способ обновиться в безопасном режиме? Вряд ли можно допустить, чтобы при каждом обновлении программного обеспечения мы рисковали полным простоем.
Это реальный риск для любого приложения, включая Discourse. Вот почему крупные компании используют тестовые серверы, а мы, мелкие игроки, делаем резервные копии (сайта И базы данных) перед каждым обновлением, но хотя бы перед любым обновлением.
Не могли бы вы рассказать подробнее о вашей конфигурации? Например, какая у вас версия, является ли установка стандартной и есть ли у вас какие-либо плагины (официальные или сторонние).
Обычно обновления проходят очень гладко, однако создание резервной копии работающего сайта непосредственно перед этим всегда разумно на всякий случай.
Это стандартная установка через Docker, однако у нас установлено несколько плагинов (но ничего необычного, действительно. Пока никакого кастомного кода нет).
На данный момент (без лога ошибок) я не могу сказать больше. Думаю, нам снова придётся рискнуть: сделать резервную копию, выполнить обновление и, если оно снова не удастся, отправить логи…
Также в этой теме есть несколько полезных советов о том, как обновить сервер вручную:
Команда ./launcher rebuild app часто может стать хорошим планом Б, а если при её выполнении возникнут ошибки, вы можете прокрутить сообщение вверх и ознакомиться с ними.
Довольно близко /var/discourse/shared/standalone/log/rails/production.log
и, возможно, /var/discourse/shared/standalone/log/rails/production_errors.log