-
Notifications
You must be signed in to change notification settings - Fork 1
/
docker-compose.yml
149 lines (135 loc) · 3.25 KB
/
docker-compose.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
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
139
140
141
142
143
144
145
146
147
148
149
version: '3'
services:
### Postgres Database for Inventory
db-inventory:
container_name: db-inventory
image: postgres:15.2
restart: unless-stopped
environment:
POSTGRES_DB: ms_inventory
POSTGRES_USER: bardolog
POSTGRES_PASSWORD: TestDev1234
ports:
- 5431:5431
expose:
- 5431
command: -p 5431
### MYSQL Database for orders
db-orders:
container_name: db-orders
image: mysql:8.0.33
restart: unless-stopped
environment:
MYSQL_DATABASE: ms_orders
MYSQL_USER: bardolog
MYSQL_PASSWORD: TestDev1234
MYSQL_ROOT_PASSWORD: root
ports:
- 3306:3306
expose:
- 3306
### Postgres Database for products
db-products:
container_name: db-products
image: postgres:15.2
restart: unless-stopped
environment:
POSTGRES_DB: ms_products
POSTGRES_USER: bardolog
POSTGRES_PASSWORD: TestDev1234
ports:
- 5435:5435
expose:
- 5435
command: -p 5435
## Postgres db for keycloak
db-keycloak:
container_name: db-keycloak
image: postgres:15.2
restart: unless-stopped
environment:
POSTGRES_DB: db-keycloak
POSTGRES_USER: bardolog
POSTGRES_PASSWORD: TestDev1234
ports:
- 5433:5433
expose:
- 5433
command: -p 5433
###KeyCloak
keycloak:
container_name: keycloak
image: quay.io/keycloak/keycloak:21.0.2
command: ["start-dev"]
ports:
- 8181:8181
expose:
- 8181
depends_on:
- db-keycloak
environment:
DB_VENDOR: POSTGRES
DB_ADDR: db-keycloak
DB_DATABASE: db-keycloak
DB_PORT: 5433
DB_USER: bardolog
DB_PASSWORD: TestDev1234
KEYCLOAK_ADMIN: admin
KEYCLOAK_ADMIN_PASSWORD: admin
KC_HTTP_PORT: 8181
### Zookeeper
zookeeper:
container_name: zookeeper
image: confluentinc/cp-zookeeper:7.5.2
restart: unless-stopped
environment:
ZOOKEEPER_CLIENT_PORT: 2181
ZOOKEEPER_TICK_TIME: 2000
## Kafka
kafka:
container_name: kafka
image: confluentinc/cp-kafka:7.5.2
depends_on:
- zookeeper
ports:
- "9092:9092"
environment:
KAFKA_BROKER_ID: 1
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:29092,PLAINTEXT_HOST://localhost:9092
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1
KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1
### Zipkin
zipkin:
container_name: zipkin
image: openzipkin/zipkin:2.24.4
ports:
- "9411:9411"
### Prometheus
prometheus:
container_name: prometheus
image: prom/prometheus:v2.48.0
ports:
- "9090:9090"
volumes:
- ./files/prometheus.yml:/etc/prometheus/prometheus.yml
### Grafana
grafana:
container_name: grafana
image: grafana/grafana-oss:10.2.2
restart: unless-stopped
ports:
- "3000:3000"
extra_hosts:
- "host.docker.internal:host-gateway"
links:
- prometheus
volumes:
- ./files/grafana:/var/lib/grafana
environment:
GF_SECURITY_ADMIN_PASSWORD: admin
GF_SECURITY_ADMIN_USER: admin
depends_on:
- prometheus