협업 메신저 Rocket.Chat
협업 메신저 Rocket.Chat

협업 메신저 Rocket.Chat

gubun
Infra
Stack
Docker
nginx
mongoDB
진행기간
2021년 12월 ~ 현재
작성일
2021년 12월 01일 00시 00분
Author

🔖 요약


notion image
 
notion image

👏 프로젝트 소개


  • 프로젝트 개요
    • 프로젝트 이름: Rocket.Chat 도입 및 운영
    • 프로젝트 기간: 2021년 12월 1일 ~ 현재 사용 중
    • 역할: 시스템 엔지니어
      • 오픈 소스 솔루션 리서치
      • 서버 선정 및 구축
      • 유지 관리 및 운영

✍️ 프로젝트 배경


  • 도입 이전 상황
    • 중앙화된 커뮤니케이션 시스템이 없어 팀 간 협업이 비효율적임
    • 카카오톡을 사용하여 커뮤니케이션을 진행해 혼란과 중복이 발생
    • 커뮤니케이션 기록의 관리 및 검색이 어려움
  • 도입 이유 및 목표
    • 도입 이유:
      • 효율적인 팀 커뮤니케이션 시스템 구축
      • 통합된 커뮤니케이션 데이터 관리 및 검색 기능 강화
    • 목표:
      • 커뮤니케이션의 중앙 집중화
      • 팀 협업의 효율성 및 생산성 증대

🔦 기술 스택 및 주요 기능 구현


  • 기술 스택
    • 주요 기술:
      • Rocket.Chat (오픈 소스 커뮤니케이션 플랫폼)
      • nginx
      • Docker
      • MongoDB
  • 주요 기능 및 구현 내용
    • 팀 채팅 관리:
      • 채널 및 그룹 채팅
        • 프로젝트 별, 팀 별 채널 생성 및 관리
        • 채팅 기록 저장 및 검색 기능 제공

🔦 도입 과정


  1. 초기 요구사항 분석
    1. 기능
      설명
      채널 및 그룹 채팅
      팀 별, 프로젝트 별 채널을 생성하고 관리하는 기능.
      파일 공유
      채팅 내에서 파일을 쉽게 공유하고 관리하는 기능.
      크로스플랫폼
      윈도우, 리눅스, 안드로이드, ios, 웹 브라우저 등 크로스플랫폼 지원 기능.
      사용자 및 권한 관리
      사용자 계정을 생성하고, 각 사용자에게 적절한 접근 권한을 부여하는 기능.
      검색 기능
      대화 및 파일을 쉽게 검색할 수 있는 기능.
      알림 및 경고 시스템
      중요한 메시지나 이벤트에 대해 알림 및 경고를 제공하는 기능.
  1. 오픈 소스 커뮤니케이션 시스템 리서치
    1. 💡
      기능은 두 솔루션 모두 충분했으나, 당시 Git Hub Star 수 및 이슈 관리 추이를 봤을 때 Rocket.chat이 더 활발하다고 판단하여 최종 Rocket.Chat 선택
      기능
      Rocket.Chat
      Mattermost
      라이선스 정책
      셀프 호스팅
      웹, 데스크탑, 모바일 앱 지원
      실시간 메시징
      파일 공유
      음성 및 영상 통화
      스크린 공유
      다중 채널 지원
      채널 멘션 및 알림
      메시지 검색
      서드파티 통합
      사용자 상태 표시
      게스트 사용자 지원
      사용자 및 역할 관리
      보안 및 암호화
      다중 언어 지원
      채널 아카이브 및 백업
      봇 및 자동화
      서드파티 인증(OAuth, LDAP 등)
      화이트 라벨링
      엔터프라이즈 기능
      프라이빗 그룹 채팅
      메시지 편집 및 삭제
      커스터마이징 옵션
      통합 개발 환경
      알림 설정
      포스트 애널리틱스
      지리 위치 태깅
      리액션 및 이모지
  1. 서버 설치 및 Rocket.Chat 환경 구성
    1. 설치 정보
      1. 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
    2. 설치
      1. 💡
        포인트 1. 모바일 어플리케이션 공인망 사용 — nginx SSL 설정 필요 - nginx 리버스 프록시 설정으로 외부망에서 SSL 3001포트로 접근 시 3000번 내부포트로 포워딩 — SSL 인증서 발급 - 나누미넷 도메인 발급, dnszi 회사 공인IP 도메인 호스팅 - 셀프사인 인증서 사용 불가 - Let’s encrypt 인증서 사용 - 인증서 자동 갱신 스크립트 작성
        • Ubuntu 패키지 nginx 설치, Docker 컨테이너로 Rocket.Chat, MongoDB 설치

🔦 결과 및 성과


  • 성과 및 결과
    • 도입 후 성과
      • 팀 커뮤니케이션의 효율성 향상
        • 팀 간 협업이 더 원활해지고, 커뮤니케이션 효율성이 크게 향상되었습니다.
        • 젠킨스, 이슈 트래커(yona) 웹훅 연동을 통한 기술팀 ↔ 개발팀 간의 이슈 및 기능 개선 알림 자동화로 업무 효율성이 향상되었습니다.
      • 커뮤니케이션 데이터의 통합 관리
        • 모든 커뮤니케이션 기록을 하나의 시스템에서 관리할 수 있게 되어 데이터의 일관성과 접근성이 향상되었습니다.
      • 커뮤니케이션 관리의 단순화
        • 이전에는 여러 도구를 사용하여 커뮤니케이션을 관리했으나, 이제는 하나의 시스템으로 통합되어 관리가 훨씬 간편해졌습니다.
  • 향후 계획
    • 정기적인 시스템 업데이트 및 유지보수
    • 이슈트래커 및 젠킨스 웹훅 연동 알림 자동화 (적용 완료)

댓글

guest