После установки Discourse многие настройки (как основные функции Discourse, так и плагины) требуют ручной конфигурации через интерфейс настроек. Это подразумевает множество действий по вводу данных и нажатию кнопок, а также необходимость помнить, где находятся все эти параметры.
Возможно ли определить эти настройки в рамках процесса развёртывания, например, с помощью параметризуемого скрипта, который можно запустить после завершения начального развёртывания?
Вы можете легко создать плагин для настройки «любых и всех» параметров сайта.
Надеюсь, это поможет.
Это возможно, но мой вопрос: зачем вам это нужно? Вы разворачиваете множество сайтов?
Для создания идентичной копии сайта на другом сервере достаточно резервной копии сайта и файла app.yml.
Кроме того, настройки сохраняются при повторной сборке, поэтому беспокоиться о локальных обновлениях на том же сервере не нужно.
Если вам нужно создать шаблон сайта, я полагаю, это можно сделать с помощью одной резервной копии и шаблона app.yml. При желании вы можете изменить настройки сайта в файле app.yml.
Мы создаем ряд сайтов, для каждого из которых требуются различные настройки (брендинг, конфигурация безопасности и т.д.).
Наборы настроек каждый раз одинаковы, различаются только их значения.
Наша инфраструктура построена на контейнерах Bitnami, развернутых в Kubernetes с помощью Ansible.
Тогда вы также можете создать шаблон YAML, как было предложено, и включить свой шаблон с пользовательскими настройками сайта в ваш файл контейнера.
Или сделайте что-то подобное с плагином, прочитав специфичные для сайта настройки из файла в вашей общей директории или из удаленного расположения.
Все настройки сайта можно задать через переменные окружения (например, DISCOURSE_SETTING_NAME=xxx). Вы можете изменить всё через API. И иногда, как предлагает NoBugsBunny, хорошим решением будет использование плагина.
Это выходит за рамки бесплатной поддержки, которую я здесь предоставляю. Я не рекомендую Bitnami, но работал с клиентами, которые её используют. Я выполнял несколько развёртываний в GKE (используя поддерживаемые контейнеры, собранные через ./launcher) и имею опыт развёртывания и управления Discourse с помощью Ansible. Если вам нужна помощь и у вас есть бюджет, пожалуйста, свяжитесь с jay@literatecomputing.com.