Hola @IAmGav
Esto puede no ser exactamente lo que buscas; y aún no he terminado de desarrollar esto completamente, pero aquí tienes lo esencial:
- Crea un directorio
/var/discourse/mytemplates
- Añade un nuevo archivo de plantilla llamado
plugins.templates.yml en ese directorio, por ejemplo:
hooks:
after_code:
- exec:
cd: $home/plugins
cmd:
- git clone https://github.com/discourse/docker_manager.git
- git clone https://github.com/discourse/discourse-bbcode.git
- git clone https://github.com/discourse/discourse-sitemap.git
- git clone https://github.com/discourse/discourse-solved.git
- git clone https://github.com/discourse/discourse-whos-online.git
- git clone https://github.com/discourse/discourse-checklist.git
- Crea un nuevo repositorio git para ese directorio y súbelo a GitHub.
- Añade una plantilla a tus archivos
yml para estos plugins, por ejemplo:
templates:
- "templates/web.template.yml"
- "templates/web.ratelimited.template.yml"
- "templates/web.socketed.template.yml"
- "mytemplates/plugins.template.yml"
Ya he probado hasta este punto, y puedo añadir plugins y construir el contenedor usando un archivo de plantilla de esta manera, sin problemas.
La única parte que aún no he probado es añadir una o dos líneas en launcher para extraer el repositorio; y, francamente, aún no he trabajado en esta parte.
git clone https://github.com/my_super_repo/mytemplates.git
Aunque aún no he trabajado en esta parte, estoy seguro de que es factible; porque ya he probado la parte de incorporar los plugins en la construcción del contenedor desde una plantilla, y funciona bien; así que lo único que falta para este enfoque es añadir código a launcher y probarlo para extraer el repositorio mytemplates de GitHub.
Sin embargo, para ser franco; esta técnica parece un trabajo innecesario:
- Editar
launcher para extraer la plantilla desde un repositorio
- Añadir una nueva entrada de plantilla al archivo
yml (para los plugins)
Es tan fácil copiar y pegar en los archivos yml y “terminar con ello”; pero también encuentro interesante esta idea. Los acertijos de administración de sistemas siempre son divertidos para mí, así que fue divertido pensar en esto para ti.
De todos modos, la respuesta corta a tu pregunta @IAmGav es que “sí, es factible” y, por supuesto, si quieres probarlo, entonces “adelante”.
Espero que esto ayude.