feat: Exposed all actuator-endpoints
[demos/kafka/chat] / docker-compose.yml
1 version: '3.2'
2 services:
3   kafka:
4     image: bitnami/kafka:3.3.1
5     environment:
6       KAFKA_ENABLE_KRAFT: 'yes'
7       KAFKA_KRAFT_CLUSTER_ID: r7dMBY60T16TrNCGeXniLw
8       KAFKA_CFG_PROCESS_ROLES: broker, controller
9       KAFKA_CFG_CONTROLLER_LISTENER_NAMES: CONTROLLER
10       KAFKA_CFG_LISTENERS: BROKER://:9092, CONTROLLER://:9093, LOCALHOST://:9082
11       KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP: BROKER:PLAINTEXT, CONTROLLER:PLAINTEXT, LOCALHOST:PLAINTEXT
12       KAFKA_CFG_ADVERTISED_LISTENERS: BROKER://kafka:9092, LOCALHOST://localhost:9082
13       KAFKA_BROKER_ID: 2
14       KAFKA_CFG_CONTROLLER_QUORUM_VOTERS: 2@kafka:9093
15       ALLOW_PLAINTEXT_LISTENER: 'yes'
16       KAFKA_CFG_INTER_BROKER_LISTENER_NAME: BROKER
17       KAFKA_CFG_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
18       KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE: "false"
19     ports:
20       - 9092:9082
21       - 9082:9082
22
23   mongo:
24     image: mongo:4.4.13
25     volumes:
26       - ./0001.sh:/docker-entrypoint-initdb.d/0001.sh:ro
27       - ./chatRoomTo.json:/docker-entrypoint-initdb.d/chatRoomTo.json:ro
28     ports:
29       - 27017:27017
30
31   haproxy:
32     image: haproxytech/haproxy-debian:2.8
33     volumes:
34       - ./haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg:ro
35       - ./sharding.map:/usr/local/etc/haproxy/sharding.map:ro
36     ports:
37       - 8080:8400
38       - 8401:8401
39       - 8404:8404
40       - 5555:5555
41
42   backend-1:
43     image: juplo/chat-backend:0.0.1-SNAPSHOT
44     environment:
45       chat.backend.services: kafka
46       chat.backend.instance-id: backend_1
47       chat.backend.kafka.instance-uri: http://backend-1
48       chat.backend.kafka.client-id-prefix: 1
49       chat.backend.kafka.bootstrap-servers: kafka:9092
50       chat.backend.kafka.num-partitions: 10
51       management.endpoints.web.exposure.include: '*'
52     ports:
53       - 8081:8080
54   backend-2:
55     image: juplo/chat-backend:0.0.1-SNAPSHOT
56     environment:
57       chat.backend.services: kafka
58       chat.backend.instance-id: backend_2
59       chat.backend.kafka.instance-uri: http://backend-2
60       chat.backend.kafka.client-id-prefix: 2
61       chat.backend.kafka.bootstrap-servers: kafka:9092
62       chat.backend.kafka.num-partitions: 10
63       management.endpoints.web.exposure.include: '*'
64     ports:
65       - 8082:8080
66   backend-3:
67     image: juplo/chat-backend:0.0.1-SNAPSHOT
68     environment:
69       chat.backend.services: kafka
70       chat.backend.instance-id: backend_3
71       chat.backend.kafka.instance-uri: http://backend-3
72       chat.backend.kafka.client-id-prefix: 3
73       chat.backend.kafka.bootstrap-servers: kafka:9092
74       chat.backend.kafka.num-partitions: 10
75       management.endpoints.web.exposure.include: '*'
76     ports:
77       - 8083:8080
78
79   setup:
80     image: juplo/toolbox
81     command: >
82       bash -c "
83         kafka-topics --bootstrap-server kafka:9092 --delete --if-exists --topic info_channel
84         kafka-topics --bootstrap-server kafka:9092 --create --topic info_channel --partitions 10 --replication-factor 1 --config min.insync.replicas=1
85         kafka-topics --bootstrap-server kafka:9092 --describe --topic info_channel
86         kafka-topics --bootstrap-server kafka:9092 --delete --if-exists --topic data_channel
87         kafka-topics --bootstrap-server kafka:9092 --create --topic data_channel --partitions 10 --replication-factor 1 --config min.insync.replicas=1
88         kafka-topics --bootstrap-server kafka:9092 --describe --topic data_channel
89       "
90     depends_on:
91       - kafka
92
93   cli:
94     image: juplo/toolbox
95     command: sleep infinity
96     depends_on:
97       - kafka