Skip to content
Snippets Groups Projects
user avatar
rocketchat-github-ci authored
[no ci]
05de4ba5
History

Rocket.Chat Micro-Services

PM2

This usually suits better for development purposes.

Start NATS first, you can it via Docker:

docker run --rm -d -p 4222:4222 nats

Then run Rocket.Chat as usual with an additional TRANSPORTER and DISABLE_DB_WATCH env vars:

TRANSPORTER=nats://localhost:4222 MOLECULER_LOG_LEVEL=debug DISABLE_DB_WATCH=true meteor

Set up an Enterprise license going to Admin > Enterprise.

Then you can spin up micro services. From this folder, first install dependencies:

meteor npm i

You can run on dev to have hot reloading:

MONGO_URL=mongodb://localhost:3001/meteor \
MOLECULER_LOG_LEVEL=debug \
TRANSPORTER=nats://localhost:4222 \
meteor npm run dev

To see process logs, do:

meteor npm run pm2 -- logs

Docker Compose

The .env file defines the HTTP address to be used, default to localhost.

It requires meteor to be running, and the config at services/.config/services/service.env uses the default meteor mongodb. To run it:

TRANSPORTER=nats://localhost:4222 MOLECULER_LOG_LEVEL=debug meteor

The docker-compose.yml file contais a setup of the micro-services plus some extra tools:

Traefik

It's used to route the the domain on port 80 to the DDP Streamer Service and expose these addresses

  • traefik.localhost as Traefik admin
  • prometheus.localhost as Prometheus admin
  • grafana.localhost as Grafana dashboards

Prometheus

Used to collect metrics from the micro-services

Grafana

Used to expose metrics from prometheus as dashboards

Nats

Used for the communication of the microservices

Build containers

npm run build-containers will build the typescript files and generate the containers

Running with docker-compose

docker-compose up --remove-orphans will run all the micro-services, still need to run MongoDB and Rocket.Chat Core separated

Running rocket.chat core

MONGO_URL=mongodb://localhost:27017/rocketchat MONGO_OPLOG_URL=mongodb://localhost:27017/local TRANSPORTER=nats://localhost:4222 MOLECULER_LOG_LEVEL=debug meteor