마지막 개발자 문서를 읽었는데, 웹에서 실행되는 많은 것들이 nginx 뒤에서 실행되며 Discourse도 nginx 뒤에서 호스팅되어야 한다고 적혀 있었습니다. 표준 설치 방식은 제 상황에 맞지 않습니다.
그리고 아래는 문서에서 그가 말한 내용과 그가 수행한 방법입니다:
Discourse는 Docker 컨테이너에서 실행됩니다. 그러나 docker-compose.yml이나 .conf 파일을 통해 설정하는 것이 아니라 특별한 유형의 설정이 필요합니다.
Docker 이미지 설정 및 빌드에 필요한 discourse-project/ GitHub 저장소는 여기에서 찾을 수 있습니다. 그들이 제공하는 멋지고 유익한 “discourse-setup” 프로그램은 무시하십시오. 여기서는 작동하지 않습니다. 우리는 앱을 직접 설정해야 합니다.
- discourse_docker를 /var/discourse에 클론합니다:
git clone https://github.com/discourse/discourse_docker.git /var/discourse - 해당 폴더로 이동하여 제공된 샘플 설정을 사용합니다:
cd /var/discourse && cp samples/standalone.yml containers/app.yml - 그 다음 containers/app.yml 파일을 편집합니다(예:
sudo nano사용)
- 호스팅 섹션, 메일을 위한 SMTP 설정 및 - 중요하게 - 외부에 노출되는 포트가 사용되지 않는 포트만 되도록 하도록 expose 섹션에 변경 사항이 적용되었습니다.
- Discourse를 "/forum"과 같은 경로에서 실행하려면 여기에 설명된 대로 몇 가지 추가 변경 사항이 필요했습니다.
- 이메일 인증에서도 몇 가지 문제가 발생합니다:
- 이메일을 보내는 메일은 여기서 "서버의 이메일"입니다. 그러나 Discourse는 메일이 호스트와 동일한 도메인을 가져야 한다고 기대하며, 이는 "서버의 이메일"입니다.
- 여기에 설명된 해결책이 있습니다.
- 또한 다른 환경 변수 옵션으로 "DISCOURSE_SMTP_AUTHENTICATION: login"을 사용하십시오. 왜 항상 . . .
- 이메일을 보내는 메일은 여기서 "서버의 이메일"입니다. 그러나 Discourse는 메일이 호스트와 동일한 도메인을 가져야 한다고 기대하며, 이는 "서버의 이메일"입니다.
- 그런 다음
/var/discourse디렉터리에서sudo ./launcher bootstrap app를 사용하여 앱을 빌드합니다. 이 과정은 꽤 시간이 걸립니다. - 그런 다음
sudo ./launcher start app를 사용하여 discourse 컨테이너를 시작할 수 있습니다.