Ciao @IAmGav
Forse non è esattamente quello che cerchi; e non ho ancora completato tutti i dettagli, ma ecco l’essenziale:
- Crea una directory
/var/discourse/mytemplates
- Aggiungi un nuovo file di template chiamato
plugins.templates.yml in quella directory, ad esempio:
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 nuovo repository Git per quella directory e caricalo su GitHub.
- Aggiungi un template ai tuoi file
yml per questi plugin, ad esempio:
templates:
- "templates/web.template.yml"
- "templates/web.ratelimited.template.yml"
- "templates/web.socketed.template.yml"
- "mytemplates/plugins.template.yml"
Ho già testato fino a questo punto e riesco ad aggiungere plugin e costruire il container utilizzando un file di template in questo modo, senza problemi.
L’unica parte che non ho ancora testato è aggiungere una o due righe al launcher per clonare il repository; e francamente, non ho ancora lavorato su questa parte.
git clone https://github.com/my_super_repo/mytemplates.git
Anche se non ho ancora lavorato su questa parte, sono sicuro che sia fattibile; perché ho già testato la parte relativa all’inclusione dei plugin nella costruzione del container partendo da un template, e funziona perfettamente; quindi l’unica cosa che manca per questo approccio è aggiungere del codice al launcher e testarlo per clonare il repository mytemplates da GitHub.
Tuttavia, per essere sincero; questa tecnica sembra richiedere un sacco di lavoro inutile:
- Modificare
launcher per clonare il template da un repository
- Aggiungere una nuova voce di template al file
yml (per i plugin)
È così semplice copiare e incollare nei file yml e “aver finito”; ma trovo anche quest’idea interessante. I puzzle da sysadmin sono sempre divertenti per me, quindi è stato piacevole pensarci per te.
Comunque, la risposta breve alla tua domanda @IAmGav è che “sì, è fattibile” e, naturalmente, se vuoi provarci, allora “vai pure avanti”.
Spero che questo ti sia d’aiuto.