forked from hashgraph/guardian
-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose-analytics-build.yml
106 lines (97 loc) · 2.55 KB
/
docker-compose-analytics-build.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
# https://docs.docker.com/compose/environment-variables/envvars-precedence/
# Environment leverage the gerarchy defined in the docker compose between "env_file" and "environment" attributes
# ecosystem variables defined in the "env_file" .env.${GUARDIAN_ENV}.guardian.system
# specific service variables defined by "environment" can override what is defined in the ecosystem file
# YAML anchor that contains common configuration elements for our services
x-service-template: &service-template
init: true
env_file:
- ./configs/.env.${GUARDIAN_ENV}.guardian.system
environment:
- GUARDIAN_ENV=${GUARDIAN_ENV}
services:
mongo:
image: mongo:6.0.16
command: "--setParameter allowDiskUseByDefault=true"
restart: always
expose:
- 27017
message-broker:
image: nats:2.9.25
expose:
- 4222
ports:
- '8222:8222'
command: '-c /etc/nats/nats.conf --http_port 8222'
volumes:
- ./configs/nats.conf:/etc/nats/nats.conf
logger-service:
<<: *service-template
build:
context: .
dockerfile: ./logger-service/Dockerfile
depends_on:
- message-broker
volumes:
- ./logger-service/configs:/usr/local/app/configs:ro
auth-service:
<<: *service-template
build:
context: .
dockerfile: ./auth-service/Dockerfile
volumes:
- ./auth-service/tls:/usr/local/app/tls:ro
- ./auth-service/configs:/usr/local/app/configs:ro
depends_on:
- mongo
- message-broker
- logger-service
expose:
- 6555
- 5005
queue-service:
<<: *service-template
build:
context: .
dockerfile: ./queue-service/Dockerfile
depends_on:
- mongo
- message-broker
expose:
- 6555
volumes:
- ./queue-service/configs:/usr/local/app/configs:ro
worker-service:
<<: *service-template
build:
context: .
dockerfile: ./worker-service/Dockerfile
depends_on:
queue-service:
condition: service_started
auth-service:
condition: service_started
expose:
- 6555
volumes:
- ./worker-service/tls:/usr/local/app/tls:ro
- ./worker-service/configs:/usr/local/app/configs:ro
deploy:
replicas: 10
analytics-service:
<<: *service-template
build:
context: .
dockerfile: ./analytics-service/Dockerfile
depends_on:
- message-broker
- queue-service
expose:
- 6555
ports:
- "3000:3020"
volumes:
- ./analytics-service/configs:/usr/local/app/configs:ro
networks:
monitoring:
driver: bridge