Возможно ли отключить обновления Discourse?

У меня есть самодостаточная установка с рабочими плагинами, но Discourse автоматически обновляется без моего разрешения, и совсем недавно форум сломался, потому что один из плагинов стал несовместимым.

Поскольку мой сценарий использования уже определён, и мне на самом деле не нужны новые функции Discourse, как отключить обновления, чтобы плагины не ломались?

Discourse не обновляется автоматически. У нас даже нет функции автоматического обновления.

Кто-то может обновлять ваш форум? Или вы добавили фоновое задание для его обновления на сервере?

Это потрясающе, потому что у меня нет плагинов для автоматического обновления, и я ничего не вижу в файле app.yml, но вы уже сказали, что у Discourse нет такой функции.

Существует ли способ узнать точный момент (дату и время), когда Discourse был обновлен в последний раз?

Дату можно найти в нижней части страницы /admin (если вы используете старую версию интерфейса).

Она должна выглядеть примерно так:

Хотя, возможно, где-то есть более подробная информация… :thinking:

Понял. Там указано, что последнее обновление было 3 часа назад, и как раз тогда я выполнил:

./launcher rebuild app

Обновляет ли эта команда Discourse? Тогда как устанавливать плагины без обновления самого Discourse?

Да, это основной способ обновления Discourse.

Либо вы устанавливаете плагины, либо вы находитесь в ситуации,

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

технически возможно закрепить Discourse на определённой версии при установке плагинов

Как это сделать?

это требует очень тщательного анализа совместимости версий, поскольку многие плагины предполагают, что используется актуальная версия Discourse

Плагины написаны мной, я не хочу, чтобы они ломались. У меня уже был негативный опыт, когда Discourse менял архитектуру или что-то в этом роде. Я бы хотел, чтобы форум придерживался философии Golang.

Рассматривали ли вы возможность перехода на релиз ESR вместо фиксации конкретной версии? В этом случае вы по-прежнему будете получать исправления безопасности, но с другими изменениями придётся разбираться только раз в полгода.

Это уже начало, но я всё равно подожду кого-нибудь, кто сможет объяснить, как оставаться на конкретной версии.

Я не совсем понимаю, чего именно вы ждете. В теме, на которую я дал ссылку, уже объясняется, как настроить версию, которую вы хотите установить.

Вы сказали, что вам нужна не версия ESR, а конкретная. Но тот же процесс применяется, если вы используете ветку, тег или конкретный хэш коммита — вам нужно просто соответствующим образом заменить значение version. Вы также можете найти примеры этого в форуме [1] [2]

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

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

Это не меняется, даже если вы выберете ссылку, которая не перемещается:

Но все вышеперечисленные оговорки остаются в силе — в целом это не рекомендуется.

Выбор такого подхода (или следование конкретной ветке релиза) означает принятие на себя большей ответственности за отслеживание сроков окончания поддержки и соответствующее управление этими рисками.

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

Когда вы ожидаете, что такой фиксированный хэш коммита изменится?

Извините, моя ошибка, я не прочитал эту часть. Как мне найти этот длинный ID коммита для моей текущей установки?