관련지식
synology, docker, mongodb, rocket.chat

로켓챗 버전이 바뀌면서 MongoDB 에 추가 세팅이 필요하여 MongoDB 설치 과정을 정리합니다.

환경
rocket.chat 1.3.2, MongoDB 4.2

이전 게시글의 내용대로 설치를 진행하면 로켓챗 실행시 아래처럼 ‘Unable to find MOngodb Oplog …..’ 오류를 보게 되는데, 이 경우 MongoDB에서 Replica 설정을 해줘야 합니다. 설정 방법은 오류 로그에 나와 있으나 시놀로지 도커에서 사용하는 방법으로 설명 드리겠습니다.

MongoDB 설치 및 설정

이미 만들어진 MongoDB에 Replica 설정을 하려면 더 어려워지므로 새로 만드는게 편합니다.

먼저 다운로드 한 이미지를 실행합니다.

고급설정으로 들어가서 ‘포트 설정’ 과 ‘환경’ 을 수정합니다. 저는 ‘포트 설정’에 27019를 지정하였습니다.

그리고 환경 탭의 하단에 ‘명령’ 항목을 반드시 수정해야 합니다. 수정 전에는 ‘mongod’ 로만 되어있는데 아래 이미지처럼 ‘—oplogSize 128 —replSet rs0’ 을 추가해야 합니다. 추가 후 단계를 진행하여 저장을 완료합니다.

실행된 이미지의 세부사항을 열어서 터미널 탭으로 이동합니다. 생성 버튼 오른쪽의 화살표 버튼을 누르고 ‘명령으로 실행’ 을 클릭합니다.

bash 를 입력하고 확인합니다.

왼쪽에 bash 항목이 생깁니다. 클릭하면 오른쪽에 터미널 입력창이 보이게 됩니다.

터미널 입력창에 ‘mongo 몽고디비아이피:포트/rocketchat —eval “rs.initiate({ _id: ‘rs0’, members: [ { _id: 0, host: ‘localhost:27017’ } ]})”‘ 입력합니다. 한글로 적은 ‘몽고디비아이피’ 와 ‘포트’ 를 각자의 환경에 맞게 수정해야 합니다. 제 경우 포트는 27019 가 됩니다.

이제 rocket.chat 을 실행할 차례입니다. 로켓챗 환경변수에 ‘MONGO_OPLOG_URL=mongodb://localhost:27017/local’ 값을 추가해줘야 합니다. 물론 localhost와 27017 포트는 각자의 환경에 맞게 수정하면 됩니다. 제 경우 포트는 27019가 됩니다.

저렇게 OPLOG에 대한 설정까지 마무리 하시면 끝입니다. 이제 로켓챗을 실행하고 정상적으로 실행되는지 보시면 됩니다.