-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
compose.yml
141 lines (134 loc) · 3.93 KB
/
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
136
137
138
139
140
141
services:
sbt: &sbt
tty: true
stdin_open: true
build:
context: ./stream
target: builder
entrypoint: sbt
command: help
volumes:
- ./stream:/usr/src/app:delegated
- sbt_ivy_cache:/root/.ivy2:cached
- sbt_cache:/root/.sbt:cached
- coursier_cache:/root/.cache/coursier:cached
- coursier_v1_cache:/root/.coursier/cache/v1:cached
stream:
build:
context: ./stream
depends_on:
- redpanda
redpanda:
image: redpandadata/redpanda:v23.3.1
entrypoint: rpk
command:
- redpanda
- start
- --mode
- dev-container
- --kafka-addr
- internal://0.0.0.0:9092,external://0.0.0.0:19092
# Address the broker advertises to clients that connect to the Kafka API.
# Use the internal addresses to connect to the Redpanda brokers
# from inside the same Docker network.
# Use the external addresses to connect to the Redpanda brokers
# from outside the Docker network.
- --advertise-kafka-addr
- internal://redpanda:9092,external://localhost:19092
- --pandaproxy-addr
- internal://0.0.0.0:8082,external://0.0.0.0:18082
# Address the broker advertises to clients that connect to the HTTP Proxy.
- --advertise-pandaproxy-addr
- internal://redpanda:8082,external://localhost:18082
- --schema-registry-addr
- internal://0.0.0.0:8081,external://0.0.0.0:18081
# Redpanda brokers use the RPC API to communicate with each other internally.
- --rpc-addr
- redpanda:33145
- --advertise-rpc-addr
- redpanda:33145
ports:
- 18081:18081
- 18082:18082
- 19092:19092
- 19644:9644
volumes:
- redpanda:/var/lib/redpanda/data
- ./data/:/opt/kafka/data:ro
console:
image: redpandadata/console:v2.3.8
entrypoint: /bin/sh
command: -c "echo \"$$CONSOLE_CONFIG_FILE\" > /tmp/config.yml; /app/console"
environment:
CONFIG_FILEPATH: /tmp/config.yml
CONSOLE_CONFIG_FILE: |
kafka:
brokers: ["redpanda:9092"]
schemaRegistry:
enabled: true
urls: ["http://redpanda:8081"]
redpanda:
adminApi:
enabled: true
urls: ["http://redpanda:9644"]
connect:
enabled: true
clusters:
- name: local-connect-cluster
url: "http://connect:8083"
ports:
- 8080:8080
depends_on:
- redpanda
connect:
build:
context: ./connect
ports:
- 8083:8083
environment:
CONNECT_BOOTSTRAP_SERVERS: redpanda:9092
CONNECT_LOG_LEVEL: info
CONNECT_METRICS_ENABLED: false
CONNECT_PLUGIN_PATH: /opt/kafka/connect-plugins
CONNECT_CONFIGURATION: |
key.converter=org.apache.kafka.connect.converters.ByteArrayConverter
value.converter=org.apache.kafka.connect.converters.ByteArrayConverter
group.id=connectors-group
offset.storage.topic=_connectors_offsets
config.storage.topic=_connectors_configs
status.storage.topic=_connectors_status
config.storage.replication.factor=-1
offset.storage.replication.factor=-1
status.storage.replication.factor=-1
config.providers=file
config.providers.file.class=org.apache.kafka.common.config.provider.FileConfigProvider
volumes:
- ./connect/password/:/opt/kafka/connect-password:ro
depends_on:
- redpanda
neo4j:
image: neo4j:5
ports:
- 7474:7474 # HTTP
- 7687:7687 # Bolt
environment:
- NEO4J_AUTH=neo4j/password
volumes:
- neo4j:/data
postgres:
image: postgres:16
user: postgres
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: postgres
volumes:
- postgres:/var/lib/postgresql/data
volumes:
sbt_ivy_cache: {}
sbt_cache: {}
coursier_cache: {}
coursier_v1_cache: {}
redpanda: {}
neo4j: {}
postgres: {}