서드파티 호스트 없이 플러그인을 설치하는 방법?

@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자 호스팅 서비스에 의존하지 않고 호스트에서 직접 플러그인을 관리할 수 있습니다.