Rocket.Chat - SLACK alternative (with MongoDB as backend)

Docker Rocket.Chat - SLACK alternative (with MongoDB as backend)

Rocket.Chat

YAML:
version: '3.1'
services:
  rocketchat:
    image: rocketchat/rocket.chat:latest
    container_name: rocketchat
    network_mode: "bridge"
    ports:
      - "3000:3000"
    volumes:
      - /volume1/docker/rocketchat:/app/uploads
    environment:
      MONGO_OPLOG_URL: mongodb://root:mongorootpass@NAS_IP_ADDRESS:27017/local?authSource=admin&directConnection=true
      MONGO_URL: mongodb://root:mongorootpass@NAS_IP_ADDRESS:27017/rocketchatdb?authSource=admin&directConnection=true
      PORT: 3000
      ROOT_URL: https://chat.domain.com
    restart: always

Mongo

Code:
Keep in mind that Mongo version 4.4 or higher will NOT work on Pentium or Celeron-powered NAS due to Mongo requirements for a CPU with AVX support!
4.2.19 works fine on Pentium and Celeron CPU models

YAML:
version: '3.1'
services:
  mongo:
    image: mongo:4.2.19
    container_name: mongo
    network_mode: "bridge"
    command: mongod --oplogSize 128 --replSet rs0
    ports:
      - "27017:27017"
    volumes:
      - /volume1/docker/mongodb:/data/db
      - /volume1/docker/mongodb/mongod.conf:/etc/mongod.conf
    environment:
      MONGO_INITDB_ROOT_USERNAME: root
      MONGO_INITDB_ROOT_PASSWORD: mongorootpass
      MONGO_INITDB_DATABASE: db
    restart: always
  • Like
Reactions: SynoMan
Here is a short article on the upcoming changes regarding support for push notification for self-hosted versions of RC. Deadline has been extended from Jul 31st to Aug 14th, so be sure to have a look.

  • Like
Reactions: SynoMan
Just a short post on activating the Live Chat support feature via RC to give you more options when it comes to engaging your users and a way to give your website visitors a chance to communicate with you.

  • Like
Reactions: SynoMan
In case you ever need to restore your RC content to the same or a separate RC instance you might get into a bit of a problem with MongoDB.

Now unless you are using snapshot replication (for local or remote restore) method you will not be able to just copy paste your MongoDB content to a new mongoDB instance for example because that container will not boot up at all.

What you wanna do (if you are restoring your RC setup to a new location for example) is the following:

01. setup a new MongoDB instance
This included all the steps in this resource

02. Create a backup of your original instance using mongodump command via docker bash for MongoDB container:

Code:
mongodump --username your_username --password "your_password" --gzip --out /data/db/backup_name_of_your_choice

03. After the backup has been completed copy the folder content to a new location (as a complete folder) where your mongoDB lives.

04. Using your new mongoDB instance, connect to it again via bash and run the following command line to extract the content:

Code:
mongorestore --db db --username your_username --password "your_password" --authenticationDatabase admin --gzip /data/db/backup_name_of_your_choice/db

Keep in mind that this procedure will backup all your mongoDB databases so when restoring via mongorestore command, use the database name at the very end to tell which DB you wanna restore

Make sure to restore only the content DB and not the admin DB. Admin DB is specific for the instance and considering that the new instance is in question do not overwrite.

05. Once the restore is complete, restrart RC and connect it to a mongoDB instance that you have just restored.
Back
Top