Как определить, нужно ли обновляться через веб-интерфейс или консоль?

Я поискал и нашел эту инструкцию:

В ней говорится, что обновлять нужно каждые пару недель, а каждые пару месяцев следует выполнять обновление через:

Если вы размещаете Discourse самостоятельно, вам периодически нужно запускать ручное обновление через командную строку, чтобы получить последние выпуски безопасности и новейшие библиотеки. Эти обновления не подхватываются в разделе admin/update, поэтому иногда требуется выполнить этот дополнительный шаг.

Есть ещё несколько тем, где обсуждается разница между обновлением через admin → update и через SSH/консоль, но ни в одной из них не разъясняется, какие обновления нельзя выполнить через браузер.

По моему опыту, за 9 месяцев работы с Discourse одно обновление через веб-интерфейс (admin) не удалось. Я нашёл статью выше и выполнил указанные команды в сеансе SSH.

Есть ли лучший способ определить, какой метод использовать, чем просто ждать, пока «более простой способ не сработает»?

Заранее спасибо.

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

Однако мои форумы имеют невысокую посещаемость, и небольшие простои не представляют большой проблемы.

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

Спасибо, это полезно. Я предполагал, что командная строка могла бы быть быстрее (меньше простоя/времени на мониторинг процесса).

Мы считали наличие веб-интерфейса или GUI для обновлений большим плюсом, потому что, несмотря на то, что у меня есть десятилетия опыта программирования и администрирования в Unix/Linux, я являюсь единой точкой отказа в организации, поэтому было разочарование узнать, что некоторые обновления требуют командной строки.

Всё в порядке, это отличная платформа, более чем стоит своих денег :slight_smile:

Кажется, хорошей идеей будет подготовиться к обновлению через командную строку, даже если вы собираетесь выполнить обновление через веб-интерфейс. Лично я перед этим проверяю этот форум, чтобы узнать, не возникло ли у кого-либо проблем в данный момент. Бывает, что код временно неработоспособен. Также я всегда делаю резервную копию и скачиваю её перед началом.

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

Я не до конца понимаю Docker (это преуменьшение), но, насколько я знаю, если вы окажетесь с частично обновлённым форумом, который не работает, вы сможете в каком-то смысле запустить версию до обновления, пока ждёте помощи. (Я искал «перезапуск старого контейнера», но не нашёл точной информации по этому вопросу.)

./launcher start app должен вернуть предыдущую версию до пересборки, если процесс прерывается на полпути.

Хотя я чаще обновляюсь через интерфейс. Так нет простоя. Иногда приходится обновлять через командную строку, но обычно вам предложат сделать это после обновления Docker Manager и перед попыткой обновления самого Discourse.

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

У меня есть панель управления на dashboard.literatecomputing.com, которая позволяет выполнять пересборку через командную строку в один клик. Хотя я надеюсь, что люди будут платить за её использование (и мою поддержку), в течение «ограниченного времени» вы можете присоединиться к группе бесплатной пробной версии и использовать её бесплатно. Она решает множество проблем, таких как удаление плагинов, перенесённых в ядро, обновление Postgres, перезапуск старого контейнера при неудачной пересборке, обновление только веб-контейнера в случае установки с двумя контейнерами и так далее.

Справедливое замечание. Я немного параноик: делаю снимок системы до и после обновлений, помимо резервных копий приложения Discourse. … Мне, наверное, стоит больше узнать о восстановлении из резервных копий.

Я ещё не использовал снимок… У меня есть ощущение, что это опция за дополнительную плату.

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

Системные снимки (по-моему) требуют простоя во время создания и являются явным излишеством. Вам достаточно копии вашего app.yml и файла резервной копии. Если резервные копии хранятся в S3, то для запуска совершенно нового сервера и восстановления данных вам понадобится только ваш app.yml.

Снимки однозначно требуют простоя, а мои снимки обходятся в пару долларов в месяц за хранение.

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