Продолжение обсуждения из Upgrade failed spectacularily:
Какой лучший способ проверить, нужны ли обновления для моего VPS, перед выполнением обновления Discourse? Спасибо.
Продолжение обсуждения из Upgrade failed spectacularily:
Какой лучший способ проверить, нужны ли обновления для моего VPS, перед выполнением обновления Discourse? Спасибо.
По памяти, я думаю, что вы можете обновить его, когда ваша версия ОС устарела или когда Docker устарел?
Если вы используете Ubuntu LTS (обычно это рекомендуемый дистрибутив для Discourse). На сколько я понимаю, каждое бесплатное издание имеет цикл поддержки в 5 лет.
Исходя из моего понимания списка, если вы используете версии 18.04 или 20.04, вам стоит рассмотреть возможность обновления операционной системы. Если вы точно используете 18.04, а поддержка 20.04 заканчивается в апреле, то также следует подумать об обновлении.
Другим важным аспектом является проверка совместимости версий Docker. В этом вопросе я, честно говоря, не уверен. Однако, по моему предположению, Ubuntu 22.04 LTS возможно поддерживает последнюю версию Docker, требуемую для Discourse, но для подтверждения этого потребуется мнение специалиста с более глубокими знаниями. Впрочем, возможно, нужная информация уже есть в результатах поиска по Meta здесь.
Discourse 3.4 требует Docker 24.0.7 и выше.
Согласно результатам поиска в Google, Ubuntu 22.04 LTS поддерживает эту версию.
Конечно, она также поддерживается в новейшей Ubuntu 24 LTS. Похоже, что поддержка есть и в Ubuntu 20.04 LTS, но, на мой взгляд, стоит рассмотреть возможность обновления, так как поддержка этой LTS-версии заканчивается в апреле 2025 года. Однако теоретически это должно быть безопасно, если вам нужно больше времени перед обновлением операционной системы.
Вы знаете, какая у вас версия ОС? Я предполагаю, что вы используете Ubuntu LTS.
Моя версия Docker (20.10.21) раньше указанной, а версия Discourse — 3.4.0.beta4-dev. Discourse сообщает, что необходимо обновиться до 3.4.0.beta4: «Доступно критическое обновление. Пожалуйста, обновитесь!»
Два вопроса:
Указаны ли требования в примечаниях к выпуску? Я всегда пробегался глазами по сообщениям с анонсами, но не замечал упоминаний требований к Docker или Ubuntu.
Полагаю, мне следует сначала обновить Ubuntu до 24.04 и Docker до версии, идущей с ней, прежде чем обновлять Discourse. Правильно ли я понимаю?
Спасибо.
Вы имеете в виду «не можете»? Я так полагаю.
Вы имеете в виду, что скрипт обновления завершится корректно, если требования не выполнены, не нарушив работу моего форума?
Я только что заметил на странице discourse_docker/launcher at main · discourse/discourse_docker · GitHub
docker_min_version='20.10.0'
docker_rec_version='24.0.7'
Возможно, у меня пока всё в порядке. Надеюсь, вы ошибались насчёт версии 24.0.7 — но, возможно, я сам смотрю не туда. Не могли бы вы проверить и подтвердить? Буду очень признателен. Спасибо.
Требования к Docker для Discourse 3.4 я взял из темы, где была неудачная попытка обновления через командную строку. Там, как я помню, Джей из упомянутой вами темы (или в другой теме) отметил, что Docker необходимо обновить на основе предоставленного лога. В логе указано, что Docker должен быть не ниже указанной мной минимальной версии.
Скорее всего, они указаны, но если честно, я не всегда внимательно их читаю. Попробую поискать здесь.
Если ваша LTS-версия Ubuntu — 18.04, то да, обязательно. Если же это Ubuntu 20.04 LTS, как упоминалось, то, думаю, её можно обновить вручную через командную строку. Насколько я помню, есть тема об обновлении Docker. В документации Docker, на которую я дал ссылку, должны быть инструкции по обновлению. Но рекомендую сначала поискать тему, чтобы убедиться, есть ли рекомендуемые шаги, которые стоит выполнить заранее.
Имейте в виду, что я тоже ещё многому учусь в работе с Discourse. Такие люди, как Джей и Роберт (Merrifield), — лишь несколько примеров пользователей с гораздо большим опытом и пониманием подобных тем.
Главный шаг — обязательно сделать резервную копию. На мой взгляд, стоит создать снимок сервера и резервную копию Discourse. Снимок сервера с заранее объявленным временем простоя — это хорошо, так как вы сможете откатиться к состоянию до обновления. Думаю, что резервная копия Discourse тоже должна сработать.
Не уверен. Я ориентировался только на сообщения с опубликованными логами.
Но вот руководство из раздела Documentation, которое, возможно, поможет:
Если бы я составил блок-схему для ответа, первый вопрос был бы примерно таким:
Применимы ли все следующие условия? Если да, действуйте в соответствии со своим опытом. Если нет, убедитесь, что вы используете последнюю LTS-версию, при условии, что ей уже исполнился хотя бы месяц.
Проверьте текущую версию вашей ОС, прочитав файл /etc/lsb-release
root# cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu 22.04.4 LTS"
Она должна быть недавно обновлена, должна быть LTS-версией и не быть старше двух лет. Первые две цифры обозначают год выпуска. Однако не доверяйте LTS-версии, которой меньше месяца.
Я бы создал новую виртуальную машину и перенёс на неё сайт, как описано в статье Перенос сайта Discourse на другой VPS с помощью rsync. Если вас не смущает значительное время простоя и риск повреждения системы, можно попробовать выполнить несколько последовательных обновлений дистрибутива. В таком случае обязательно сделайте снимок системы (что также потребует простоя), чтобы иметь возможность откатиться к нему.
Я думаю, что при переходе с 18.04 на 20.04 я делал это на том же сервере. Вероятно, следуя чему-то вроде How to upgrade your Ubuntu release - Ubuntu Server documentation. Я не на 100% уверен. Как вы смотрите на это?
При миграции вместо обновления на месте может быть и побочная выгода: вы, возможно, сможете получить более выгодное предложение. В моём случае переход с архитектуры x86 на ARM позволил получить конфигурацию с большим объёмом хранилища по той же цене, даже при использовании того же хостинг-провайдера. Также есть возможность сменить хостинг-провайдера, что я и сделал в другом случае, снова получив более выгодные условия.
У Hetzner ARM-серверы немного дешевле x86 при одинаковых характеристиках (vCPU, RAM, хранилище).
Заметно, что они кажутся быстрее (скорость пересборки Discourse и загрузки страниц).
К сожалению, официальных бенчмарков для Discourse нет, но недавно я сравнил время сборки:
| Поставщик | Цена | Диск | CPU | ОЗУ (ГБ) | Время сборки | ЦОДы |
|---|---|---|---|---|---|---|
| Hetzner CX22 (x86) | €3.95 | 40 ГБ | 2 | 4 | 9 м 56 с | DE, FI, SG, US (2) |
| Hetzner CAX11 (arm64) | €3.95 | 40 ГБ | 2 | 4 | 5 м 45 с | DE, FI |
Обратите внимание, что официального образа mail-receiver, совместимого с ARM, нет.
См.:
5 минут на пересборку? Вау, у меня это занимает около 2–3 часов.
Я использую самый дешевый Droplet DigitalOcean с 2 ГБ оперативной памяти, и, по моим оценкам, это занимает около 10 минут.
Это не «Поиск Google». Это Gemini. Я бы настороженно относился к выводам ИИ, которые касаются конкретных номеров версий и совместимых версий, так как большие языковые модели не очень хорошо справляются с такими деталями. Но если вы сможете найти какой-либо авторитетный источник, это было бы полезно.
Вот что я получил, это другое:
![]()
Спасибо, хорошая находка. Хотя ссылка на документацию Docker, которую я тоже опубликовал, подтвердила, что вывод Gemini, похоже, был верным. Однако спасибо за совет. С этого момента я буду definitely осторожен с выводами ИИ.
![]()
![]()
![]()
![]()
Я не думал, что смогу следовать теме про rsync, так как там было слишком много вопросов и предложенных вариантов. Поэтому я поступил иначе, и всё, похоже, работает!