-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yaml
138 lines (127 loc) · 3.16 KB
/
docker-compose.yaml
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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
version: "3"
services:
server:
build:
dockerfile: Dockerfile
context: ./packages/server
command: "sh -c 'yarn install && yarn run start:dev'"
ports:
- 3000:3000
volumes:
- ./packages/server:/home/node/app
depends_on:
- control-center
networks:
- network-applications
web:
build:
dockerfile: Dockerfile
context: ./packages/web
command: "sh -c 'yarn install && yarn run dev'"
ports:
- 3001:3001
volumes:
- ./packages/web:/home/node/web
depends_on:
- control-center
networks:
- network-applications
micro-payment:
build:
dockerfile: Dockerfile
context: ./packages/micro-payment
command: "sh -c 'yarn install && yarn run start:dev'"
ports:
- 3002:3002
volumes:
- ./packages/micro-payment:/home/node/app
depends_on:
- control-center
networks:
- network-applications
db:
image: postgres:latest
restart: always
user: postgres
ports:
- "5432:5432"
environment:
POSTGRES_DB: db_mini_bank
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
healthcheck:
test: ["CMD-SHELL", "pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}"]
volumes:
- volume_name:/var/lib/postgresql/data
networks:
- network-applications
zookeeper: # brokers
image: confluentinc/cp-zookeeper:latest
environment:
ZOOKEEPER_CLIENT_PORT: 2181
networks:
- network-applications
kafka: # broker kafka
image: confluentinc/cp-kafka:latest
depends_on:
- zookeeper
ports:
- 9092:9092
- 9094:9094
environment:
KAFKA_BROKER_ID: 1
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_INTER_BROKER_LISTENER_NAME: INTERNAL
KAFKA_LISTENERS: INTERNAL://:9092,OUTSIDE://:9094
KAFKA_ADVERTISED_LISTENERS: INTERNAL://kafka:9092,OUTSIDE://:9094
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: INTERNAL:PLAINTEXT, OUTSIDE:PLAINTEXT
networks:
- network-applications
control-center: # clusters on browser
image: confluentinc/cp-enterprise-control-center:7.3.1
hostname: control-center
depends_on:
- kafka
ports:
- "9021:9021"
environment:
CONTROL_CENTER_BOOTSTRAP_SERVERS: "kafka:9092"
CONTROL_CENTER_REPLICATION_FACTOR: 1
PORT: 9021
networks:
- network-applications
prometheus:
image: prom/prometheus
container_name: prometheus
ports:
- "9090:9090"
volumes:
- ./packages/prometheus:/etc/prometheus
command:
- "--config.file=/etc/prometheus/prometheus.yml"
networks:
- network-applications
grafana:
image: grafana/grafana
container_name: grafana
ports:
- "4000:3000"
environment:
- GF_SECURITY_ADMIN_USER=admin
- GF_SECURITY_ADMIN_PASSWORD=admin
volumes:
- grafana-storage:/var/lib/grafana
depends_on:
- prometheus
networks:
- network-applications
volumes:
volume_name:
name: volume_name
driver: local
grafana-storage:
prometheus-storage:
networks:
network-applications:
external: true