Перестроить форум с помощью кода?

При стандартной установке Discourse (и, следовательно, плагины) работают внутри контейнера Docker. Этот контейнер не имеет полного доступа к файловой системе хоста, поэтому он не может получить доступ к директории /var/discourse на хосте для изменения app.yml или запуска launcher.

И даже если бы мог… здесь возникает небольшая циклическая зависимость. Выполнение ./launcher rebuild приведёт к остановке контейнера Docker… что, в свою очередь, остановит процесс launcher rebuild, запущенный из плагина :boom:

Существуют потенциальные решения. Например, добавление дополнительных монтирований томов Docker, чтобы доступ к config/launcher мог осуществляться изнутри контейнера. Однако это не тривиальная задача.

Насколько я помню, кто-то когда-то создал плагин «менеджер плагинов»… который требовал некоторых изменений в app.yml, например, для добавления монтирования тома. Но сейчас я не могу найти никаких тем об этом, поэтому предполагаю, что он больше не поддерживается. Возможно, кто-то другой сможет поделиться ссылкой, если найдёт её? (Или, может быть, это всё было сном :sweat_smile:)

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