Пожалуйста, документировать поддерживаемые дистрибутивы

Привет,

Я запускаю Discourse на Ubuntu 16.04. Так как поддержка этой версии завершится в следующем году, я изучаю варианты дальнейших действий с моей виртуальной машиной Discourse.

В документации упоминается только Ubuntu 18.04, что не совсем идеально (хотя и допустимо), учитывая, что уже доступна версия 20.04. Я поискал, но не нашёл списка поддерживаемых дистрибутивов, где discourse-setup должен работать и официально поддерживаться (например, на чём именно тестируется discourse-setup, и где его неработоспособность считается ошибкой).

С уважением,

Алекс

Последняя версия Ubuntu LTS официально поддерживается.
Последняя версия Debian также обладает высокой совместимостью.

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

но эти шаги будут работать на любом совместимом с Docker облачном провайдере или локальном сервере.

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

Можете предоставить источник для этого?

Зачем усложнять? Просто обновитесь до 18.04. Уверен, что 20.04 тоже подойдёт.

Из вашей ссылки:

«По умолчанию Ubuntu 18.04 LTS x64 работает без проблем. Минимальные требования: 64-битная ОС Linux с версией ядра 3.10 и выше».

Если фраза «18.04 подходит» означает «мы тестируем установку/обновление на 18.04 и не выпускаем код, заведомо неработающий на этой версии, а также исправляем ошибки», и ни одна другая версия/дистрибутив не имеет такой «гарантии», то это вполне приемлемо: если всё останется как есть, я обновлюсь до 18.04 до прекращения поддержки 16.04.

Мне просто нужна ясность. Если 20.04 (или любой другой LTS с более длительным сроком поддержки, чем Ubuntu 16.04, например, CentOS 8) поддерживается, я предпочту обновиться до неё, чтобы сократить свои усилия по сопровождению, но я не буду использовать ничего, кроме 18.04, если у меня не будет той же «гарантии».

Я не корпорация и использую проект с открытым исходным кодом, поэтому моя политика может показаться вам излишней, но я не считаю, что предъявляю какие-либо необоснованные требования; по сути, я прошу добавить в документацию следующее:

Мы тестируем установку и обновление каждого релиза на следующих дистрибутивах: … Системы с 32-битными ядрами и/или версиями ядра ниже 3.10+ заведомо не работают

Я явно не прошу поддержки каких-либо других дистрибутивов/версий. Уверен, что тесты установки/обновления проводятся — мне просто нужно знать, что именно тестируется.

OK, я изменил этот текст на

По умолчанию работает текущая поддерживаемая LTS-версия Ubuntu Server. Минимальные требования — 64-битная ОС Linux с современной версией ядра.

чтобы избежать путаницы.

Спасибо, что посмотрели это. Мне неловко это говорить (или я боюсь, что упускаю что-то очевидное), но это хуже?

Если только интерфейс Digital Ocean не содержит важного подсказки по этому поводу (а я не думаю, что инструкции должны игнорировать пользователей, не использующих DO), то «текущий поддерживаемый LTS-релиз Ubuntu Server» — слово «релиз» в единственном числе, значит, поддерживается только одна версия? Какая именно? Последняя?

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

В любой момент времени поддерживается как минимум 2 долгосрочных (LTS) выпуска Ubuntu. На данный момент их три (16.04, 18.04, 20.04). В следующем году 16.04 устареет (EOL), поэтому 18.04 и 20.04 будут поддерживаться до выхода 22.04. В период между выходом 22.04 и устареванием 18.04 все три версии будут поддерживаться.

Да, это политика поддержки Ubuntu от Canonical, и именно поэтому формулировка «текущий поддерживаемый LTS-релиз Ubuntu Server» является неоднозначной: в любой момент времени Canonical поддерживает 2–3 версии Ubuntu, а в документации теперь сказано (грамматически), что мы поддерживаем одну из них (какую именно?).

Так как Discourse работает внутри Docker, спорить о поддерживаемых дистрибутивах не имеет особого смысла. Это скорее общее представление. Технически Discourse должен корректно работать на достаточно современном оборудовании и программном обеспечении, способном запускать Docker. Вся конфигурация выполняется внутри Docker, поэтому внешние зависимости пакетов отсутствуют — за исключением самого Docker и необходимости открыть соответствующие порты на машине. Вы можете использовать любой дистрибутив, который вам нравится. Не понимаю, в чём вообще весь сыр-бор?

Преимущество будет невелико; скорее всего, когда выйдет версия 22.04, всё заработает как надо, и даже если нет, люди не станут спешить с обновлением в день релиза.

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

(Лично у меня есть инфраструктура для тестирования обновлений. Но я чувствовал бы себя увереннее при более чёткой политике поддержки)

У меня системы работают на 18.04, и обновление до 20.04 всё ещё недоступно через sudo do-release-upgrade, поэтому я не могу назвать это обновлением в день запуска. Обновление станет доступным после выхода версии 20.04.1, что означает, что программное обеспечение будет достаточно протестировано и станет стабильным для продакшена.

Хотя я понимаю вашу точку зрения, всё ещё не вижу, что именно остаётся непонятным. Мы предоставляем поддержку и рекомендации пользователям, работающим с Discourse на старых версиях Ubuntu (14.04); обычно они могут скачать резервную копию и восстановить её на свежеустановленном Discourse в новой версии. Это в основном идеально подходит для параноиков, которые по каким-то причинам предпочитают оставаться на устаревшем программном обеспечении (здесь можно добавить «если не сломано, не чини»), но я лично всегда быстро разворачиваю новую виртуальную машину, чтобы проверить путь обновления, а затем обновляю все свои установки Discourse, убедившись, что всё работает.

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

Тем не менее, люди всё ещё могут развернуть систему на 20.04 в день запуска, и она может работать со сбоями. Это даже более странно и менее значимо. Кроме того, возможно, проблемы возникают не только тогда, когда do-release-upgrade начинает предлагать следующую версию.

«текущий поддерживаемый LTS-релиз Ubuntu Server». Либо это «все текущие поддерживаемые LTS-релизы Ubuntu Server» (что, полагаю, включало бы 22.04 в день запуска), либо какой-то конкретный подмножество из них. Насколько мне известно, не существует единственного текущего поддерживаемого LTS-релиза Ubuntu Server.

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

:bulb: Всё, что вам нужно, — это 64-битная система Linux, способная запускать относительно актуальную версию Docker, а также bash-скрипты (например, launcher).

Это не обязательно должен быть Ubuntu. Fedora, CentOS, Arch и другие дистрибутивы должны работать. Использование поддерживаемого LTS-выпуска Ubuntu — это лишь рекомендация. И именно это указано в документации.

Стандартная конфигурация текущего поддерживаемого LTS-выпуска Ubuntu Server работает отлично. В качестве минимальных требований необходима 64-битная ОС Linux с современной версией ядра.

Вы можете выбрать любую x64 ОС / версию, с которой вам удобно работать, при условии наличия актуальной версии Docker. Скрипт launcher может не суметь автоматически настроить всё, если используется дистрибутив, не основанный на Debian/Ubuntu, но в остальном он должен работать практически везде.

Я закрываю эту тему, так как обсуждение зашло в тупик.