Some checks failed
Create issues from TODOs / todos (push) Failing after 3s
Close inactive issues / close-issues (push) Has been cancelled
Deploy GitHub Pages / deploy-preview (push) Has been cancelled
CI / ⚙️ Variables Setup (push) Has been cancelled
CI / ⚙️ Test Guard (push) Has been cancelled
CI / 🚀 Notify external services - draft (push) Has been cancelled
CI / 📦 Build Packages (push) Has been cancelled
CI / 📦 Meteor Build (coverage) (push) Has been cancelled
CI / 📦 Meteor Build (production) (push) Has been cancelled
CI / 🚢 Build Docker (amd64, [account-service presence-service omnichannel-transcript-service], ${{ (github.event_name != 'release' && github.ref != 'refs/heads/develop') && 'coverage' || 'production' }}) (push) Has been cancelled
CI / 🚢 Build Docker (amd64, [account-service presence-service omnichannel-transcript-service], fips) (push) Has been cancelled
CI / 🚢 Build Docker (amd64, [authorization-service queue-worker-service ddp-streamer-service], ${{ (github.event_name != 'release' && github.ref != 'refs/heads/develop') && 'coverage' || 'production' }}) (push) Has been cancelled
CI / 🚢 Build Docker (amd64, [authorization-service queue-worker-service ddp-streamer-service], fips) (push) Has been cancelled
CI / 🚢 Build Docker (amd64, [rocketchat], ${{ (github.event_name != 'release' && github.ref != 'refs/heads/develop') && 'coverage' || 'production' }}) (push) Has been cancelled
CI / 🚢 Build Docker (amd64, [rocketchat], coverage) (push) Has been cancelled
CI / 🚢 Build Docker (amd64, [rocketchat], fips) (push) Has been cancelled
CI / 🚢 Build Docker (arm64, [account-service presence-service omnichannel-transcript-service], ${{ (github.event_name != 'release' && github.ref != 'refs/heads/develop') && 'coverage' || 'production' }}) (push) Has been cancelled
CI / 🚢 Build Docker (arm64, [authorization-service queue-worker-service ddp-streamer-service], ${{ (github.event_name != 'release' && github.ref != 'refs/heads/develop') && 'coverage' || 'production' }}) (push) Has been cancelled
CI / 🚢 Build Docker (arm64, [rocketchat], ${{ (github.event_name != 'release' && github.ref != 'refs/heads/develop') && 'coverage' || 'production' }}) (push) Has been cancelled
CI / 🚢 Build Docker (arm64, [rocketchat], coverage) (push) Has been cancelled
CI / 🚢 Publish Docker Images (ghcr.io) (push) Has been cancelled
CI / 📦 Track Image Sizes (push) Has been cancelled
CI / 🔎 Code Check - Action Lint (push) Has been cancelled
CI / 🔎 Code Check (push) Has been cancelled
CI / 🔨 Test Storybook (push) Has been cancelled
CI / 🔨 Test Unit (push) Has been cancelled
CI / 🔨 Test API (CE) (push) Has been cancelled
CI / 🔨 Test API Livechat (CE) (push) Has been cancelled
CI / 🔨 Test UI (CE) (push) Has been cancelled
CI / 🔨 Test API (EE) (push) Has been cancelled
CI / 🔨 Test API Livechat (EE) (push) Has been cancelled
CI / 🔨 Test API Apps (deno-runtime - EE) (push) Has been cancelled
CI / 🔨 Test UI (EE) (push) Has been cancelled
CI / 🔨 Test API (FIPS) (push) Has been cancelled
CI / 🔨 Test API Livechat (FIPS) (push) Has been cancelled
CI / 🔨 Test UI (FIPS) (push) Has been cancelled
CI / 🔨 Test Federation Matrix (push) Has been cancelled
CI / 📊 Report Coverage (push) Has been cancelled
CI / ✅ Tests Done (push) Has been cancelled
CI / 🚀 Publish build assets (push) Has been cancelled
CI / 🚀 Publish Docker Images (DockerHub) (push) Has been cancelled
CI / 🚀 Notify external services (push) Has been cancelled
CI / Update Version Durability (push) Has been cancelled
Release / Release (push) Has been cancelled
Code scanning - action / CodeQL-Build (push) Failing after 2s
Auto-close duplicate issues / auto-close-duplicates (push) Failing after 1s
77 lines
2.0 KiB
Markdown
77 lines
2.0 KiB
Markdown
# 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`
|