WIP
[demos/kafka/demos-kafka-payment-system-setup] / docker-compose.yml
1 version: '3.2'
2 services:
3   zookeeper:
4     image: confluentinc/cp-zookeeper:6.2.0
5     ports:
6       - 2181:2181
7     environment:
8       ZOOKEEPER_CLIENT_PORT: 2181
9
10   kafka:
11     image: confluentinc/cp-kafka:6.2.0
12     ports:
13       - 9092:9092
14     environment:
15       KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
16       KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: INSIDE:PLAINTEXT,OUTSIDE:PLAINTEXT
17       KAFKA_ADVERTISED_LISTENERS: INSIDE://kafka:9093,OUTSIDE://localhost:9092
18       KAFKA_INTER_BROKER_LISTENER_NAME: INSIDE
19       KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
20     depends_on:
21       - zookeeper
22
23   messages:
24     image: confluentinc/cp-kafka:6.2.0
25     command: >
26       kafka-console-consumer
27         --bootstrap-server kafka:9093
28         --from-beginning
29         --property print.key=true
30         --property key.separator=": "
31         --topic transfers
32
33   peter:
34     image: juplo/payment-service-demo--transfer:2.2-SNAPSHOT
35     environment:
36       server.port: 8091
37       juplo.transfer.group-instance-id: peter
38       juplo.transfer.local-state-store-path: /var/lib/app/peter.bin
39       juplo.transfer.state-store-interval: 20
40       juplo.transfer.instance-id-uri-mapping.peter: http://localhost:8091
41       juplo.transfer.instance-id-uri-mapping.ute:   http://localhost:8092
42       juplo.transfer.instance-id-uri-mapping.franz: http://localhost:8093
43       juplo.transfer.instance-id-uri-mapping.beate: http://localhost:8094
44       juplo.transfer.instance-id-uri-mapping.klaus: http://localhost:8095
45     volumes:
46       - data:/var/lib/app
47     network_mode: host
48     depends_on:
49       - zookeeper
50       - kafka
51
52   ute:
53     image: juplo/payment-service-demo--transfer:2.2-SNAPSHOT
54     environment:
55       server.port: 8092
56       juplo.transfer.group-instance-id: ute
57       juplo.transfer.local-state-store-path: /var/lib/app/ute.bin
58       juplo.transfer.state-store-interval: 20
59       juplo.transfer.instance-id-uri-mapping.peter: http://localhost:8091
60       juplo.transfer.instance-id-uri-mapping.ute:   http://localhost:8092
61       juplo.transfer.instance-id-uri-mapping.franz: http://localhost:8093
62       juplo.transfer.instance-id-uri-mapping.beate: http://localhost:8094
63       juplo.transfer.instance-id-uri-mapping.klaus: http://localhost:8095
64     volumes:
65       - data:/var/lib/app
66     network_mode: host
67     depends_on:
68       - zookeeper
69       - kafka
70
71   franz:
72     image: juplo/payment-service-demo--transfer:2.2-SNAPSHOT
73     environment:
74       server.port: 8093
75       juplo.transfer.group-instance-id: franz
76       juplo.transfer.local-state-store-path: /var/lib/app/franz.bin
77       juplo.transfer.state-store-interval: 20
78       juplo.transfer.instance-id-uri-mapping.peter: http://localhost:8091
79       juplo.transfer.instance-id-uri-mapping.ute:   http://localhost:8092
80       juplo.transfer.instance-id-uri-mapping.franz: http://localhost:8093
81       juplo.transfer.instance-id-uri-mapping.beate: http://localhost:8094
82       juplo.transfer.instance-id-uri-mapping.klaus: http://localhost:8095
83     volumes:
84       - data:/var/lib/app
85     network_mode: host
86     depends_on:
87       - zookeeper
88       - kafka
89
90   beate:
91     image: juplo/payment-service-demo--transfer:2.2-SNAPSHOT
92     environment:
93       server.port: 8094
94       juplo.transfer.group-instance-id: beate
95       juplo.transfer.local-state-store-path: /var/lib/app/beate.bin
96       juplo.transfer.state-store-interval: 20
97       juplo.transfer.instance-id-uri-mapping.peter: http://localhost:8091
98       juplo.transfer.instance-id-uri-mapping.ute:   http://localhost:8092
99       juplo.transfer.instance-id-uri-mapping.franz: http://localhost:8093
100       juplo.transfer.instance-id-uri-mapping.beate: http://localhost:8094
101       juplo.transfer.instance-id-uri-mapping.klaus: http://localhost:8095
102     volumes:
103       - data:/var/lib/app
104     network_mode: host
105     depends_on:
106       - zookeeper
107       - kafka
108
109   klaus:
110     image: juplo/payment-service-demo--transfer:2.2-SNAPSHOT
111     environment:
112       server.port: 8095
113       juplo.transfer.group-instance-id: klaus
114       juplo.transfer.local-state-store-path: /var/lib/app/klaus.bin
115       juplo.transfer.state-store-interval: 20
116       juplo.transfer.instance-id-uri-mapping.peter: http://localhost:8091
117       juplo.transfer.instance-id-uri-mapping.ute:   http://localhost:8092
118       juplo.transfer.instance-id-uri-mapping.franz: http://localhost:8093
119       juplo.transfer.instance-id-uri-mapping.beate: http://localhost:8094
120       juplo.transfer.instance-id-uri-mapping.klaus: http://localhost:8095
121     volumes:
122       - data:/var/lib/app
123     network_mode: host
124     depends_on:
125       - zookeeper
126       - kafka
127
128 volumes:
129   data: