The communications platform that puts data protection first.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Rocket.Chat/apps/meteor/ee/server/services
Tasso Evangelista 9e59265f66
ci(lint): Broken ESLint (#29599)
3 years ago
..
.config First move to monorepo 4 years ago
ecdh-proxy refactor(eslint): Add "no-floating-promises" eslint rule - Part 1 (#28463) 3 years ago
.env First move to monorepo 4 years ago
.gitignore First move to monorepo 4 years ago
CHANGELOG.md 6.2.6 3 years ago
Dockerfile chore: Meteor 2.11 (#28716) 3 years ago
README.md First move to monorepo 4 years ago
docker-compose.yml [NEW] [EE] PDF Chat transcript for Omnichannel conversations (#27572) 3 years ago
mongo.ts refactor: Bump TypeScript version (#28697) 3 years ago
package.json ci(lint): Broken ESLint (#29599) 3 years ago
tsconfig.json Chore: Update tsconfig base target to es2020 (#27552) 3 years ago

README.md

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