내부망과 같이 인터넷이 없는 환경에서 개발을 진행하다보면 구두로 매번 말하고, 파일로 적어 옮기기가 여간 불편한게 아니다.
이를 위한 메신저 서비스를 구축하기 위해 오픈소스 RocketChat을 들이기로 했고 외부에서 VM으로 서버를 구축한다음 내부로 옮기는 방식으로 진행했다.
위 깃헙 링크를 기반(2023.12.29)으로 진행했으며 운영체제는 ubuntu-22.04.3-desktop-amd64 로 새로 만들어 수행했다.
설치
docker 이미지를 지원하기 때문에 설치는 무척이나 간단하다.
•
(ubuntu) Git 설치 및 Git clone
sudo apt install git
Bash
복사
git clone https://github.com/RocketChat/Docker.Official.Image.git
cd Docker.Official.Image/
Bash
복사
•
(ubuntu) docker 설치 및 docker 구성
sudo apt install docker
sudo apt install docker-compose
Bash
복사
sudo docker-compose up -d
Bash
복사
compose.yml에 따라 mongodb 및 rocketchat 도커 이미지를 다운받게 된다.
오류 수정
이상하게 브라우저로 3000포트에 접속해도 서비스가 보이지 않아 실행 중인 도커 로그를 확인해보니 계속 오류가 발생하고 있었다.
URL 환경변수 설정 문제인듯 해 이것저것 건드리다가 그냥 기존 여러 환경 변수 설정 값들을 간소화 및 하드코딩해 compose.yml을 재구성하니 문제가 해결됐다.
•
(ubuntu) 실행 중인 도커 서비스 종료
sudo docker-compose down
Bash
복사
•
compose.yml 간소화
services:
rocketchat:
image: registry.rocket.chat/rocketchat/rocket.chat:latest
restart: always
environment:
MONGO_URL: "mongodb://mongodb:27017/rocketchat"
MONGO_OPLOG_URL: "mongodb://mongodb:27017/local"
ROOT_URL: "http://localhost:3000"
PORT: 3000
depends_on:
- mongodb
ports:
- "3000:3000"
mongodb:
image: docker.io/bitnami/mongodb:5.0
restart: always
volumes:
- mongodb_data:/bitnami/mongodb
environment:
MONGODB_REPLICA_SET_MODE: primary
MONGODB_REPLICA_SET_NAME: rs0
MONGODB_PORT_NUMBER: 27017
MONGODB_INITIAL_PRIMARY_HOST: mongodb
MONGODB_INITIAL_PRIMARY_PORT_NUMBER: 27017
MONGODB_ADVERTISED_HOSTNAME: mongodb
MONGODB_ENABLE_JOURNAL: "true"
ALLOW_EMPTY_PASSWORD: "yes"
volumes:
mongodb_data:
driver: local
YAML
복사
실행 결과
도커를 재실행해 구성하면 위와 같은 구성 페이지를 만날 수 있고, 설정하며 이메일 인증을 완료하면 된다.
(이메일 인증 과정이 잘 진행되지 않을 경우 rocketchat 서비스에 해당 메일로 로그인 후 인증을 진행)
구성 완료. 인터넷이 없는 환경으로 이동할 예정이면 desktop apps 에서 필요한 앱들을 미리 다운받아놓으면 좋다.