Error loading pages, Unique ID change detected and wrong entry in Rocket.cloud, when moving from snap to docker

Hi there,

my question is on an combination of moving from snap to docker an upgrade to a newer RC version. I’m not quite shure, wether or not this forum is the right place to aks. So be free to move it to a more appropriate place if neccessary.

I intend to set up RC on docker on atest machine, so as to be familiar with the update before doing it on production. Eventually, I want to have an up to date RC version on production, and migrate the old snap database to the new RC. Therefore, I think I should migrate the snap 7.13.5 database to 7.13.5 docker and subsequently upgrade RC on docker. First on test – that’s why I want to keep the snap there for a while – then on production.

What version are you coming from?

7.13.5 on snap

What version are you going to?

7.13.5 on docker, if ok and database migrated move to 8.x on docker

What deployment method did you use to deploy?

Deploy with docker compose

Did you follow a particular doc? Which one?

What issues are you running into upgrading?

  • There are two servers, production and test.
  • Both servers run on 7.13.5 community edition
  • Production server: Rocket.Chat is on Ubuntu 24.04. LTS, Snap, v. 7.13.5
  • Test: Ubuntu 24.04. LTS as well. Was a copy of production system. Snap was still running.

Test is not going to replace production server.

I now have RC up and kind of running on test. Errors:

  • when opening Administration-Workspace, I get „Error loading pages“ …
  • When reloading the page, I get “Unique ID change detected”. Chosing “New workspace” results in an entry on Rocket.Chat Cloud , pointing to the domain of my production server, not test server … “Error loading pages” persists
  • Container „otel/opentelemetry-collector-contrib:0.143.0“ exits with Error 137: error mounting “/var/run/docker.sock” to rootfs at “/var/run/docker.sock”

My compose.yml:

services:
rocketchat:
image: ${IMAGE:-registry.rocket.chat/rocketchat/rocket.chat}:${RELEASE:-8.0.1}
restart: always
labels:
prometheus.io/scrape: “true”
prometheus.io/port: ${METRICS_PORT:-9458}
container_tag: “${COMPOSE_PROJECT_NAME:-rocketchat}#rocketchat
environment:
ROOT_URL: ${ROOT_URL:-http://localhost}
PORT: ${PORT:-3000}
DEPLOY_METHOD: docker
DEPLOY_PLATFORM: compose
REG_TOKEN: ${REG_TOKEN:-}
LICENSE_DEBUG: true
OVERWRITE_SETTING_Prometheus_Enabled: true
OVERWRITE_SETTING_Prometheus_Port: “${METRICS_PORT:-9458}”
MONGO_URL: ${MONGO_URL:-mongodb://mongodb:27017/rocketchat?replicaSet=rs0}
TRANSPORTER: “${NATS_URL-monolith+nats://nats:4222}”
INSTANCE_IP: “${INSTANCE_IP:-}”

depends_on:

mongodb-init-container:

condition: service_completed_successfully

entrypoint: sh
command:

  • -c
  • |
    protocol=$(echo $$MONGO_URL | awk -F’://’ ‘{print $$1}’)
    if [ “$$protocol” = “mongodb+srv” ]; then
    echo “=====> MongoDB is using SRV protocol, skipping healthcheck before attempting to start rocket.chat …”;
    exec node main.js;
    fi
    host_port=$(echo $$MONGO_URL | awk -F/ ‘{print $$3}’)
    if echo $$host_port | grep -q @; then
    host_port=$(echo $$host_port | awk -F@ ‘{print $$2}’)
    fi
    echo “=====> host_port: $$host_port”;
    host=$${host_port%%:*}
    port=$${host_port##*:}
    port=$${port:-27017}
    echo “=====> Waiting for MongoDB ($$host:$$port) to be ready before starting Rocket.Chat…”;
    for i in $(seq 1 60); do
    if nc -z $$host $$port >/dev/null 2>&1; then
    echo “=====> MongoDB is up - starting Rocket.Chat”;
    exec node main.js;
    fi;
    echo “=====> MongoDB not ready yet, retrying in 5 seconds…”;
    sleep 5;
    done;
    echo “=====> Giving up waiting for MongoDB after 5 minutes”;
    exit 1
    expose:
  • ${PORT:-3000}
  • ${METRICS_PORT:-9458}
    ports:
  • “${BIND_IP:-0.0.0.0}:${HOST_PORT:-3000}:${PORT:-3000}”
  • “${BIND_IP:-0.0.0.0}:${METRICS_PORT:-9458}:${METRICS_PORT:-9458}”
    logging:
    driver: “json-file”

healthcheck:

test: [“CMD”, “nc”, “-zv”, “-w”, “10”, “rocketchat”, “${PORT:-3000}”]

interval: 30s

timeout: 10s

retries: 10

start_period: 30s

You can’t run two servers with the same ID.

That’s it.

Sounds plausible.

Well, this is not intended - how can I have a new ID for my test server? I thought, using “New workspace” would do that!?

Update:
Found typo in nginx-config. Can register now.

Still no Workspace-Page: “Error loading pages”. Seems to be connected to service $node.list:

GET https://eo-vmw-chat-testa.ku.de/api/v1/instances.get → error “Service ‘$node.list’ is not found.”

In docs, compose.nats.yml was not included. Install compose.nats.yml solved problem with “Error loading pages”!

1 Like