Я запускаю Discourse на Ubuntu 16.04. Так как поддержка этой версии завершится в следующем году, я изучаю варианты дальнейших действий с моей виртуальной машиной Discourse.
В документации упоминается только Ubuntu 18.04, что не совсем идеально (хотя и допустимо), учитывая, что уже доступна версия 20.04. Я поискал, но не нашёл списка поддерживаемых дистрибутивов, где discourse-setup должен работать и официально поддерживаться (например, на чём именно тестируется discourse-setup, и где его неработоспособность считается ошибкой).
Последняя версия Ubuntu LTS официально поддерживается.
Последняя версия Debian также обладает высокой совместимостью.
Если вы используете другую дистрибуцию, вы действуете на свой страх и риск. Хотя, возможно, здесь есть пользователи, способные помочь с другими дистрибутивами, я крайне сомневаюсь, что они будут официально поддерживаться.
Если фраза «18.04 подходит» означает «мы тестируем установку/обновление на 18.04 и не выпускаем код, заведомо неработающий на этой версии, а также исправляем ошибки», и ни одна другая версия/дистрибутив не имеет такой «гарантии», то это вполне приемлемо: если всё останется как есть, я обновлюсь до 18.04 до прекращения поддержки 16.04.
Мне просто нужна ясность. Если 20.04 (или любой другой LTS с более длительным сроком поддержки, чем Ubuntu 16.04, например, CentOS 8) поддерживается, я предпочту обновиться до неё, чтобы сократить свои усилия по сопровождению, но я не буду использовать ничего, кроме 18.04, если у меня не будет той же «гарантии».
Я не корпорация и использую проект с открытым исходным кодом, поэтому моя политика может показаться вам излишней, но я не считаю, что предъявляю какие-либо необоснованные требования; по сути, я прошу добавить в документацию следующее:
Мы тестируем установку и обновление каждого релиза на следующих дистрибутивах: … Системы с 32-битными ядрами и/или версиями ядра ниже 3.10+ заведомо не работают
Я явно не прошу поддержки каких-либо других дистрибутивов/версий. Уверен, что тесты установки/обновления проводятся — мне просто нужно знать, что именно тестируется.
Спасибо, что посмотрели это. Мне неловко это говорить (или я боюсь, что упускаю что-то очевидное), но это хуже?
Если только интерфейс Digital Ocean не содержит важного подсказки по этому поводу (а я не думаю, что инструкции должны игнорировать пользователей, не использующих DO), то «текущий поддерживаемый LTS-релиз Ubuntu Server» — слово «релиз» в единственном числе, значит, поддерживается только одна версия? Какая именно? Последняя?
В последнее время я чувствую, что мне нужно быть чрезмерно точным, но перечитывая это снова и снова, я думаю, что так не получится
В любой момент времени поддерживается как минимум 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 — лучшее ПО для форумов с открытым исходным кодом, но считаю, что это небольшая проблема, которую можно легко исправить.
Всё, что вам нужно, — это 64-битная система Linux, способная запускать относительно актуальную версию Docker, а также bash-скрипты (например, launcher).
Это не обязательно должен быть Ubuntu. Fedora, CentOS, Arch и другие дистрибутивы должны работать. Использование поддерживаемого LTS-выпуска Ubuntu — это лишь рекомендация. И именно это указано в документации.
Стандартная конфигурация текущего поддерживаемого LTS-выпуска Ubuntu Server работает отлично. В качестве минимальных требований необходима 64-битная ОС Linux с современной версией ядра.
Вы можете выбрать любую x64 ОС / версию, с которой вам удобно работать, при условии наличия актуальной версии Docker. Скрипт launcher может не суметь автоматически настроить всё, если используется дистрибутив, не основанный на Debian/Ubuntu, но в остальном он должен работать практически везде.
Я закрываю эту тему, так как обсуждение зашло в тупик.