오픈소스 커뮤니티 솔루션으로 유명한 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자 이상으로 암호 잘(?) 설정하고 나면 그림과 같은 확인 메일이 오는 것도 확인할 수 있습니다.

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