Discourse 포럼 업데이트 시 문제 발생

마지막 개발자 문서를 읽었는데, 웹에서 실행되는 많은 것들이 nginx 뒤에서 실행되며 Discourse도 nginx 뒤에서 호스팅되어야 한다고 적혀 있었습니다. 표준 설치 방식은 제 상황에 맞지 않습니다.

그리고 아래는 문서에서 그가 말한 내용과 그가 수행한 방법입니다:

Discourse는 Docker 컨테이너에서 실행됩니다. 그러나 docker-compose.yml이나 .conf 파일을 통해 설정하는 것이 아니라 특별한 유형의 설정이 필요합니다.

Docker 이미지 설정 및 빌드에 필요한 discourse-project/ GitHub 저장소는 여기에서 찾을 수 있습니다. 그들이 제공하는 멋지고 유익한 “discourse-setup” 프로그램은 무시하십시오. 여기서는 작동하지 않습니다. 우리는 앱을 직접 설정해야 합니다.

  1. discourse_docker를 /var/discourse에 클론합니다: git clone https://github.com/discourse/discourse_docker.git /var/discourse
  2. 해당 폴더로 이동하여 제공된 샘플 설정을 사용합니다: cd /var/discourse && cp samples/standalone.yml containers/app.yml
  3. 그 다음 containers/app.yml 파일을 편집합니다(예: sudo nano 사용)
  • 호스팅 섹션, 메일을 위한 SMTP 설정 및 - 중요하게 - 외부에 노출되는 포트가 사용되지 않는 포트만 되도록 하도록 expose 섹션에 변경 사항이 적용되었습니다.
  • Discourse를 "/forum"과 같은 경로에서 실행하려면 여기에 설명된 대로 몇 가지 추가 변경 사항이 필요했습니다.
  • 이메일 인증에서도 몇 가지 문제가 발생합니다:
    • 이메일을 보내는 메일은 여기서 "서버의 이메일"입니다. 그러나 Discourse는 메일이 호스트와 동일한 도메인을 가져야 한다고 기대하며, 이는 "서버의 이메일"입니다.
      • 여기에 설명된 해결책이 있습니다.
    • 또한 다른 환경 변수 옵션으로 "DISCOURSE_SMTP_AUTHENTICATION: login"을 사용하십시오. 왜 항상 . . .
  1. 그런 다음 /var/discourse 디렉터리에서 sudo ./launcher bootstrap app를 사용하여 앱을 빌드합니다. 이 과정은 꽤 시간이 걸립니다.
  2. 그런 다음 sudo ./launcher start app를 사용하여 discourse 컨테이너를 시작할 수 있습니다.