Site URL is always http://localhost:3000

Description

I deployed Rocket.Chat on a Kubernetes cluster using the Helm chart from https://github.com/RocketChat/helm-charts/tree/master/rocketchat. The deployment went smoothly, and I can access the site from my browser using the host I specified in the values.yaml. However, the site is stuck at the loading indicator with three dots.

Server Setup Information

In the Pod it logs:

±---------------------------------------------+
| SERVER RUNNING |
±---------------------------------------------+
| Rocket.Chat Version: 6.4.4 |
| NodeJS Version: 14.21.3 - x64 |
| MongoDB Version: 6.0.10 |
| MongoDB Engine: wiredTiger |
| Platform: linux |
| Process Port: 3000 |
| Site URL: http://localhost:3000 |
| ReplicaSet OpLog: Enabled |
| Commit Hash: d994a6ff33 |
| Commit Branch: HEAD |
±---------------------------------------------+

Any additional Information

Console output when I navigate to the URL I set in the host value (I modified my hosts file to point to the load balancer URL):

To me, it looks like the Site URL from the values.yaml hosts value is not set within the JavaScript code. However, the environment variable ROOT_URL is correctly set to the URL in the pod.

1 Like

I encounter the same problem. Any workaround?

Not yet, unfortunately.

I found one. You can install 6.3.10 first, then upgrade to 6.4.5. The problem is the mongoDB init code I guess. Once it init finish, it won’t change between updates.
In helm value.yaml something like this:
image:
repository: registry.rocket.chat/rocketchat/rocket.chat
tag: 6.3.10
pullPolicy: IfNotPresent

1 Like

After revising the entire values.yaml file, removing the previous deployment, and reinstalling it with the updated values.yaml, everything now functions correctly. Unfortunately, I am unable to pinpoint the exact issue in my initial attempt. Nevertheless, I’ve identified some aspects that may assist others facing similar problems:

Ensure to:

  • Set the host to the correct URL without including the protocol, for example, use “rocketchat.mycompany.local” instead of “https://…”
  • Configure the ingress (if applicable) without specifying a host, as the chart will utilize the host specified in the values.yaml
  • (Even though it may seem trivial, it can happen to the best of us) Make sure to actually use the values.yaml in your Helm command.