-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathdocker-compose.yml
135 lines (125 loc) · 3.78 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
version: '2'
services:
zookeeper:
image: confluentinc/cp-zookeeper:6.2.0
hostname: zookeeper
container_name: zookeeper
ports:
- 2181:2181
environment:
ZOOKEEPER_CLIENT_PORT: 2181
ZOOKEEPER_TICK_TIME: 2000
broker:
image: confluentinc/cp-enterprise-kafka:6.2.0
hostname: broker
container_name: broker
depends_on:
- zookeeper
ports:
- 9092:9092
- 9101:9101
environment:
KAFKA_BROKER_ID: 1
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: EXTERNAL:PLAINTEXT,INTERNAL:PLAINTEXT
KAFKA_ADVERTISED_LISTENERS: EXTERNAL://broker:29092,INTERNAL://localhost:9092
KAFKA_INTER_BROKER_LISTENER_NAME: INTERNAL
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1
KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1
KAFKA_AUTO_CREATE_TOPICS_ENABLE: "true"
create-topics:
image: confluentinc/cp-enterprise-kafka:6.2.0
hostname: create-topics
container_name: create-topics
depends_on:
- broker
command:
- bash
- -c
- |
cub kafka-ready -b broker:29092 1 120 && \
kafka-topics --create --zookeeper zookeeper:2181 --partitions 1 --replication-factor 1 --topic weight-train
kafka-topics --create --zookeeper zookeeper:2181 --partitions 1 --replication-factor 1 --topic weight-diff
environment:
KAFKA_BROKER_ID: ignored
KAFKA_ZOOKEEPER_CONNECT: ignored
connect:
image: confluentinc/cp-kafka-connect-base:6.2.0
hostname: connect
container_name: connect
depends_on:
- broker
ports:
- 8083:8083
environment:
CONNECT_BOOTSTRAP_SERVERS: broker:29092
CONNECT_REST_ADVERTISED_HOST_NAME: connect
CONNECT_REST_PORT: 8083
CONNECT_GROUP_ID: compose-connect-group
CONNECT_CONFIG_STORAGE_TOPIC: docker-connect-configs
CONNECT_OFFSET_STORAGE_TOPIC: docker-connect-offsets
CONNECT_STATUS_STORAGE_TOPIC: docker-connect-status
CONNECT_CONFIG_STORAGE_REPLICATION_FACTOR: 1
CONNECT_OFFSET_STORAGE_REPLICATION_FACTOR: 1
CONNECT_STATUS_STORAGE_REPLICATION_FACTOR: 1
CONNECT_KEY_CONVERTER: org.apache.kafka.connect.storage.StringConverter
CONNECT_VALUE_CONVERTER: org.apache.kafka.connect.json.JsonConverter
CONNECT_CONNECTOR_CLIENT_CONFIG_OVERRIDE_POLICY: All
command:
- bash
- -c
- |
confluent-hub install --no-prompt mongodb/kafka-connect-mongodb:1.5.0
confluent-hub install --no-prompt confluentinc/kafka-connect-http:1.4.0
/etc/confluent/docker/run &
sleep infinity
ksqldb-server:
image: confluentinc/cp-ksqldb-server:6.2.0
hostname: ksqldb-server
container_name: ksqldb-server
depends_on:
- broker
- connect
ports:
- 8088:8088
environment:
KSQL_CONFIG_DIR: "/etc/ksql"
KSQL_BOOTSTRAP_SERVERS: broker:29092
KSQL_HOST_NAME: ksqldb-server
KSQL_LISTENERS: "http://0.0.0.0:8088"
ksqldb-cli:
image: confluentinc/cp-ksqldb-cli:6.2.0
container_name: ksqldb-cli
depends_on:
- ksqldb-server
entrypoint: /bin/sh
tty: true
mongodb_container:
image: mongo:4.4.5
hostname: mongo
container_name: mongo
ports:
- 27017:27017
environment:
MONGO_INITDB_ROOT_USERNAME: user
MONGO_INITDB_ROOT_PASSWORD: password
kafkaProducer:
image: kafkaproducer:0.0.13
build: ./KafkaProducer
container_name: kafkaProducer
depends_on:
- ksqldb-cli
- broker
kafkaStreams:
image: kafkastreams:0.0.12
build: ./KafkaStreams
container_name: kafkaStreams
depends_on:
- kafkaProducer
rstudio:
image: rstudio/plumber:0.0.24
build: ./R
container_name: rstudio
ports:
- 8000:8000