В отличие от более старых платформ форумов (vBulletin, phpBB), Discourse — это не набор плоских серверных скриптов (php) и отдельной базы данных.
Discourse состоит из двух частей: бэкенда, работающего в Docker, и одностраничного JavaScript-приложения, которое предоставляется клиентскому устройству.
Любые изменения, требующие модификации бэкенда, влияют на контейнер Docker, что в самых простых установках требует небольшого времени простоя. Именно это имеют в виду, когда говорят о необходимости пересборки приложения. Файл конфигурации (документ YAML), управляющий сборкой контейнера, нужно отредактировать, а затем через SSH отправить команду на пересборку в launcher. Установка плагинов требует пересборки, тогда как простые изменения SMTP больше похожи на перезапуск.
Внедрение новых тем и компонентов тем — это по сути изменения фронтенда, выполняемые в рамках работающего веб-приложения. Они не приводят к простою, так как базовое приложение и база данных фактически остаются неизменными.