mirror of
https://github.com/RocketChat/Rocket.Chat.git
synced 2025-12-28 06:47:25 +00:00
165 lines
4.9 KiB
YAML
165 lines
4.9 KiB
YAML
version: '3.8'
|
|
|
|
services:
|
|
rocketchat:
|
|
platform: linux/amd64
|
|
build:
|
|
dockerfile: apps/meteor/.docker/Dockerfile.alpine
|
|
context: /tmp/build
|
|
image: ghcr.io/${LOWERCASE_REPOSITORY}/rocket.chat:${DOCKER_TAG}
|
|
environment:
|
|
- TEST_MODE=true
|
|
- EXIT_UNHANDLEDPROMISEREJECTION=true
|
|
- 'MONGO_URL=${MONGO_URL}'
|
|
- 'MONGO_OPLOG_URL=${MONGO_OPLOG_URL}'
|
|
- 'TRANSPORTER=${TRANSPORTER}'
|
|
- MOLECULER_LOG_LEVEL=info
|
|
- 'ROCKETCHAT_LICENSE=${ENTERPRISE_LICENSE}'
|
|
- OVERWRITE_SETTING_Log_Level=2
|
|
extra_hosts:
|
|
- 'host.docker.internal:host-gateway'
|
|
depends_on:
|
|
- traefik
|
|
- mongo
|
|
labels:
|
|
traefik.enable: true
|
|
traefik.http.services.rocketchat.loadbalancer.server.port: 3000
|
|
traefik.http.routers.rocketchat.service: rocketchat
|
|
traefik.http.routers.rocketchat.rule: PathPrefix(`/`)
|
|
|
|
authorization-service:
|
|
platform: linux/amd64
|
|
build:
|
|
dockerfile: ee/apps/authorization-service/Dockerfile
|
|
args:
|
|
SERVICE: authorization-service
|
|
image: ghcr.io/${LOWERCASE_REPOSITORY}/authorization-service:${DOCKER_TAG}
|
|
environment:
|
|
- 'MONGO_URL=${MONGO_URL}'
|
|
- 'TRANSPORTER=${TRANSPORTER}'
|
|
- MOLECULER_LOG_LEVEL=info
|
|
extra_hosts:
|
|
- 'host.docker.internal:host-gateway'
|
|
depends_on:
|
|
- nats
|
|
|
|
account-service:
|
|
platform: linux/amd64
|
|
build:
|
|
dockerfile: ee/apps/account-service/Dockerfile
|
|
args:
|
|
SERVICE: account-service
|
|
image: ghcr.io/${LOWERCASE_REPOSITORY}/account-service:${DOCKER_TAG}
|
|
environment:
|
|
- MONGO_URL=${MONGO_URL}
|
|
- 'TRANSPORTER=${TRANSPORTER}'
|
|
- MOLECULER_LOG_LEVEL=info
|
|
extra_hosts:
|
|
- 'host.docker.internal:host-gateway'
|
|
depends_on:
|
|
- nats
|
|
|
|
presence-service:
|
|
platform: linux/amd64
|
|
build:
|
|
dockerfile: ee/apps/presence-service/Dockerfile
|
|
args:
|
|
SERVICE: presence-service
|
|
image: ghcr.io/${LOWERCASE_REPOSITORY}/presence-service:${DOCKER_TAG}
|
|
environment:
|
|
- MONGO_URL=${MONGO_URL}
|
|
- 'TRANSPORTER=${TRANSPORTER}'
|
|
- MOLECULER_LOG_LEVEL=info
|
|
extra_hosts:
|
|
- 'host.docker.internal:host-gateway'
|
|
depends_on:
|
|
- nats
|
|
|
|
ddp-streamer-service:
|
|
platform: linux/amd64
|
|
build:
|
|
dockerfile: ee/apps/ddp-streamer/Dockerfile
|
|
args:
|
|
SERVICE: ddp-streamer
|
|
image: ghcr.io/${LOWERCASE_REPOSITORY}/ddp-streamer-service:${DOCKER_TAG}
|
|
environment:
|
|
- MONGO_URL=${MONGO_URL}
|
|
- 'TRANSPORTER=${TRANSPORTER}'
|
|
- MOLECULER_LOG_LEVEL=info
|
|
extra_hosts:
|
|
- 'host.docker.internal:host-gateway'
|
|
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
|
|
traefik.http.routers.ddp-streamer-service.rule: PathPrefix(`/websocket`) || PathPrefix(`/sockjs`)
|
|
|
|
queue-worker-service:
|
|
platform: linux/amd64
|
|
build:
|
|
dockerfile: ee/apps/queue-worker/Dockerfile
|
|
args:
|
|
SERVICE: queue-worker
|
|
image: ghcr.io/${LOWERCASE_REPOSITORY}/queue-worker-service:${DOCKER_TAG}
|
|
environment:
|
|
- MONGO_URL=${MONGO_URL}
|
|
- 'TRANSPORTER=${TRANSPORTER}'
|
|
- MOLECULER_LOG_LEVEL=info
|
|
extra_hosts:
|
|
- 'host.docker.internal:host-gateway'
|
|
depends_on:
|
|
- nats
|
|
|
|
omnichannel-transcript-service:
|
|
platform: linux/amd64
|
|
build:
|
|
dockerfile: ee/apps/omnichannel-transcript/Dockerfile
|
|
args:
|
|
SERVICE: omnichannel-transcript
|
|
image: ghcr.io/${LOWERCASE_REPOSITORY}/omnichannel-transcript-service:${DOCKER_TAG}
|
|
environment:
|
|
- MONGO_URL=${MONGO_URL}
|
|
- 'TRANSPORTER=${TRANSPORTER}'
|
|
- MOLECULER_LOG_LEVEL=info
|
|
extra_hosts:
|
|
- 'host.docker.internal:host-gateway'
|
|
depends_on:
|
|
- nats
|
|
|
|
mongo:
|
|
image: mongodb/mongodb-community-server:8.2-ubi8
|
|
restart: on-failure
|
|
ports:
|
|
- 27017:27017
|
|
environment:
|
|
MONGODB_REPLICA_SET_NAME: ${MONGODB_REPLICA_SET_NAME:-rs0}
|
|
MONGODB_PORT_NUMBER: ${MONGODB_PORT_NUMBER:-27017}
|
|
MONGODB_INITIAL_PRIMARY_HOST: ${MONGODB_INITIAL_PRIMARY_HOST:-mongo}
|
|
entrypoint: |
|
|
bash -c
|
|
"mongod --replSet $$MONGODB_REPLICA_SET_NAME --bind_ip_all &
|
|
sleep 2;
|
|
until mongosh --eval \"db.adminCommand('ping')\"; do
|
|
echo '=====> Waiting for Mongo...';
|
|
sleep 1;
|
|
done;
|
|
echo \"=====> Initiating ReplSet $$MONGODB_REPLICA_SET_NAME at $$MONGODB_INITIAL_PRIMARY_HOST:$$MONGODB_PORT_NUMBER...\";
|
|
mongosh --eval \"rs.initiate({_id: '$$MONGODB_REPLICA_SET_NAME', members: [{ _id: 0, host: '$$MONGODB_INITIAL_PRIMARY_HOST:$$MONGODB_PORT_NUMBER' }]})\";
|
|
echo '=====> Initiating ReplSet done...';
|
|
wait"
|
|
|
|
nats:
|
|
image: nats:2.6-alpine
|
|
|
|
traefik:
|
|
image: traefik:v2.8
|
|
command:
|
|
- --providers.docker=true
|
|
ports:
|
|
- 3000:80
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock
|