관련지식
synology, docker, mongodb

친구와 카카오톡으로 대화를 합니까? 외국친구와는 왓츠앱이나 라인을 쓰나요? 회사에선 어떤 채팅을 사용합니까? 모든 상황을 100% 만족하는 채팅 프로그램이 있으면 좋겠지만 그런게 없다보니 나라별로 사용자별로 그룹별로 다른 채팅 프로그램을 쓰게 되는것 같습니다.

그래서 자신의 환경에 걸맞는 채팅 기능을 만들려고 하니 고민해야 할게 너무 많습니다. 기본적으로 채팅서버가 필요하고 클라이언트가 필요합니다. PC에서 쓸수 있어야 하고 스마트폰으로도 쓸수 있어야 합니다. 파일 전송 기능도 필요할것 같고 채팅방도 여러개 만들어서 쓸수 있어야겠죠? 사용자 구분도 되어야 할것이고 그럼 회원가입도 필요할까요? 이모티콘 기능도 추가해야겠죠? 만들어야 할 기능이 끝이 없는것 같습니다.

이러한 과정없이 다양한 환경에서 사용할수 있는 오픈소스 채팅 프로젝트 rocket.chat을 사용하시면 됩니다. 물론 무료입니다.

로켓챗은 UbuntuRedhatCentOS 뿐 아니라 AWSHerokuDocker 등 굉장히 많은 환경을 지원합니다. 그중 도커를 이용하여 설치해보겠습니다.

공식 홈페이지에서 제공하는 도커 설치 내용은 아래 URL을 참고하면 됩니다.
https://rocket.chat/docs/installation/docker-containers/available-images/

그러나 저는 시놀로지의 도커를 사용할 것입니다. 시놀로지 도커에서 rocket.chat으로 검색하면 여러 결과가 나오지만 그중 공식 이미지인 rocketchat/rocket.chat 을 사용하면 됩니다. Docker hub의 URL은 https://hub.docker.com/r/rocketchat/rocket.chat/ 입니다.

가장 최신 이미지를 다운받은 후 ‘이미지’ 메뉴로 이동해서 실행을 하면 됩니다.

필수로 확인해야 할 세팅이 있습니다. ‘고급설정’ 으로 들어가서 ‘포트 설정’과 ‘환경’탭을 확인합니다.

‘포트 설정’ 에서는 자동으로 된 항목에 사용할 포트를 입력합니다. 포트를 지정하지 않으면 도커가 실행될때마다 포트값이 바뀔수 있습니다.

로켓챗은 MongoDB를 필요로 합니다. 따라서 환경 설정에선 MongoDB 로의 커넥션 정보를 수정해야 합니다. MongoDB가 설치된 서버의 아이피:포트로 세팅하거나 서버명:포트로 수정하시면 됩니다.

이렇게 저장하고 실행하면 서버 설치 완료 입니다. 브라우저에서 접속했을때 아래와 같은 화면을 보면 정상적으로 설치된 것입니다.

설치 마법사에서 간단한 몇가지 정보를 입력진행하면 채팅창을 보실 수 있습니다.