-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathdocker-compose.yaml
124 lines (117 loc) · 3.88 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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
version: '3'
services:
zookeeper:
image: confluentinc/cp-zookeeper:latest
hostname: zookeeper
ports:
- '3500:3500'
environment:
ZOOKEEPER_CLIENT_PORT: 3500
ZOOKEEPER_TICK_TIME: 2000
broker:
image: confluentinc/cp-kafka:latest
hostname: broker
depends_on:
- zookeeper
ports:
- '3501:3501'
environment:
KAFKA_BROKER_ID: 1
KAFKA_ZOOKEEPER_CONNECT: 'zookeeper:3500'
KAFKA_ADVERTISED_LISTENERS: 'EXTERNAL://localhost:3501,PLAINTEXT://broker:9092'
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: 'EXTERNAL:PLAINTEXT,PLAINTEXT:PLAINTEXT'
KAFKA_LISTENERS: 'EXTERNAL://0.0.0.0:3501,PLAINTEXT://0.0.0.0:9092'
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
KAFKA_DEFAULT_REPLICATION_FACTOR: 1
KAFKA_MESSAGE_MAX_BYTES: 100000000
KAFKA_REPLICA_FETCH_MAX_BYTES: 100000000
schema_registry:
image: confluentinc/cp-schema-registry:latest
hostname: schema_registry
depends_on:
- zookeeper
- broker
ports:
- '3502:3502'
environment:
SCHEMA_REGISTRY_HOST_NAME: schema_registry
SCHEMA_REGISTRY_LISTENERS: 'http://0.0.0.0:3502'
SCHEMA_REGISTRY_KAFKASTORE_CONNECTION_URL: 'zookeeper:3500'
SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS: 'PLAINTEXT://broker:9092'
kafka_rest:
image: confluentinc/cp-kafka-rest:latest
hostname: kafka_rest
depends_on:
- zookeeper
- schema_registry
- broker
ports:
- '8082:8082'
environment:
KAFKA_REST_HOST_NAME: kafka_rest
KAFKA_REST_BOOTSTRAP_SERVERS: 'PLAINTEXT://broker:9092'
KAFKA_REST_ZOOKEEPER_CONNECT: 'zookeeper:3500'
KAFKA_REST_LISTENERS: 'http://0.0.0.0:8082'
KAFKA_REST_SCHEMA_REGISTRY_URL: 'http://schema_registry:3502'
KAFKA_CONSUMER_REQUEST_TIMEOUT_MS: 30000
KAFKA_REST_ACCESS_CONTROL_ALLOW_METHODS: 'GET,POST,PUT,DELETE,OPTIONS'
KAFKA_REST_ACCESS_CONTROL_ALLOW_ORIGIN: '*'
kafka_topics_ui:
image: landoop/kafka-topics-ui:latest
hostname: kafka_topics_ui
depends_on:
- kafka_rest
ports:
- '3600:8000'
environment:
KAFKA_REST_PROXY_URL: 'http://kafka_rest:8082'
PROXY: 'true'
kafka_schema_registry_ui:
image: landoop/schema-registry-ui:latest
hostname: kafka_schema_registry_ui
depends_on:
- schema_registry
ports:
- '3601:8000'
environment:
SCHEMAREGISTRY_URL: 'http://schema_registry:3502'
PROXY: 'true'
silent-producer:
image: drivereu/silent-producer:0.0.1
depends_on:
- broker
- schema_registry
environment:
KAFKA_HOST: broker:9092
SCHEMA_REGISTRY: http://schema_registry:3502
PRODUCE_TOPICS: simulation_request_unittransport,simulation_request_startinject,simulation_entity_item,standard_cap,system_timing,system_topic_access_invite,system_logging
restart: on-failure
replay:
# The service and web application are hosted in the same docker container
container_name: kafka-replay-service
image: kafka-replay-service
hostname: kafka-replay-service
build:
context: .
dockerfile: Dockerfile
args:
# The 'VUE_APP_PATH_REPLACE_AT_RUNTIME' will be replaced at runtime with ${VUE_APP_REPLAYER_REST_API} (see script docker-entrypoint.js)
VUE_APP_PATH: VUE_APP_PATH_REPLACE_AT_RUNTIME
volumes:
- ./logs:/app/logs
- ./schemas:/app/schemas
ports:
# website
- ${REPLAYER_WEB_SERVER_PORT}:8080
# API rest calls
- ${REPLAYER_SERVER_API_REST_PORT}:8200
depends_on:
- broker
- schema_registry
- silent-producer
environment:
REPLAYER_WEB_SERVER_PORT: ${REPLAYER_WEB_SERVER_PORT}
REPLAYER_SERVER_API_REST_PORT: ${REPLAYER_SERVER_API_REST_PORT}
REPLAYER_KAFKA_BROKER_URL: broker:9092
REPLAYER_SCHEMA_REGISTRY_URL: schema_registry:3502
VUE_APP_REPLAYER_REST_API: http://127.0.0.1:8209/api/v1