-
Notifications
You must be signed in to change notification settings - Fork 5
/
docker-compose.yaml
100 lines (97 loc) · 3.34 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
services:
zookeeper:
image: confluentinc/cp-zookeeper:7.0.1
container_name: zookeeper
environment:
ZOOKEEPER_CLIENT_PORT: 2181
ZOOKEEPER_TICK_TIME: 2000
broker:
image: confluentinc/cp-kafka:7.0.1
container_name: broker
ports:
# To learn about configuring Kafka for access across networks see
# https://www.confluent.io/blog/kafka-client-cannot-connect-to-broker-on-aws-on-docker-etc/
- "9092:9092"
depends_on:
- zookeeper
environment:
KAFKA_BROKER_ID: 1
KAFKA_ZOOKEEPER_CONNECT: "zookeeper:2181"
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_INTERNAL:PLAINTEXT
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://localhost:9092,PLAINTEXT_INTERNAL://broker:29092
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1
KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1
mongodb:
image: mongo:latest
container_name: mongodb
ports:
- "27017:27017"
volumes:
- ./apps/mongo:/data/db
environment:
- MONGO_INITDB_ROOT_USERNAME:root
- MONGO_INITDB_ROOT_PASSWORD:S3cret
- MONGO_INITDB_DATABASE:testdb
mysql:
image: mysql:latest
container_name: mysql
ports:
- "3306:3306"
volumes:
- ./apps/mysql:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=S3cret
- MYSQL_PASSWORD=An0thrS3crt
- MYSQL_USER=mysql_user
- MYSQL_DATABASE=order_db
# For inventory service
mysql-in:
image: mysql:latest
container_name: mysql-in
ports:
- "3305:3306"
volumes:
- /apps/mysql-in:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=S3cret
- MYSQL_PASSWORD=An0thrS3crt
- MYSQL_USER=mysql_user
- MYSQL_DATABASE=inventory_service
postgres:
image: postgres
container_name: postgres
volumes:
- ./apps/postgres:/var/lib/postgresql/data
environment:
POSTGRES_DB: keycloak
POSTGRES_USER: keycloak
POSTGRES_PASSWORD: password
keycloak:
image: quay.io/keycloak/keycloak:legacy
container_name: keycloak
environment:
DB_VENDOR: POSTGRES
PROXY_ADDRESS_FORWARDING: "true"
DB_ADDR: postgres
DB_DATABASE: keycloak
DB_USER: keycloak
DB_SCHEMA: public
DB_PASSWORD: password
KEYCLOAK_ADMIN_USER: admin
KEYCLOAK_ADMIN_PASSWORD: password
KEYCLOAK_USER: admin
KEYCLOAK_PASSWORD: password
# Uncomment the line below if you want to specify JDBC parameters. The parameter below is just an example, and it shouldn't be used in production without knowledge. It is highly recommended that you read the PostgreSQL JDBC driver documentation in order to use it.
#JDBC_PARAMS: "ssl=true"
ports:
- "8181:8080"
depends_on:
- postgres
zipkin:
image: openzipkin/zipkin
container_name: zipkin
ports:
- "9411:9411"
volumes:
mongo: