Una vez instalado Discourse, muchas cosas (tanto del núcleo de Discourse como de los complementos) deben configurarse manualmente a través de la interfaz de Configuración, lo que implica mucho tecleo y pulsación de botones, además de recordar dónde encontrar todas esas opciones.
¿Es posible definir estas opciones como parte del despliegue, por ejemplo, mediante un script parametrizable que se pueda ejecutar una vez completado el despliegue inicial?
Puedes crear fácilmente un plugin para configurar “cualquiera y todas” las configuraciones del sitio de manera muy sencilla.
Espero que esto ayude.
Esto es posible, pero mi pregunta sería: ¿por qué necesitas esto? ¿Estás aprovisionando muchos sitios?
Una copia de seguridad del sitio y una copia de tu app.yml son todo lo que necesitas para recrear un sitio idéntico en otro servidor.
Además, la configuración se mantiene persistente entre reconstrucciones, así que no hay necesidad de preocuparse por las actualizaciones locales en el mismo servidor.
Si necesitas crear una plantilla de sitio, creo que podrías lograrlo simplemente con una única copia de seguridad y una app.yml de plantilla. Puedes modificar la configuración del sitio en app.yml si así lo deseas.
Estamos creando varios sitios que requieren configuraciones diferentes (marcaje, configuración de seguridad, etc.).
Se trata de los mismos elementos que deben configurarse cada vez, solo que los valores asignados son distintos.
Nuestra configuración se basa en contenedores de Bitnami desplegados en K8S mediante Ansible.
Entonces, también puedes crear una plantilla YAML como se sugirió e incluir tu plantilla con configuraciones personalizadas del sitio en tu archivo de contenedor.
O bien, haz algo similar con un plugin y lee las configuraciones específicas del sitio desde un archivo en tu directorio compartido o desde una ubicación remota.
Puedes configurar todas las opciones del sitio mediante variables de entorno (por ejemplo, DISCOURSE_SETTING_NAME=xxx). También puedes cambiar todo a través de la API. Y a veces, como sugiere NoBugsBunny, un plugin es una buena opción.
Esto está fuera del alcance del soporte gratuito que ofrezco aquí. No recomiendo Bitnami, pero he trabajado con clientes que lo utilizan. He realizado algunas implementaciones en GKE (usando contenedores compatibles construidos con ./launcher) y tengo experiencia en la implementación y gestión de Discourse con Ansible. Si necesitas ayuda y tienes un presupuesto, por favor contacta a jay@literatecomputing.com.