Discourse 설치하기

오픈소스 커뮤니티 솔루션으로 유명한 Discourse를 설치해봤습니다.

설치 환경

제 블로그, 마스토돈과 기타 등등을 돌리고 있는 홈서버가 있습니다. Discourse를 설치하기 위한 외부 접속 및 컨테이너 호스트는 준비된 상태에서 시작했습니다.

  • Cloudflare에 도메인 연결을 위한 DNS 설정
  • SSL 처리 및 포트포워딩을 위한 Nginx Proxy Manager
  • 컨테이너 호스트

등이 이미 준비된 상태였습니다.

설치 진행

Discourse를 사용하기로 결정하고, 설치에 대한 도움말을 좀 얻어볼까하고 검색해보니 생각보다 자료가 많지는 않았습니다. 막상 진행해보니 크게 복잡한 것도 없었구요. 대표적으로 참조한 링크 두곳은 다음과 같습니다.

  • https://blog.zarathu.com/posts/2023-11-10-discourse1/
  • https://github.com/discourse/discourse/blob/main/docs/INSTALL-cloud.md

설명서(예제)에서는 /var 아래에 discourse 디렉토리에 관련 데이터를 보관하는 형태입니다. 제 경우는 /opt 아래에 컨테이너 서비스들을 다 모아 놓은 상태라 /opt로 변경해서 진행했습니다.

제 환경의 경우 이미 다른 서비스들이 동작 중인 상태라 discourse-setup을 사용할 수는 없는 상태였습니다. 그래서 다음과 같이 예제 .yml 파일을 복사해서 내용을 수정하는 형태로 진행했습니다.

이때 주의할 것은 .yml 파일이 위치하는 경로입니다. discourse 디렉토리 아래의 container 아래에 위치해야합니다.

sudo -s
git clone https://github.com/discourse/discourse_docker.git /opt/discourse
cd /opt/discourse
chmod 700 containers

# 기존에 80 포트 사용 중이라 discourse-setup 동작 안함
cp /opt/discourse/samples/standalone.yml /opt/discourse/container/discourse.yml

discourse.yml에서 다음과 같은 부분을 제 환경에 맞게 수정했습니다. 아래 내용은 수정한 부분만 정리한 것입니다.

expose:
  - "2080:80"   # http
    #  - "443:443" # https

  DISCOURSE_HOSTNAME: 'linuxer.kr'
  DISCOURSE_DEVELOPER_EMAILS: 'sysop@linuxer.kr'

  DISCOURSE_SMTP_ADDRESS: smtp.gmail.com
  DISCOURSE_SMTP_PORT: 587
  DISCOURSE_SMTP_USER_NAME: xxxxxxxxxx
  DISCOURSE_SMTP_PASSWORD: "xxxxxxxxxx"
  #DISCOURSE_SMTP_ENABLE_START_TLS: true           # (optional, default: true)
  DISCOURSE_SMTP_DOMAIN: linuxer.kr    # (required by some providers)
  DISCOURSE_NOTIFICATION_EMAIL: sysop@linuxer.kr    # (address to send notifications from)

volumes:
  - volume:
      host: /opt/discourse/shared/standalone
      guest: /shared
  - volume:
      host: /opt/discourse/shared/standalone/log/var-log
      guest: /var/log

.yml 파일 수정이 끝나고 다음 명령을 실행하면 5분 정도 빌드 작업이 진행됩니다. 이건 네트워크, 서버 성능에 따라 좀 차이가 날겁니다. 제 경우 인터넷이 느려서 컨테이너 이미지 다운로드도 좀 걸리더라구요. ㅋ

/opt/discourse/launcher rebuild discourse

사이트 구성 진행

설정한 홈페이지에 접속하면 초기 구성을 시작하는 화면이 나옵니다.

한번에 잘되니 기분 좋습니다 ㅋ

초기 설정 단계에서 하나 주의할 것은 Admin 계정의 최소 암호 길이가 15자입니다.

15자 이상으로 암호 잘(?) 설정하고 나면 그림과 같은 확인 메일이 오는 것도 확인할 수 있습니다.

이제 설치는 했으니 시간 날때마다 조금씩 꾸며봐야겠습니다!

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

You May Also Like
Read More

kubevirt-manager 소개

kubevirt-manager 홈페이지의 3개 페이지에 있는 내용을 하나로 정리해 봤습니다. 간단하고 효과적이며 사용자 친화적인 웹 사용자 인터페이스를 통해 KubeVirt 워크로드를…
Read More

Harvester v1.3.0 Release

Harvester v1.3.0이 릴리즈됐습니다. 릴리즈 노트에 있는 내용 기계번역해서 정리해 봤습니다. https://github.com/harvester/harvester/releases 경고: Harvestter와 함께 Rancher v2.7.11을 사용하는 경우,…
Read More

OpenSCAP의 profile 정보

OpenSCAP을 Lab 연습하다 통해서 처음 접해봤습니다. 사용 가능한 profile들이 다양했고, 각 프로파일의 점검항목(체크리스트)에 대한 구체적인 내용이 궁금해졌습니다. cli에서…