Привет, @IAmGav
Возможно, это не совсем то, что вы ищете, и я ещё не до конца проработал этот вариант, но вот суть:
- Создайте директорию
/var/discourse/mytemplates.
- Добавьте в эту директорию новый файл шаблона с именем
plugins.templates.yml, например:
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
- Создайте новый git-репозиторий для этой директории и отправьте его на GitHub.
- Добавьте шаблон в ваши файлы
yml для этих плагинов, например:
templates:
- "templates/web.template.yml"
- "templates/web.ratelimited.template.yml"
- "templates/web.socketed.template.yml"
- "mytemplates/plugins.template.yml"
Я уже протестировал этот этап и могу добавлять плагины и собирать контейнер с помощью файла шаблона таким образом — без проблем.
Единственный момент, который я ещё не тестировал, — это добавление одной или двух строк в launcher для получения репозитория; честно говоря, я ещё не работал над этой частью.
git clone https://github.com/my_super_repo/mytemplates.git
Хотя я ещё не работал над этой частью, я уверен, что это выполнимо, поскольку я уже протестировал загрузку плагинов в сборку контейнера из шаблона, и это работает отлично. Таким образом, для данного подхода остаётся только добавить код в launcher и протестировать получение репозитория mytemplates с GitHub.
Однако, если быть откровенным, этот метод кажется излишне трудоёмким:
- Редактирование
launcher для получения шаблона из репозитория
- Добавление новой записи шаблона в файл
yml (для плагинов)
Гораздо проще скопировать и вставить в файлы yml и «забыть об этом», но мне также нравится эта идея. Системные головоломки всегда доставляют мне удовольствие, поэтому было интересно поразмыслить над этим для вас.
В любом случае, короткий ответ на ваш вопрос, @IAmGav, таков: «да, это выполнимо», и, конечно, если вы хотите попробовать, то «смело приступайте».
Надеюсь, это поможет.