rocketchat mongodb migrate (mmap -> wiredTiger)

아래 절차는 major 버전 단계별로 1~5 를 수행한다. (버전 5에서 7로 변경 시, 버전 5 수행 > 버전 6 수행 > 버전 7 수행)

  1. backup

    • docker-compose exec mongo mongodump –archive=/data/mmapdump.gz –gzip
    • container 안의 mmapdump.gz 를 외부로 가져온다.

  2. container down

    • docker-compose down
    • db 디렉토리 rename (만약을 위해)

  3. docker-compose 에서 몽고db 만 재시작 (변경할 버전으로 시작)
  4. 복구

    • container 에 접근
    • docker-compose exec mongo bash
    • 기존 replica 셋으로 초기화 (rocket chat docker-compose 파일은 rs0 로 설정함)
      mongo 실행 : mongo 또는 mongosh
      // init/
      config = { _id : “rs0”, members: [ {_id:0,host : “mongo:27017”} ] }
      rs.initiate(config);

  5. 데이터 복원

    • 컨테이너 안으로 백업한 데이터 전달
    • 데이터 복원

      • mongorestore –drop –archive=./mmapdump.gz –gzip –noIndexRestore

  6. 컨테이너 재시작



Rocket Chat 설치

slacks 와 같은 rocket chat 설치방법

rocket chat 설치 : https://sub0709.tistory.com/65

mongodb 설치 : https://sub0709.tistory.com/96?category=864417

특이사항으로는, mongo_url, mongo_oplog_url 에서는 내부아이피 및 특정포트를 사용했고, root_url은 localhost:3000 을 사용하였음

설치 후, 로그를 모니터링하면 1-2분 후 성공 로그가 나오며, 이후 로그인/설정이 가능함

설치 후, 역방향프록시설정으로 url을 정의하고 앱에서 접속을 시도하면 websocket 에러가 난다. 이때는 역방향프록시 설정에서 사용자지정머리글에서 생성 > websocket 을 생성한 후 저장하면 성공할 수 있다.