Olá @IAmGav
Isso pode não ser exatamente o que você está procurando; e eu ainda não terminei de desenvolver isso completamente, mas aqui está a essência:
- Crie um diretório
/var/discourse/mytemplates
- Adicione um novo arquivo de template chamado
plugins.templates.yml nesse diretório, por exemplo:
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
- Crie um novo repositório git para esse diretório e faça o push para o GitHub.
- Adicione um template aos seus arquivos
yml para esses plugins, por exemplo:
templates:
- "templates/web.template.yml"
- "templates/web.ratelimited.template.yml"
- "templates/web.socketed.template.yml"
- "mytemplates/plugins.template.yml"
Já testei até este ponto e consigo adicionar plugins e construir o container usando um arquivo de template dessa maneira, sem problemas.
A única parte que ainda não testei é adicionar uma ou duas linhas no launcher para puxar o repositório; e, francamente, ainda não trabalhei nessa parte.
git clone https://github.com/my_super_repo/mytemplates.git
Embora eu ainda não tenha trabalhado nessa parte, tenho certeza de que é viável; porque já testei a parte de incluir os plugins na construção do container a partir de um template, e funciona perfeitamente. Portanto, a única parte restante para essa abordagem é adicionar código ao launcher e testar para puxar o repositório mytemplates do GitHub.
No entanto, para ser franco, essa técnica parece um trabalho desnecessário:
- Editar o
launcher para puxar o template de um repositório
- Adicionar uma nova entrada de template ao arquivo
yml (para os plugins)
É tão fácil copiar e colar nos arquivos yml e “acabar com isso”; mas também acho essa ideia interessante. Quebra-cabeças de sysadmin são sempre divertidos para mim, então foi divertido pensar nisso para você.
De qualquer forma, a resposta curta para sua pergunta @IAmGav é que “sim, é viável” e, claro, se você quiser tentar, “vá em frente”.
Espero que isso ajude.