1
1
version : " 3.9"
2
2
3
+ # By default, this docker compose script maps all services to localhost only.
4
+ # If you need to make services available outside of your machine, add
5
+ # appropriate service mappings to the .env file. See .env.example file for
6
+ # configuration example.
7
+ #
8
+ # Notes on image versions:
9
+ # - For the key services such as postgres and pulsar we are trying to run
10
+ # against the oldest supported version
11
+ # - For the zookeeper and kafka we are trying to use the oldest supported
12
+ # version that has arm64 images
13
+ # - For everything else we are trying to run against the latest version.
14
+ #
15
+ # To run against the latest image versions update .env file. See .env.example
16
+ # file for configuration examples. You might need to remove the old images
17
+ # first if they are already tagged latest and volumes if their content is
18
+ # incompatible with the latest version, as in case of postgres.
19
+
3
20
networks :
4
21
default :
5
22
name : quickwit-network
@@ -13,9 +30,9 @@ services:
13
30
image : localstack/localstack:${LOCALSTACK_VERSION:-2.0.2}
14
31
container_name : localstack
15
32
ports :
16
- - " 4566:4566"
17
- - " 4571:4571"
18
- - " 8080:8080"
33
+ - " ${MAP_HOST_LOCALSTACK:-127.0.0.1}: 4566:4566"
34
+ - " ${MAP_HOST_LOCALSTACK:-127.0.0.1}: 4571:4571"
35
+ - " ${MAP_HOST_LOCALSTACK:-127.0.0.1}: 8080:8080"
19
36
profiles :
20
37
- all
21
38
- localstack
@@ -39,7 +56,7 @@ services:
39
56
image : postgres:${POSTGRES_VERSION:-11.19-alpine}
40
57
container_name : postgres
41
58
ports :
42
- - " 5432:5432"
59
+ - " ${MAP_HOST_POSTGRESS:-127.0.0.1}: 5432:5432"
43
60
profiles :
44
61
- all
45
62
- postgres
@@ -62,8 +79,8 @@ services:
62
79
container_name : pulsar-broker
63
80
command : bin/pulsar standalone
64
81
ports :
65
- - " 6650:6650"
66
- - " 8081:8080"
82
+ - " ${MAP_HOST_PULSAR:-127.0.0.1}: 6650:6650"
83
+ - " ${MAP_HOST_PULSAR:-127.0.0.1}: 8081:8080"
67
84
environment :
68
85
PULSAR_MEM : " -Xms512m -Xmx512m -XX:MaxDirectMemorySize=2g"
69
86
profiles :
@@ -77,8 +94,8 @@ services:
77
94
depends_on :
78
95
- zookeeper
79
96
ports :
80
- - " 9092:9092"
81
- - " 9101:9101"
97
+ - " ${MAP_HOST_KAFKA:-127.0.0.1}: 9092:9092"
98
+ - " ${MAP_HOST_KAFKA:-127.0.0.1}: 9101:9101"
82
99
profiles :
83
100
- all
84
101
- kafka
@@ -105,7 +122,7 @@ services:
105
122
image : confluentinc/cp-zookeeper:${CP_VERSION:-7.0.9}
106
123
container_name : zookeeper
107
124
ports :
108
- - " 2181:2181"
125
+ - " ${MAP_HOST_ZOOKEEPER:-127.0.0.1}: 2181:2181"
109
126
profiles :
110
127
- all
111
128
- kafka
@@ -123,7 +140,7 @@ services:
123
140
image : mcr.microsoft.com/azure-storage/azurite:${AZURITE_VERSION:-3.23.0}
124
141
container_name : azurite
125
142
ports :
126
- - " 10000:10000" # Blob store port
143
+ - " ${MAP_HOST_AZURITE:-127.0.0.1}: 10000:10000" # Blob store port
127
144
profiles :
128
145
- all
129
146
- azurite
@@ -135,7 +152,7 @@ services:
135
152
image : grafana/grafana-oss:${GRAFANA_VERSION:-9.4.7}
136
153
container_name : grafana
137
154
ports :
138
- - " 3000:3000"
155
+ - " ${MAP_HOST_GRAFANA:-127.0.0.1}: 3000:3000"
139
156
profiles :
140
157
- grafana
141
158
- monitoring
@@ -151,13 +168,13 @@ services:
151
168
image : jaegertracing/all-in-one:${JAEGER_VERSION:-1.20.0}
152
169
container_name : jaeger
153
170
ports :
154
- - " 5775:5775/udp"
155
- - " 5778:5778"
156
- - " 6831:6831/udp"
157
- - " 6832:6832/udp"
158
- - " 14250:14250"
159
- - " 14268:14268"
160
- - " 16686:16686"
171
+ - " ${MAP_HOST_JAEGER:-127.0.0.1}: 5775:5775/udp"
172
+ - " ${MAP_HOST_JAEGER:-127.0.0.1}: 5778:5778"
173
+ - " ${MAP_HOST_JAEGER:-127.0.0.1}: 6831:6831/udp"
174
+ - " ${MAP_HOST_JAEGER:-127.0.0.1}: 6832:6832/udp"
175
+ - " ${MAP_HOST_JAEGER:-127.0.0.1}: 14250:14250"
176
+ - " ${MAP_HOST_JAEGER:-127.0.0.1}: 14268:14268"
177
+ - " ${MAP_HOST_JAEGER:-127.0.0.1}: 16686:16686"
161
178
profiles :
162
179
- jaeger
163
180
- monitoring
@@ -166,13 +183,13 @@ services:
166
183
image : otel/opentelemetry-collector:${OTEL_VERSION:-0.75.0}
167
184
container_name : otel-collector
168
185
ports :
169
- - " 1888:1888" # pprof extension
170
- - " 8888:8888" # Prometheus metrics exposed by the collector
171
- - " 8889:8889" # Prometheus exporter metrics
172
- - " 13133:13133" # health_check extension
173
- - " 4317:4317" # OTLP gRPC receiver
174
- - " 4318:4318" # OTLP http receiver
175
- - " 55679:55679" # zpages extension
186
+ - " ${MAP_HOST_OTEL:-127.0.0.1}: 1888:1888" # pprof extension
187
+ - " ${MAP_HOST_OTEL:-127.0.0.1}: 8888:8888" # Prometheus metrics exposed by the collector
188
+ - " ${MAP_HOST_OTEL:-127.0.0.1}: 8889:8889" # Prometheus exporter metrics
189
+ - " ${MAP_HOST_OTEL:-127.0.0.1}: 13133:13133" # health_check extension
190
+ - " ${MAP_HOST_OTEL:-127.0.0.1}: 4317:4317" # OTLP gRPC receiver
191
+ - " ${MAP_HOST_OTEL:-127.0.0.1}: 4318:4318" # OTLP http receiver
192
+ - " ${MAP_HOST_OTEL:-127.0.0.1}: 55679:55679" # zpages extension
176
193
profiles :
177
194
- otel
178
195
- monitoring
@@ -184,7 +201,7 @@ services:
184
201
image : prom/prometheus:${PROMETHEUS_VERSION:-v2.43.0}
185
202
container_name : prometheus
186
203
ports :
187
- - " 9090:9090"
204
+ - " ${MAP_HOST_PROMETHEUS:-127.0.0.1}: 9090:9090"
188
205
profiles :
189
206
- prometheus
190
207
- monitoring
0 commit comments