@Falco @pfaffman Спасибо, ваши ответы разрешили мои сомнения.
Оставляю здесь свою конфигурацию app.yml, на случай, если она будет полезна кому-то, кто пытается загрузить локальные плагины в Discourse с хост-машины.
## Контейнер Docker не сохраняет состояние; все данные хранятся в /shared
volumes:
- volume:
host: /var/discourse/shared/standalone
guest: /shared
- volume:
host: /var/discourse/shared/standalone/log/var-log
guest: /var/log
- volume:
host: /var/discourse/plugins
guest: /var/plugins
## Плагины находятся здесь
## подробности см. https://meta.discourse.org/t/19157
hooks:
after_code:
- exec:
cd: $home/plugins
cmd:
- git clone https://github.com/discourse/docker_manager.git
- cp -a /var/plugins/. $home/plugins/
В моей настройке я храню все пользовательские плагины в /var/discourse/plugins на хосте.
Привязанная директория становится доступной внутри контейнера как /var/plugins, и во время хука after_code команда:
cp -a /var/plugins/. $home/plugins/
копирует все привязанные плагины в стандартную директорию плагинов Discourse ($home/plugins, обычно /var/www/discourse/plugins).
Это позволяет управлять плагинами напрямую с хоста, не используя установку плагинов через git или полагаясь на сторонние хостинг-сервисы.