RocketChat blank screen with "Error" on ROOT_URL in k8s

Description

Server Setup Information

  • Version of Rocket.Chat Server: 3.15.1
  • Operating System: Docker installation
  • Deployment Method: k8s
  • Number of Running Instances: 1
  • DB Replicaset Oplog: BYPASS_OPLOG_VALIDATION set to true
  • NodeJS Version:
  • MongoDB Version:
  • Proxy:
  • Firewalls involved:

Any additional Information

The above is what we see after navigating to the ROOT_URL. There is no error in the console however there is an err header that is returned but the error is [object Object].

We are on a development environment so we don’t want mongo db replication so following this, we bypassed the oplog validation.

We are using k8s. The following is the values.yaml file. (I’ve removed the dots from urls to get past new users being unable to post more than 2 urls)

replicas: 1
projectName: rocketchat
namespace: dev

image:
repository: hub docker com/_/rocket chat/
tag: 3.15.1
pullPolicy: IfNotPresent

secret:
name: rocketchat-secrets
data:
MONGO_SERVER_CONNECT_STR: mongodb://mongo-svc/chat

configmap:
name: rocketchat-config
data:
ROOT_URL: our_root_url
MONGO_URL: mongodb://mongo-svc/chat

service:
name: rocketchat-svc
targetPort: 3000
port: 80

ingress:
name: rocketchat-ing
enabled: true
annotations:
nginx ingress kubernetes io/rewrite-target: /$1
kubernetes io/ingress class: nginx
path: /rocketchat/?(.*)
hosts:
- our_host

The server says it is running. Is anyone familiar with that error? We visit our_root_url/rocketchat

I think this might be your issue.

I’m not sure that Rocket will run without replica sets enabled.

Even if it did did run it is not supported and you run it at your own risk and we can’t really help you.

Have you tried enabling replica sets as a test?

Hey John,

We’ll give it a test. Meanwhile, here’s an error I got from sshing into the server and trying to start it manually.

Also, in regards to the mongo replica sets, I believe the entire server will be replicated, is there a way to only replicate the collections that RC uses?

Yup - Replica sets/Oplogs need to be on.

That I don’t know but I know someone who might. I’ll ask.

Thank you, I have outlined my issue here as well: mongodb - Setup Rocketchat self-hosting on development and staging without Mongo Replica Sets - Stack Overflow

Hey @ayudh37 !! Welcome to RC :wink:

First of all, as @john.crisp mentioned, you have to initialize a replica set.

No. MongoDB replication is about data redundancy across all nodes. As far as I know, you can’t have partial/filtered replication in Mongo natively, that’d defeat the whole purpose.

To know more on this, look at the parameters of replication configuration: https://docs.mongodb.com/manual/reference/replica-configuration/

Or, the MongoDB documentation on replica sets: https://docs.mongodb.com/manual/replication/

This being said, my question is are you reusing an existing Mongo setup?

1 Like

Hey Debdut, Yes I am reusing an existing mongo setup.

Also, in regards to bypassing the replica set, I’ve seem to gotten RC to work locally without a replica set by setting the BYPASS_OPLOG_VALIDATION env variable as stated here: Can't enable ReplicaSet OpLog · Issue #17164 · RocketChat/Rocket.Chat · GitHub

Yes, you can, but this is absolutely not recommended. YMMV. Please take extra care here and make sure if you have any issues make sure you mention this fact.

1 Like

Is there any reason this BYPASS_OPLOG_VALIDATION works on localhost and not when deployed on k8s?