Rocket.Chat's Community Open Call 🎤 Dec 15, 2021 Join us!

Docker migration - how do I run it without the migration portion after first run?

Description

I ran the docker-comose file for migrating from mmap to wiredtiger, and everything seems to have migrated, but how do I now run the system without the migration portion? I don’t find updated compose info for a “new install” or an existing wiredtiger setup.

Additionally, my push notifications no longer work, and the system is quite slow. Clearing items as read isn’t working, and I’m having to manually reload a lot of times.

Server Setup Information

  • Version of Rocket.Chat Server: 4.0.1
  • Operating System: Ubuntu Server with Docker-CE and Docker-Compose
  • Deployment Method: Docker and Docker-Compose
  • Number of Running Instances: 1
  • DB Replicaset Oplog:
  • NodeJS Version: Whatever you set in Docker
  • MongoDB Version: 4.2
  • Proxy: NGinX
  • Firewalls involved: none

Any additional Information

  1. Follow the official rocketchat guide on migrating from mmap to wiredtiger.
  2. Checked logs.
  3. Looked for updated docker-compose to run with existing wiredtiger setup, but unable to locate one in Rocketchat official docs.

Hi @bmcgonag ! Welcome to our forum!

We are working on updating the docker-compose file.

We have now 2 PRs for that, and will merge one of those soon:

and

regarding the Push not working anymore, were you able to gather more logs about it?
Also, we have newer versions (latest is 4.1.0) can you teste on those and see if it gets fixed?

Sorry for the late reply. No I haven’t been able to gather logs. If you can tell me where to gather logs from, I’m happy to do so. I also notice, my RocketChat client and web UI don’t get updates when new messages are posted anymore either. Perhaps fixed in the updated version. The issue is I don’t know how to update without an updated compose file that will not specify mmapv1 since the migration to WiredTiger engine.

Hi!

This is the docker-compose mongo for rocket.chat I have been using on a side project I have:

Here is the part you are interested in, the mongo db definition. It’s not the official version, but one I know that works.

  mongo:
    image: mongo:4.4
    restart: unless-stopped
    volumes:
     - ./data/rocketchat_db:/data/db
     - ./data/rocketchat_dump/dump:/dump
    command: mongod --oplogSize 128 --replSet rs0 --storageEngine=wiredTiger
    labels:
      - "traefik.enable=false"

  # this container's job is just run the command to initialize the replica set.
  # it will run the command and remove himself (it will not stay running)
  mongo-init-replica:
    image: mongo:4.4
    command: >
      bash -c
        "for i in `seq 1 30`; do
          mongo mongo/rocketchat --eval \"
            rs.initiate({
              _id: 'rs0',
              members: [ { _id: 0, host: 'localhost:27017' } ]})\" &&
          s=$$? && break || s=$$?;
          echo \"Tried $$i times. Waiting 5 secs...\";
          sleep 5;
        done; (exit $$s)"
    depends_on:
      - mongo

Hi, let me add to what @dudanogueira already stated.

Revert the changes you made for the migration step and change the command section under the mongo service to mongod --replSet rs0 (what Duda has over there works as well).

Seems like this issue is surfacing after mmap to wiredtiger migration. Known internally and hopefully we’ll provide a solution soon.

Thanks.