snapshot of https://github.com/RocketChat/Rocket.Chat.git (develop, 2026-09-16; blobs > 131072B omitted)
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
Auto-close duplicate issues / auto-close-duplicates (push) Failing after 1s
Code scanning - action / CodeQL-Build (push) Failing after 1s
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
Auto-close duplicate issues / auto-close-duplicates (push) Failing after 1s
Code scanning - action / CodeQL-Build (push) Failing after 1s
This commit is contained in:
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,11 @@
|
||||
apiVersion: 1
|
||||
|
||||
providers:
|
||||
- name: 'Prometheus'
|
||||
orgId: 1
|
||||
folder: ''
|
||||
type: file
|
||||
disableDeletion: false
|
||||
editable: true
|
||||
options:
|
||||
path: /var/lib/grafana/dashboards/
|
||||
@@ -0,0 +1,9 @@
|
||||
apiVersion: 1
|
||||
|
||||
datasources:
|
||||
- name: Prometheus
|
||||
type: prometheus
|
||||
access: proxy
|
||||
url: http://prometheus:9090
|
||||
version: 1
|
||||
editable: false
|
||||
@@ -0,0 +1,24 @@
|
||||
scrape_configs:
|
||||
# if you just have single or multiple, but static instances - you
|
||||
# can use the static configuration below.
|
||||
- job_name: rocketchat_static
|
||||
static_configs:
|
||||
- targets:
|
||||
- cadvisor:8080
|
||||
|
||||
|
||||
# If you use a Docker-based setup make sure to use the DNS
|
||||
# discovery to always include all available application instances
|
||||
# of Rocket.Chat
|
||||
- job_name: rocketchat_docker
|
||||
scrape_interval: 5s
|
||||
dns_sd_configs:
|
||||
- names: [
|
||||
"authorization-service",
|
||||
"account-service",
|
||||
"presence-service",
|
||||
"ddp-streamer-service",
|
||||
"traefik",
|
||||
]
|
||||
type: A
|
||||
port: 9458
|
||||
@@ -0,0 +1,5 @@
|
||||
MS_METRICS=true
|
||||
TRACING_ENABLED=true
|
||||
TRANSPORTER=nats://nats:4222
|
||||
MONGO_URL=mongodb://host.docker.internal:3001/meteor
|
||||
MOLECULER_LOG_LEVEL=info
|
||||
@@ -0,0 +1,22 @@
|
||||
http:
|
||||
routers:
|
||||
router2:
|
||||
rule: Host(`localhost`) && PathPrefix(`/sockjs/`, `/websocket/`)
|
||||
# service: ddp-streamer-service@docker
|
||||
service: ecdh-proxy-socket-service@docker
|
||||
priority: 2
|
||||
entryPoints:
|
||||
- web
|
||||
router1:
|
||||
rule: Host(`localhost`)
|
||||
service: ecdh-proxy-http-service@docker
|
||||
# service: service1
|
||||
priority: 1
|
||||
entryPoints:
|
||||
- web
|
||||
|
||||
services:
|
||||
service1:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: http://host.docker.internal:3000
|
||||
1
apps/meteor/ee/server/services/.env
Normal file
1
apps/meteor/ee/server/services/.env
Normal file
@@ -0,0 +1 @@
|
||||
HOST_NAME=localhost
|
||||
3
apps/meteor/ee/server/services/.gitignore
vendored
Normal file
3
apps/meteor/ee/server/services/.gitignore
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
dist
|
||||
.config/data
|
||||
!.env
|
||||
4076
apps/meteor/ee/server/services/CHANGELOG.md
Normal file
4076
apps/meteor/ee/server/services/CHANGELOG.md
Normal file
File diff suppressed because it is too large
Load Diff
87
apps/meteor/ee/server/services/Dockerfile
Normal file
87
apps/meteor/ee/server/services/Dockerfile
Normal file
@@ -0,0 +1,87 @@
|
||||
FROM node:24.15.0-alpine3.23 as build
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y build-essential git
|
||||
|
||||
COPY ./package.json .
|
||||
COPY ./yarn.lock .
|
||||
COPY ./.yarnrc.yml .
|
||||
COPY ./.yarn/plugins .yarn/plugins
|
||||
COPY ./.yarn/releases .yarn/releases
|
||||
COPY ./.yarn/patches .yarn/patches
|
||||
|
||||
COPY ./packages/core-services packages/core-services
|
||||
COPY ./packages/core-typings packages/core-typings
|
||||
COPY ./packages/eslint-config packages/eslint-config
|
||||
COPY ./packages/tsconfig packages/tsconfig
|
||||
COPY ./packages/rest-typings packages/rest-typings
|
||||
COPY ./packages/media-signaling packages/media-signaling
|
||||
COPY ./packages/model-typings packages/model-typings
|
||||
COPY ./packages/models packages/models
|
||||
|
||||
COPY ./apps/meteor/ee/server/services apps/meteor/ee/server/services
|
||||
|
||||
RUN yarn install
|
||||
|
||||
RUN yarn workspace @rocket.chat/core-typings run build \
|
||||
&& yarn workspace @rocket.chat/rest-typings run build
|
||||
|
||||
FROM node:24.15.0-alpine3.23
|
||||
|
||||
ARG SERVICE
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
COPY --from=build /app/packages/core-services/package.json /app/packages/core-services/package.json
|
||||
COPY --from=build /app/packages/core-services/dist /app/packages/core-services/dist
|
||||
|
||||
COPY --from=build /app/packages/core-typings/package.json /app/packages/core-typings/package.json
|
||||
COPY --from=build /app/packages/core-typings/dist /app/packages/core-typings/dist
|
||||
|
||||
COPY --from=build /app/packages/rest-typings/package.json /app/packages/rest-typings/package.json
|
||||
COPY --from=build /app/packages/rest-typings/dist /app/packages/rest-typings/dist
|
||||
|
||||
COPY --from=build /app/packages/media-signaling/package.json /app/packages/media-signaling/package.json
|
||||
COPY --from=build /app/packages/media-signaling/dist /app/packages/media-signaling/dist
|
||||
|
||||
COPY --from=build /app/packages/model-typings/package.json /app/packages/model-typings/package.json
|
||||
COPY --from=build /app/packages/model-typings/dist /app/packages/model-typings/dist
|
||||
|
||||
COPY --from=build /app/packages/models/package.json /app/packages/models/package.json
|
||||
COPY --from=build /app/packages/models/dist /app/packages/models/dist
|
||||
|
||||
COPY --from=build /app/packages/ui-kit/package.json /app/packages/ui-kit/package.json
|
||||
COPY --from=build /app/packages/ui-kit/dist /app/packages/ui-kit/dist
|
||||
|
||||
# add dist/ folder from tsc so we don't need to add all rocket.chat repo
|
||||
COPY ./apps/meteor/ee/server/services/dist ./apps/meteor/
|
||||
|
||||
COPY ./package.json .
|
||||
COPY ./yarn.lock .
|
||||
COPY ./.yarnrc.yml .
|
||||
COPY ./.yarn/plugins .yarn/plugins
|
||||
COPY ./.yarn/releases .yarn/releases
|
||||
COPY ./.yarn/patches .yarn/patches
|
||||
COPY ./apps/meteor/ee/server/services/package.json ./apps/meteor/ee/server/services/package.json
|
||||
|
||||
ENV NODE_ENV=production \
|
||||
PORT=3000
|
||||
|
||||
WORKDIR /app/apps/meteor/ee/server/services
|
||||
|
||||
RUN apk update && \
|
||||
apk --no-cache --virtual build-dependencies add g++ python3 make py3-setuptools && \
|
||||
# Update OpenSSL
|
||||
# CVE -> https://scout.docker.com/vulnerabilities/id/CVE-2025-9230?s=alpine&n=openssl&ns=alpine&t=apk&osn=alpine&osv=3.22
|
||||
apk upgrade --no-cache openssl && \
|
||||
yarn workspaces focus --production && \
|
||||
rm -rf /var/cache/apk/* && \
|
||||
apk del build-dependencies
|
||||
|
||||
WORKDIR /app/apps/meteor/ee/server/services/${SERVICE}
|
||||
|
||||
EXPOSE 3000 9458
|
||||
|
||||
CMD ["node", "service.js"]
|
||||
76
apps/meteor/ee/server/services/README.md
Normal file
76
apps/meteor/ee/server/services/README.md
Normal file
@@ -0,0 +1,76 @@
|
||||
# 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`
|
||||
216
apps/meteor/ee/server/services/docker-compose.yml
Normal file
216
apps/meteor/ee/server/services/docker-compose.yml
Normal file
@@ -0,0 +1,216 @@
|
||||
version: '3.1'
|
||||
|
||||
services:
|
||||
authorization-service:
|
||||
container_name: authorization-service
|
||||
build:
|
||||
context: .
|
||||
args:
|
||||
SERVICE: authorization
|
||||
image: rocketchat/authorization-service:latest
|
||||
env_file: .config/services/service.env
|
||||
depends_on:
|
||||
- nats
|
||||
|
||||
account-service:
|
||||
container_name: account-service
|
||||
build:
|
||||
context: .
|
||||
args:
|
||||
SERVICE: account
|
||||
image: rocketchat/account-service:latest
|
||||
env_file: .config/services/service.env
|
||||
depends_on:
|
||||
- nats
|
||||
|
||||
presence-service:
|
||||
container_name: presence-service
|
||||
build:
|
||||
context: .
|
||||
args:
|
||||
SERVICE: presence
|
||||
image: rocketchat/presence-service:latest
|
||||
env_file: .config/services/service.env
|
||||
depends_on:
|
||||
- nats
|
||||
|
||||
ddp-streamer-service:
|
||||
container_name: ddp-streamer-service
|
||||
build:
|
||||
context: .
|
||||
args:
|
||||
SERVICE: ddp-streamer
|
||||
image: rocketchat/ddp-streamer-service:latest
|
||||
env_file: .config/services/service.env
|
||||
depends_on:
|
||||
- nats
|
||||
- traefik
|
||||
labels:
|
||||
traefik.enable: true
|
||||
traefik.http.services.ddp-streamer-service.loadbalancer.server.port: 3000
|
||||
traefik.http.routers.ddp-streamer-service.service: ddp-streamer-service
|
||||
|
||||
ecdh-proxy-socket-service:
|
||||
container_name: ecdh-proxy-socket-service
|
||||
build:
|
||||
context: .
|
||||
args:
|
||||
SERVICE: ecdh-proxy
|
||||
image: rocketchat/ecdh-proxy-service:latest
|
||||
env_file: .config/services/service.env
|
||||
environment:
|
||||
PROXY_HOST: ddp-streamer-service
|
||||
STATIC_SEED: my seed
|
||||
depends_on:
|
||||
- nats
|
||||
- traefik
|
||||
- ddp-streamer-service
|
||||
labels:
|
||||
traefik.enable: true
|
||||
traefik.http.services.ecdh-proxy-socket-service.loadbalancer.server.port: 3000
|
||||
traefik.http.routers.ecdh-proxy-socket-service.service: ecdh-proxy-socket-service
|
||||
|
||||
ecdh-proxy-http-service:
|
||||
container_name: ecdh-proxy-http-service
|
||||
build:
|
||||
context: .
|
||||
args:
|
||||
SERVICE: ecdh-proxy
|
||||
image: rocketchat/ecdh-proxy-service:latest
|
||||
env_file: .config/services/service.env
|
||||
environment:
|
||||
PROXY_HOST: host.docker.internal
|
||||
STATIC_SEED: my seed
|
||||
depends_on:
|
||||
- nats
|
||||
- traefik
|
||||
labels:
|
||||
traefik.enable: true
|
||||
traefik.http.services.ecdh-proxy-http-service.loadbalancer.server.port: 3000
|
||||
traefik.http.routers.ecdh-proxy-http-service.service: ecdh-proxy-http-service
|
||||
|
||||
queue-worker-service:
|
||||
container_name: queue-worker-service
|
||||
build:
|
||||
context: .
|
||||
args:
|
||||
SERVICE: queue-worker
|
||||
image: rocketchat/queue-worker-service:latest
|
||||
env_file: .config/services/service.env
|
||||
depends_on:
|
||||
- nats
|
||||
|
||||
omnichannel-transcript-service:
|
||||
container_name: omnichannel-transcript-service
|
||||
build:
|
||||
context: .
|
||||
args:
|
||||
SERVICE: omnichannel-transcript
|
||||
image: rocketchat/omnichannel-transcript-service:latest
|
||||
env_file: .config/services/service.env
|
||||
depends_on:
|
||||
- nats
|
||||
|
||||
nats:
|
||||
image: nats
|
||||
ports:
|
||||
- '4222:4222'
|
||||
|
||||
# tracing container for all tracing reporting
|
||||
jaeger:
|
||||
image: jaegertracing/all-in-one:latest
|
||||
container_name: jaeger
|
||||
ports:
|
||||
- '16686:16686'
|
||||
- '5775:5775/udp'
|
||||
- '6831:6831/udp'
|
||||
- '6832:6832/udp'
|
||||
- '5778:5778'
|
||||
- '14268:14268'
|
||||
- '9411:9411'
|
||||
depends_on:
|
||||
- traefik
|
||||
# environment:
|
||||
# - QUERY_BASE_PATH=/jaeger
|
||||
labels:
|
||||
traefik.enable: true
|
||||
traefik.http.routers.jaeger.rule: Host(`jaeger.${HOST_NAME}`)
|
||||
traefik.http.routers.jaeger.entrypoints: web
|
||||
traefik.http.services.jaeger.loadbalancer.server.port: 16686
|
||||
# traefik.http.routers.jaeger.service: jaeger
|
||||
|
||||
grafana:
|
||||
image: grafana/grafana
|
||||
container_name: grafana
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- ./.config/grafana/provisioning/datasources:/etc/grafana/provisioning/datasources:ro
|
||||
- ./.config/grafana/provisioning/dashboards/provider:/etc/grafana/provisioning/dashboards:ro
|
||||
- ./.config/grafana/provisioning/dashboards/json-exports:/var/lib/grafana/dashboards:ro
|
||||
depends_on:
|
||||
- prometheus
|
||||
- traefik
|
||||
labels:
|
||||
traefik.enable: true
|
||||
traefik.http.routers.grafana.rule: Host(`grafana.${HOST_NAME}`)
|
||||
traefik.http.routers.grafana.entrypoints: web
|
||||
traefik.http.services.grafana.loadbalancer.server.port: 3000
|
||||
|
||||
prometheus:
|
||||
image: quay.io/prometheus/prometheus
|
||||
container_name: prometheus
|
||||
restart: unless-stopped
|
||||
command:
|
||||
- --config.file=/etc/prometheus/prometheus.yml
|
||||
- '--storage.tsdb.retention.time=12w'
|
||||
- '--storage.tsdb.path=/prometheus'
|
||||
volumes:
|
||||
- ./.config/data/prometheus:/prometheus
|
||||
- ./.config/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml:ro
|
||||
depends_on:
|
||||
- traefik
|
||||
ports:
|
||||
- 9090:9090
|
||||
labels:
|
||||
traefik.enable: true
|
||||
traefik.http.routers.prometheus.rule: Host(`prometheus.${HOST_NAME}`)
|
||||
traefik.http.routers.prometheus.entrypoints: web
|
||||
traefik.http.services.prometheus.loadbalancer.server.port: 9090
|
||||
|
||||
traefik:
|
||||
image: traefik
|
||||
container_name: traefik
|
||||
command:
|
||||
- --entrypoints.web.address=:80
|
||||
# - --entrypoints.websecure.address=:443
|
||||
- --api=true
|
||||
- --providers.docker=true
|
||||
- --providers.docker.exposedbydefault=false
|
||||
- --providers.file.directory=/servers/
|
||||
ports:
|
||||
- 80:80
|
||||
# - 443:443
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
- ./.config/traefik/servers/:/servers/
|
||||
# - ./.config/traefik/acme.json:/acme.json
|
||||
labels:
|
||||
traefik.enable: true
|
||||
# Dashboard
|
||||
traefik.http.routers.traefik.rule: Host(`traefik.${HOST_NAME}`)
|
||||
traefik.http.routers.traefik.service: api@internal
|
||||
traefik.http.routers.traefik.entrypoints: web
|
||||
|
||||
cadvisor:
|
||||
image: google/cadvisor
|
||||
container_name: cadvisor
|
||||
volumes:
|
||||
# -/:/rootfs:ro
|
||||
# -/var/run:/var/run:ro
|
||||
# -/sys:/sys:ro
|
||||
- /var/lib/docker/:/var/lib/docker:ro
|
||||
# -/dev/disk/:/dev/disk:ro
|
||||
ports:
|
||||
- 8080:8080
|
||||
# --privileged \
|
||||
# --device=/dev/kmsg \
|
||||
65
apps/meteor/ee/server/services/package.json
Normal file
65
apps/meteor/ee/server/services/package.json
Normal file
@@ -0,0 +1,65 @@
|
||||
{
|
||||
"name": "rocketchat-services",
|
||||
"private": true,
|
||||
"version": "2.0.51",
|
||||
"description": "Rocket.Chat Authorization service",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"typecheck": "tsc --noEmit --skipLibCheck",
|
||||
"build": "tsc",
|
||||
"build-containers": "npm run build && docker-compose build && rm -rf ./dist",
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
"keywords": [
|
||||
"rocketchat"
|
||||
],
|
||||
"author": "Rocket.Chat",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@rocket.chat/apps-engine": "workspace:^",
|
||||
"@rocket.chat/core-services": "workspace:^",
|
||||
"@rocket.chat/core-typings": "workspace:^",
|
||||
"@rocket.chat/emitter": "workspace:~",
|
||||
"@rocket.chat/message-parser": "workspace:^",
|
||||
"@rocket.chat/model-typings": "workspace:^",
|
||||
"@rocket.chat/models": "workspace:^",
|
||||
"@rocket.chat/network-broker": "workspace:^",
|
||||
"@rocket.chat/rest-typings": "workspace:^",
|
||||
"@rocket.chat/ui-kit": "workspace:~",
|
||||
"ajv": "^8.20.0",
|
||||
"bcrypt": "^6.0.0",
|
||||
"body-parser": "^1.20.6",
|
||||
"colorette": "^2.0.20",
|
||||
"cookie": "^0.7.2",
|
||||
"cookie-parser": "^1.4.7",
|
||||
"ejson": "^2.2.3",
|
||||
"eventemitter3": "^5.0.4",
|
||||
"express": "^4.21.2",
|
||||
"jaeger-client": "^3.19.0",
|
||||
"mem": "^8.1.1",
|
||||
"moleculer": "^0.14.35",
|
||||
"mongodb": "6.16.0",
|
||||
"nats": "^2.28.2",
|
||||
"pino": "10.3.1",
|
||||
"sodium-native": "^4.3.3",
|
||||
"sodium-plus": "^0.9.0",
|
||||
"ws": "~8.21.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@rocket.chat/icons": "^0.49.0",
|
||||
"@types/cookie": "^0.5.4",
|
||||
"@types/cookie-parser": "^1.4.10",
|
||||
"@types/ejson": "^2.2.2",
|
||||
"@types/express": "^4.17.25",
|
||||
"@types/fibers": "^3.1.4",
|
||||
"@types/node": "~24.13.2",
|
||||
"@types/ws": "^8.18.1",
|
||||
"npm-run-all": "^4.1.5",
|
||||
"pino-pretty": "13.1.3",
|
||||
"ts-node": "^10.9.2",
|
||||
"typescript": "~5.9.3"
|
||||
},
|
||||
"volta": {
|
||||
"extends": "../../../../../package.json"
|
||||
}
|
||||
}
|
||||
5
apps/meteor/ee/server/services/tsconfig.json
Normal file
5
apps/meteor/ee/server/services/tsconfig.json
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"extends": "../../../tsconfig.json",
|
||||
"include": ["./**/*", "../../../../../ee/apps/account-service/src/lib"],
|
||||
"exclude": ["./dist", "./ecosystem.config.js", "../../../definition/methods"]
|
||||
}
|
||||
Reference in New Issue
Block a user