Running Multiple Instances Error: You are operating multiple instances... some features will not behave as

Description

Hello, i get an error when I connect multiple instances rocketchat server with nginx:

You are operating multiple instances… some features will not behave as

designed.

I have already read all the documentation for rocketchat and a lot of material in the documentation for mongodb))

Steps to play:

1. I’m Install MongoDB Community Edition 5.0.13 (also tried with version 4.4.17)
My config mongodb:

i tried using simple setup:

storage:
  dbPath: /var/lib/mongodb
  journal:
    enabled: true
  engine: wiredTiger
systemLog:
  destination: file
  logAppend: true
  path: /var/log/mongodb/mongod.log
net:
  port: 27017
  bindIp: 127.0.0.1,192.168.10.70
processManagement:
  timeZoneInfo: /usr/share/zoneinfo
replication:
  replSetName: rs01

also i tried using replica set with key file authentication
and using SCRAM to Authenticate Clients

additional configuration part:

security:
    authorization: enabled
    keyFile: /opt/mongokey/key.txt

I first created the main administrator with roles:
{ role: "root", db: "admin" }

and after two users for the rocketchat base and oplog with roles

> for oplog:

{ role: "read", db: "local"},
{ role: "clusterMonitor", db: "admin" }

> for rocketchat

{ role: "readWrite", db: "rchatdb" },
{ role: "clusterMonitor", db: "admin" }

After I started the mongodb server and executed Initiates a replica set

mongo --eval “printjson(rs.initiate())” --authenticationDatabase “admin” -u “mainadmin” -p

or tried a little different

rs.initiate( { _id : “rs01”, members: [ { _id: 0, host: “192.168.10.70:27017” } ] })

rs.conf() and rs.status() - the output shows that everything is ok

2. RocketChat Server

I tried to build rocketchat both manually and run through docker

Based on the rocketchat documentation, I connected mongodb through environment variables

  • simple connect:

Environment=MONGO_URL=mongodb://192.168.10.70:27017/rchatdb?replicaSet=rs01
Environment=MONGO_OPLOG_URL=mongodb://192.168.10.70:27017/local?replicaSet=rs01

  • connection with using authentication

Environment=MONGO_URL=mongodb://rocketchatuser:password@192.168.10.70:27017/rchatdb?authSource=admin&replicaSet=rs01
Environment=MONGO_OPLOG_URL=mongodb://oploguser:password@192.168.10.70:27017/local?authSource=admin&replicaSet=rs01

i tried also trying setting the INSTANCE_IP

docker (simple connect):

docker run -dt --name rocketchat-node1 -p 3001:3001
-e “PORT=3001”
-e “ROOT_URL=https://example.com
-e “MONGO_URL=mongodb://192.168.10.70:27017/rchatdb?replicaSet=rs01”
-e “MONGO_OPLOG_URL=mongodb://192.168.10.70:27017/local?replicaSet=rs01”
-e “INSTANCE_IP=192.168.10.8”
rocketchat/rocket.chat:5.2.0

In general, with one instance, it works without errors, as soon as I add 2 second instance and more connections, an error appears

As an alternative and experiment, I tried using Percona Server for MongoDB, but I come back to this error

3. NGINX
my config nginx is based on these articles:

https://docs.rocket.chat/quick-start/scaling-rocket.chat/running-multiple-instances#update-your-nginx-proxy-config

::::::::
maybe I’m doing something wrong, please help find me the solution to this problem, thanks
::::::::

Server Setup Information

  • Version of Rocket.Chat Server: 5.2.0
  • Operating System: Ubuntu 20.04/Debian 11
  • Deployment Method: Manual Install and Docker
  • Number of Running Instances: 2-4
  • DB Replicaset Oplog: Yes
  • NodeJS Version: 14.19.3
  • MongoDB Version: 4.4.17/5.0.13
  • Proxy: NIGNX
  • Firewalls involved: no

Any additional Information

last logs:

±-----------------------------------------+
| SERVER RUNNING |
±-----------------------------------------+
| |
| Rocket.Chat Version: 5.2.0 |
| NodeJS Version: 14.19.3 - x64 |
| MongoDB Version: 4.4.17 |
| MongoDB Engine: wiredTiger |
| Platform: linux |
| Process Port: 3001 |
| Site URL: example_net |
| ReplicaSet OpLog: Enabled |
| Commit Hash: 08f03cc9d8 |
| Commit Branch: HEAD |
| |
±-----------------------------------------+
{“level”:40,“time”:“2022-10-27T15:53:24.715Z”,“pid”:1,“hostname”:“98cf544766d4”,“name”:“StreamBroadcast”,“msg”:“You are operating multiple instances… some features will not behave as designed.”}
{“level”:50,“time”:“2022-10-27T16:02:43.066Z”,“pid”:1,“hostname”:“98cf544766d4”,“name”:“System”,“msg”:“Exception while invoking method autoTranslate.getSupportedLanguages ‘Auto-Translate is disabled [error-autotranslate-disabled]’”}
{“level”:40,“time”:“2022-10-27T16:03:33.981Z”,“pid”:1,“hostname”:“98cf544766d4”,“name”:“StreamBroadcast”,“msg”:“You are operating multiple instances… some features will not behave as designed.”}
{“level”:50,“time”:“2022-10-27T16:05:34.027Z”,“pid”:1,“hostname”:“98cf544766d4”,“name”:“System”,“msg”:“Exception while invoking method autoTranslate.getSupportedLanguages ‘Auto-Translate is disabled [error-autotranslate-disabled]’”}
{“level”:50,“time”:“2022-10-27T16:50:19.641Z”,“pid”:1,“hostname”:“98cf544766d4”,“name”:“System”,“msg”:“Exception while invoking method autoTranslate.getSupportedLanguages ‘Auto-Translate is disabled [error-autotranslate-disabled]’”}

looks like this warning was added with 5.1.0, see:

Unfortunately there is no much information about the why. Probably not working anymore with community edition.