Перезапуск Discourse в контейнере

Привет! Как перезапустить Discourse, находясь в консоли контейнера?

Почему вы не можете перезапустить его из каталога Discourse? Скрипт для выполнения этой задачи предназначен для запуска именно оттуда.

Если я сделаю это таким образом, все изменения, которые я внес в файлы внутри контейнера, будут сброшены при перезапуске всего контейнера…

Ваши изменения сохранятся, если вы внесете их правильно:

  • через переменные в app.yml
  • через тему или компонент темы
  • через плагин (например, если нужно изменить поведение бэкенда)
  • в базу данных (желательно через фронтенд или rake-задачу)
  • загрузок

При редактировании app.yml необходимо пересобрать приложение

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

./launcher restart app

Нет, значения остались старыми, хотя я перезапустил после редактирования YML.

Какие переменные?

Для многих переменных вам точно потребуется пересборка.

Пересборка — это нормально. Примите это :).

Восстановление занимает слишком много времени

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

Да. Это просто занимает время — от 15 до 30 минут, если вы настраиваете файл app.yml.

После редактирования выполните команду ./launcher rebuild app
или
вы можете использовать команду ./launcher rebuild app --skip-prereqs