Специально для 3.4.0.beta4 — каковы системные требования?

Я не хочу столкнуться с проблемами обновления, как в Update “3.4.0.beta4” failed или Upgrade failed spectacularily, или с проблемами, связанными с электронной почтой, как в Severe Email Issue since last update a couple days ago - 3.4.0.beta4-dev, Severe Email Issue since last update a couple days ago - 3.4.0.beta4-dev или 550-Requested action not taken: mailbox unavailable on 3.4.0.beta4-dev.

Я видел обсуждение PostgreSQL 15 update, где говорится, что в идеальном мире мне достаточно выполнить ./launcher rebuild app дважды (с некоторыми дополнительными командами для запуска после этого). Там есть предупреждение о необходимости дополнительного места на диске, равного двойному объему базы данных, «если ваша база данных очень велика» (возможно, это дополнительное место требуется даже для небольшой базы данных?)

Есть ли список требований или конкретные инструкции для этого обновления?

Если у вас есть свободное место на диске и актуальная версия Docker, всё должно быть в порядке.

Если у вас устаревшая операционная система, из-за чего у вас установлена старая версия Docker, вам следует создать новую виртуальную машину и перенести данные на неё, как описано в статье Перенос сайта Discourse на другой VPS с помощью rsync.

Я почти уверен, что большинство проблем возникало из-за устаревших версий Docker, а они, в свою очередь, чаще всего были вызваны устаревшими версиями операционных систем.

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

Ладно, я попробую. Мне кажется, пара проблем здесь связана с версиями Docker между «устаревшей» и «минимальной» (как у меня).

Подозреваю, что это так. Трудно точно определить, какая именно версия вызывает проблему. Сегодня я обновил около 10 сайтов. Те, у которых была актуальная версия Docker, работали безупречно.

Я мог бы поступить так, но не счёл эти инструкции достаточно простыми для выполнения без ошибок. Мой подход был следующим:

  • Включить режим только для чтения.
  • Создать резервную копию Discourse через административный интерфейс.
  • Сделать снимок (snapshot) в Digital Ocean.
  • Выполнить sudo apt update, sudo apt upgrade, sudo do-release-update дважды (с 20.04 на 22.04, затем на 24.04).
  • Обновить Discourse обычным способом (дважды, в связи с обновлением Postgres).

Отлично!

Я считаю, что другие инструкции гораздо более защищены от ошибок. Если что-то пойдет не так, ваш существующий сайт продолжит работать. Если бы на одном из шагов do-release-update возникла проблема, вам просто пришлось бы восстанавливать систему из последней снимка.

Однако существует множество способов выполнения задач.

Есть много способов снять шкуру с кота!

Под «идиотоустойчивым» я имел в виду сами инструкции, например, какие флаги использовать для rsync (было несколько предложений) или каким инструкциям следовать (их было как минимум три).

Я понимаю вашу точку зрения: если бы идиот мог следовать инструкциям, ему было бы лучше воспользоваться методом rsync. Я сам предпочёл бы поступить так по причинам, которые вы указали, но просто не доверял себе в принятии правильных решений.

Если бы мне пришлось восстанавливаться из снимка, возможно, я бы попробовал именно этот способ в следующий раз!