🔖 요약
👏 프로젝트 소개
- 프로젝트 개요
- 프로젝트 이름: Rocket.Chat 도입 및 운영
- 프로젝트 기간: 2021년 12월 1일 ~ 현재 사용 중
- 역할: 시스템 엔지니어
- 오픈 소스 솔루션 리서치
- 서버 선정 및 구축
- 유지 관리 및 운영
✍️ 프로젝트 배경
- 도입 이전 상황
- 중앙화된 커뮤니케이션 시스템이 없어 팀 간 협업이 비효율적임
- 카카오톡을 사용하여 커뮤니케이션을 진행해 혼란과 중복이 발생
- 커뮤니케이션 기록의 관리 및 검색이 어려움
- 도입 이유 및 목표
- 도입 이유:
- 효율적인 팀 커뮤니케이션 시스템 구축
- 통합된 커뮤니케이션 데이터 관리 및 검색 기능 강화
- 목표:
- 커뮤니케이션의 중앙 집중화
- 팀 협업의 효율성 및 생산성 증대
🔦 기술 스택 및 주요 기능 구현
- 기술 스택
- 주요 기술:
- Rocket.Chat (오픈 소스 커뮤니케이션 플랫폼)
- nginx
- Docker
- MongoDB
- 주요 기능 및 구현 내용
- 팀 채팅 관리:
- 채널 및 그룹 채팅
- 프로젝트 별, 팀 별 채널 생성 및 관리
- 채팅 기록 저장 및 검색 기능 제공
🔦 도입 과정
- 초기 요구사항 분석
기능 | 설명 |
채널 및 그룹 채팅 | 팀 별, 프로젝트 별 채널을 생성하고 관리하는 기능. |
파일 공유 | 채팅 내에서 파일을 쉽게 공유하고 관리하는 기능. |
크로스플랫폼 | 윈도우, 리눅스, 안드로이드, ios, 웹 브라우저 등 크로스플랫폼 지원 기능. |
사용자 및 권한 관리 | 사용자 계정을 생성하고, 각 사용자에게 적절한 접근 권한을 부여하는 기능. |
검색 기능 | 대화 및 파일을 쉽게 검색할 수 있는 기능. |
알림 및 경고 시스템 | 중요한 메시지나 이벤트에 대해 알림 및 경고를 제공하는 기능. |
- 오픈 소스 커뮤니케이션 시스템 리서치
기능은 두 솔루션 모두 충분했으나, 당시 Git Hub Star 수 및 이슈 관리 추이를 봤을 때 Rocket.chat이 더 활발하다고 판단하여 최종 Rocket.Chat 선택
기능 | Rocket.Chat | Mattermost |
라이선스 정책 | ||
셀프 호스팅 | ✅ | ✅ |
웹, 데스크탑, 모바일 앱 지원 | ✅ | ✅ |
실시간 메시징 | ✅ | ✅ |
파일 공유 | ✅ | ✅ |
음성 및 영상 통화 | ✅ | ✅ |
스크린 공유 | ✅ | ✅ |
다중 채널 지원 | ✅ | ✅ |
채널 멘션 및 알림 | ✅ | ✅ |
메시지 검색 | ✅ | ✅ |
서드파티 통합 | ✅ | ✅ |
사용자 상태 표시 | ✅ | ✅ |
게스트 사용자 지원 | ✅ | ✅ |
사용자 및 역할 관리 | ✅ | ✅ |
보안 및 암호화 | ✅ | ✅ |
다중 언어 지원 | ✅ | ✅ |
채널 아카이브 및 백업 | ✅ | ✅ |
봇 및 자동화 | ✅ | ✅ |
서드파티 인증(OAuth, LDAP 등) | ✅ | ✅ |
화이트 라벨링 | ✅ | ✅ |
엔터프라이즈 기능 | ✅ | ✅ |
프라이빗 그룹 채팅 | ✅ | ✅ |
메시지 편집 및 삭제 | ✅ | ✅ |
커스터마이징 옵션 | ✅ | ✅ |
통합 개발 환경 | ✅ | ✅ |
알림 설정 | ✅ | ✅ |
포스트 애널리틱스 | ❌ | ✅ |
지리 위치 태깅 | ✅ | ❌ |
리액션 및 이모지 | ✅ | ✅ |
- 서버 설치 및 Rocket.Chat 환경 구성
- 설치 정보
- 설치
- Ubuntu 패키지 nginx 설치, Docker 컨테이너로 Rocket.Chat, MongoDB 설치
CPU | 4Core |
MEM | 16GB |
DISK | 1TB |
OS | Ubuntu 20.04 |
Docker | 20.10.15 |
MongoDB | 4.4.28 |
Rocket.Chat | 6.9.2 |
nginx | 1.18.0 |
포인트
1. 모바일 어플리케이션 공인망 사용
— nginx SSL 설정 필요
- nginx 리버스 프록시 설정으로 외부망에서 SSL 3001포트로 접근 시 3000번 내부포트로 포워딩
— SSL 인증서 발급
- 나누미넷 도메인 발급, dnszi 회사 공인IP 도메인 호스팅
- 셀프사인 인증서 사용 불가
- Let’s encrypt 인증서 사용
- 인증서 자동 갱신 스크립트 작성
🔦 결과 및 성과
- 성과 및 결과
- 도입 후 성과
- 팀 커뮤니케이션의 효율성 향상
- 팀 간 협업이 더 원활해지고, 커뮤니케이션 효율성이 크게 향상되었습니다.
- 젠킨스, 이슈 트래커(yona) 웹훅 연동을 통한 기술팀 ↔ 개발팀 간의 이슈 및 기능 개선 알림 자동화로 업무 효율성이 향상되었습니다.
- 커뮤니케이션 데이터의 통합 관리
- 모든 커뮤니케이션 기록을 하나의 시스템에서 관리할 수 있게 되어 데이터의 일관성과 접근성이 향상되었습니다.
- 커뮤니케이션 관리의 단순화
- 이전에는 여러 도구를 사용하여 커뮤니케이션을 관리했으나, 이제는 하나의 시스템으로 통합되어 관리가 훨씬 간편해졌습니다.
- 향후 계획
- 정기적인 시스템 업데이트 및 유지보수
- 이슈트래커 및 젠킨스 웹훅 연동 알림 자동화 (적용 완료)
댓글