잠깐. Discourse를 두 번 클론한 건가요? Discourse는 한 번만 클론한 뒤, containers 디렉터리 안에 여러 개의 yml 파일을 두는 것이 좋습니다.
아마 Use Nginx Proxy Manager to manage multiple sites with Discourse 를 참고해 보실 수 있겠지만, 제가 실제로 사용해 본 것은 jwilder/nginx-proxy - Docker Image 입니다. YML 파일에 몇 가지 ENV 변수를 추가하면 연결은 가능하지만, 제대로 작동하게 하려면 이해해야 할 사항이 여전히 매우 많습니다.
각 사이트에는 각자의 호스트네임이 있습니다. 그게 바로 이 모든 작업의 목적이 아닌가요?
저는 리버스 프록시에게 컨테이너의 80번 포트와 대화하도록 설정합니다. 다른 사람들은 소켓을 사용하는 것을 선호하기도 합니다. 어떤 포트도 노출해서는 안 됩니다.
아니요. 그 파일들은 어떤 것도 공유할 수 없습니다.
각 사이트는 postgres 데이터베이스가 필요합니다 (그 방법을 안다면 동일한 postgres 서버를 사용할 수 있습니다).
각 사이트는 각자의 redis가 필요합니다. redis는 공유할 수 없으며, 이것이 멀티사이트 구성의 장점 중 하나입니다.
두 개의 postgres를 실행하고 싶다면, 호스트네임, smtp, 볼륨 경로를 변경하고 ssl 및 letsencrypt 템플릿을 제거하거나 주석 처리하면 됩니다. ./discourse-setup 을 다시 실행하기 전에 app.yml을 hostname.yml 등으로 이름 변경하면 discourse-setup 도 사용할 수 있습니다.