Автоматические обновления через cronjob — это безопасно?

Я думаю об автоматическом обновлении Discourse через cron. Например, раз в две недели ночью cron будет выполнять следующую команду:

cd /var/discourse
./launcher rebuild app

Как вы думаете, это безопасно? Или лучше делать это вручную?

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

Да. Я подумывал отправить все результаты сборки по почте, чтобы проверить их утром.

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

Старый контейнер останавливается, а новый запускается только после успешного завершения загрузки.

На данный момент у меня не возникло никаких проблем.

Как сказал Джей, в редких случаях обновление может вызвать проблемы (будь то в самом Discourse или с плагинами/компонентами).
Я сталкивался с этим несколько раз за пару лет. Это очень редко, и исправления вносятся быстро, но из-за этого я предпочитаю сначала получать информацию об обновлениях (и проверять категорию bug :eyes:), прежде чем пересоздавать свои экземпляры. Часто я жду несколько дней после официального выпуска новой версии.

Также иногда выполняю ./launcher cleanup.

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

Есть ли что-то новое об этом в 2026 году?

Я хотел бы как можно скорее внедрить обновления безопасности (даже с риском нарушения работы продакшн-сайта из-за отсутствия внимания к обновлению). Discourse на самом деле не различает обновления безопасности и другие… поэтому я не против обновлять всё каждый день. Остаётся ли cron-задача актуальным решением?

Лично я бы так не делал. С одной стороны, мне даже не нужно обновляться ежемесячно для исправления уязвимостей — то есть, я читаю примечания к выпуску и принимаю решение. С другой стороны, если обновляться ежедневно, вы чаще столкнетесь с редкими случаями, когда система откажет. У вас, безусловно, будет больше простоев.

Если вас не смущает, что задание cron иногда будет «убивать» форум, пока кто-то опытный не приедет и не починит его, тогда конечно, запускайте задание cron. Но имейте в виду: опытному специалисту, возможно, придётся связаться с разработчиками здесь и ждать ещё несколько часов, пока проблема не будет диагностирована и устранена.

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

Мое беспокойство связано больше с безопасностью: недавние события (например, взлом пакетов npm от Axios неделю назад…) показывают, что нам, возможно, стоит обновлять библиотеки через 7 дней после нового релиза.

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

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

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

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