@Falco @pfaffman 감사합니다. 두 분의 답변 덕분에 의문이 해소되었습니다.
호스트 머신에서 로컬 플러그인을 Discourse에 로드하려는 분들에게 도움이 될 수 있도록 제 app.yml 설정을 여기에 공유합니다.
## The Docker container is stateless; all data is stored in /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
## Plugins go here
## see https://meta.discourse.org/t/19157 for details
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 기반 플러그인 설치나 제3자 호스팅 서비스에 의존하지 않고 호스트에서 직접 플러그인을 관리할 수 있습니다.