@Falco @pfaffman ありがとうございます。ご回答により、私の疑問は解消されました。
ホストマシンからローカルプラグインをDiscourseに読み込もうとしている方の参考になればと、私の app.yml 設定をここに残しておきます。
## 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ベースのプラグインインストールやサードパーティのホスティングサービスに依存することなく、ホストから直接プラグインを管理することが可能になります。