master
yml 347 lines 10.1 KB
Raw
1 services:
2 postgres:
3 image: ${POSTGRES_IMAGE:-postgres:16}
4 environment:
5 POSTGRES_USER: netdata
6 POSTGRES_PASSWORD: netdata
7 POSTGRES_DB: netdata
8 command: ["postgres", "-c", "shared_preload_libraries=${POSTGRES_PRELOAD_LIBRARIES:-pg_stat_statements}"]
9 ports:
10 - "${POSTGRES_PORT:-5432}:5432"
11 volumes:
12 - ./seed/postgres/init.sql:/docker-entrypoint-initdb.d/init.sql:ro
13 healthcheck:
14 test: ["CMD-SHELL", "pg_isready -U netdata -d netdata"]
15 interval: 5s
16 timeout: 5s
17 retries: 10
18
19 mysql:
20 image: ${MYSQL_IMAGE:-mysql:8.0}
21 environment:
22 MYSQL_ROOT_PASSWORD: rootpw
23 MYSQL_DATABASE: netdata
24 MYSQL_USER: netdata
25 MYSQL_PASSWORD: netdata
26 MARIADB_ROOT_PASSWORD: rootpw
27 MARIADB_DATABASE: netdata
28 MARIADB_USER: netdata
29 MARIADB_PASSWORD: netdata
30 command: ["--performance_schema=ON"]
31 ports:
32 - "${MYSQL_PORT:-3306}:3306"
33 volumes:
34 - ./seed/mysql/init.sql:/docker-entrypoint-initdb.d/init.sql:ro
35 healthcheck:
36 test: ["CMD-SHELL", "if command -v mysqladmin >/dev/null 2>&1; then mysqladmin ping -h 127.0.0.1 -u root -p$$MYSQL_ROOT_PASSWORD > /dev/null; elif command -v mariadb-admin >/dev/null 2>&1; then mariadb-admin ping -h 127.0.0.1 -u root -p$$MYSQL_ROOT_PASSWORD > /dev/null; else exit 127; fi"]
37 interval: 5s
38 timeout: 5s
39 retries: 10
40
41 mssql:
42 image: ${MSSQL_IMAGE:-mcr.microsoft.com/mssql/server:2022-latest}
43 environment:
44 ACCEPT_EULA: "Y"
45 MSSQL_SA_PASSWORD: "Netdata123!"
46 ports:
47 - "${MSSQL_PORT:-1433}:1433"
48 healthcheck:
49 test: ["CMD-SHELL", "if [ -x /opt/mssql-tools18/bin/sqlcmd ]; then /opt/mssql-tools18/bin/sqlcmd -C -S localhost -U sa -P $$MSSQL_SA_PASSWORD -Q \"SELECT 1\" > /dev/null; else /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P $$MSSQL_SA_PASSWORD -Q \"SELECT 1\" > /dev/null; fi"]
50 interval: 10s
51 timeout: 5s
52 retries: 12
53
54 mssql-init:
55 image: mcr.microsoft.com/mssql-tools
56 depends_on:
57 mssql:
58 condition: service_healthy
59 environment:
60 MSSQL_SA_PASSWORD: "Netdata123!"
61 volumes:
62 - ./seed/mssql/init.sql:/seed/init.sql:ro
63 - ./seed/mssql/init.sh:/seed/init.sh:ro
64 entrypoint: ["/bin/bash", "/seed/init.sh"]
65
66 mongo:
67 image: mongo:6
68 environment:
69 MONGO_INITDB_ROOT_USERNAME: root
70 MONGO_INITDB_ROOT_PASSWORD: rootpw
71 ports:
72 - "${MONGO_PORT:-27017}:27017"
73 volumes:
74 - ./seed/mongodb/init.js:/docker-entrypoint-initdb.d/init.js:ro
75 healthcheck:
76 test: ["CMD", "mongosh", "--quiet", "--username", "root", "--password", "rootpw", "--authenticationDatabase", "admin", "--eval", "db.runCommand({ping:1})"]
77 interval: 5s
78 timeout: 5s
79 retries: 10
80
81 mongo-init:
82 image: mongo:6
83 depends_on:
84 mongo:
85 condition: service_healthy
86 environment:
87 MONGO_INITDB_ROOT_USERNAME: root
88 MONGO_INITDB_ROOT_PASSWORD: rootpw
89 volumes:
90 - ./seed/mongodb/init.js:/seed/init.js:ro
91 - ./seed/mongodb/init.sh:/seed/init.sh:ro
92 entrypoint: ["/bin/bash", "/seed/init.sh"]
93
94 redis:
95 image: redis:7
96 ports:
97 - "${REDIS_PORT:-6379}:6379"
98 healthcheck:
99 test: ["CMD", "redis-cli", "ping"]
100 interval: 5s
101 timeout: 5s
102 retries: 10
103
104 redis-init:
105 image: redis:7
106 depends_on:
107 redis:
108 condition: service_healthy
109 volumes:
110 - ./seed/redis/init.sh:/seed/init.sh:ro
111 entrypoint: ["/bin/bash", "/seed/init.sh"]
112
113 clickhouse:
114 image: clickhouse/clickhouse-server:24.3
115 environment:
116 CLICKHOUSE_USER: default
117 CLICKHOUSE_PASSWORD: netdata
118 CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT: "1"
119 ports:
120 - "${CLICKHOUSE_HTTP_PORT:-8123}:8123"
121 healthcheck:
122 test: ["CMD-SHELL", "clickhouse-client --host 127.0.0.1 --user \"$${CLICKHOUSE_USER}\" --password \"$${CLICKHOUSE_PASSWORD}\" --query 'SELECT 1' > /dev/null"]
123 interval: 5s
124 timeout: 5s
125 retries: 10
126
127 clickhouse-init:
128 image: clickhouse/clickhouse-server:24.3
129 depends_on:
130 clickhouse:
131 condition: service_healthy
132 environment:
133 CH_USER: default
134 CH_PASSWORD: netdata
135 volumes:
136 - ./seed/clickhouse/init.sh:/seed/init.sh:ro
137 entrypoint: ["/bin/bash", "/seed/init.sh"]
138
139 elasticsearch:
140 image: docker.elastic.co/elasticsearch/elasticsearch:8.12.0
141 environment:
142 discovery.type: single-node
143 xpack.security.enabled: "false"
144 ES_JAVA_OPTS: "-Xms512m -Xmx512m"
145 ports:
146 - "${ELASTICSEARCH_PORT:-9200}:9200"
147 healthcheck:
148 test: ["CMD-SHELL", "curl -fsS http://localhost:9200/_cluster/health?wait_for_status=yellow&timeout=5s > /dev/null"]
149 interval: 10s
150 timeout: 5s
151 retries: 12
152
153 elasticsearch-init:
154 image: curlimages/curl:8.5.0
155 depends_on:
156 elasticsearch:
157 condition: service_healthy
158 volumes:
159 - ./seed/elasticsearch/init.sh:/seed/init.sh:ro
160 entrypoint: ["/bin/sh", "/seed/init.sh"]
161
162 elasticsearch-searcher:
163 image: curlimages/curl:8.5.0
164 depends_on:
165 elasticsearch-init:
166 condition: service_completed_successfully
167 volumes:
168 - ./seed/elasticsearch/searcher.sh:/seed/searcher.sh:ro
169 entrypoint: ["/bin/sh", "/seed/searcher.sh"]
170
171 couchbase:
172 image: couchbase/server:7.2.5
173 ports:
174 - "${COUCHBASE_HTTP_PORT:-8091}:8091"
175 - "${COUCHBASE_QUERY_PORT:-8093}:8093"
176 ulimits:
177 nofile:
178 soft: 200000
179 hard: 200000
180 healthcheck:
181 test: ["CMD-SHELL", "code=$(curl -s -o /dev/null -w '%{http_code}' http://localhost:8091/pools); [ \"$$code\" = \"200\" ] || [ \"$$code\" = \"401\" ]"]
182 interval: 10s
183 timeout: 5s
184 retries: 20
185
186 couchbase-init:
187 image: couchbase/server:7.2.5
188 depends_on:
189 couchbase:
190 condition: service_healthy
191 environment:
192 CB_HOST: couchbase
193 CB_ADMIN: Administrator
194 CB_PASS: password
195 volumes:
196 - ./seed/couchbase/init.sh:/seed/init.sh:ro
197 entrypoint: ["/bin/bash", "/seed/init.sh"]
198
199 proxysql:
200 image: proxysql/proxysql:2.6.6
201 ports:
202 - "${PROXYSQL_ADMIN_PORT:-6032}:6032"
203 - "${PROXYSQL_MYSQL_PORT:-6033}:6033"
204 volumes:
205 - proxysql-data:/var/lib/proxysql
206 - ./seed/proxysql/proxysql.cnf:/etc/proxysql.cnf:ro
207
208 proxysql-init:
209 image: mysql:8.0
210 network_mode: "service:proxysql"
211 depends_on:
212 proxysql:
213 condition: service_started
214 mysql:
215 condition: service_healthy
216 environment:
217 PROXY_HOST: 127.0.0.1
218 ADMIN_USER: admin
219 ADMIN_PASS: admin
220 BACKEND_HOST: mysql
221 BACKEND_PORT: 3306
222 volumes:
223 - ./seed/proxysql/init.sh:/seed/init.sh:ro
224 entrypoint: ["/bin/bash", "/seed/init.sh"]
225
226 cockroachdb:
227 image: cockroachdb/cockroach:v24.1.0
228 command:
229 [
230 "start-single-node",
231 "--insecure",
232 "--http-addr",
233 "0.0.0.0:8080",
234 "--listen-addr",
235 "127.0.0.1:26257",
236 "--sql-addr",
237 "0.0.0.0:26258"
238 ]
239 ports:
240 - "${COCKROACH_HTTP_PORT:-8080}:8080"
241 - "${COCKROACH_SQL_PORT:-26258}:26258"
242 healthcheck:
243 test: ["CMD-SHELL", "cockroach sql --insecure --host=localhost:26258 -e \"SELECT 1\" > /dev/null"]
244 interval: 10s
245 timeout: 5s
246 retries: 15
247
248 cockroachdb-seed:
249 image: cockroachdb/cockroach:v24.1.0
250 depends_on:
251 cockroachdb:
252 condition: service_healthy
253 volumes:
254 - ./seed/cockroachdb/seed.sh:/seed/seed.sh:ro
255 - ./seed/cockroachdb/seed.sql:/seed/seed.sql:ro
256 entrypoint: ["/bin/sh", "/seed/seed.sh"]
257
258 cockroachdb-sleep:
259 image: cockroachdb/cockroach:v24.1.0
260 depends_on:
261 cockroachdb:
262 condition: service_healthy
263 volumes:
264 - ./seed/cockroachdb/sleep.sh:/seed/sleep.sh:ro
265 - ./seed/cockroachdb/sleep.sql:/seed/sleep.sql:ro
266 entrypoint: ["/bin/sh", "/seed/sleep.sh"]
267
268 yugabytedb:
269 image: yugabytedb/yugabyte:2.21.1.0-b271
270 command: ["/home/yugabyte/bin/yugabyted", "start", "--daemon=false"]
271 ports:
272 - "${YUGABYTE_MASTER_PORT:-7000}:7000"
273 - "${YUGABYTE_YSQL_PORT:-5433}:5433"
274 healthcheck:
275 test: ["CMD-SHELL", "/home/yugabyte/bin/ysqlsh -h \"$(hostname -i)\" -U yugabyte -d yugabyte -c \"SELECT 1\" > /dev/null"]
276 interval: 10s
277 timeout: 5s
278 retries: 20
279
280 yugabytedb-seed:
281 image: yugabytedb/yugabyte:2.21.1.0-b271
282 depends_on:
283 yugabytedb:
284 condition: service_healthy
285 volumes:
286 - ./seed/yugabytedb/seed.sh:/seed/seed.sh:ro
287 - ./seed/yugabytedb/seed.sql:/seed/seed.sql:ro
288 entrypoint: ["/bin/sh", "/seed/seed.sh"]
289
290 yugabytedb-sleep:
291 image: yugabytedb/yugabyte:2.21.1.0-b271
292 depends_on:
293 yugabytedb:
294 condition: service_healthy
295 volumes:
296 - ./seed/yugabytedb/sleep.sh:/seed/sleep.sh:ro
297 - ./seed/yugabytedb/sleep.sql:/seed/sleep.sql:ro
298 entrypoint: ["/bin/sh", "/seed/sleep.sh"]
299
300 oracledb:
301 image: gvenzl/oracle-free:latest
302 environment:
303 ORACLE_PASSWORD: "Netdata123!"
304 APP_USER: netdata
305 APP_USER_PASSWORD: "Netdata123!"
306 ports:
307 - "${ORACLE_PORT:-1521}:1521"
308 volumes:
309 - ./seed/oracledb/init.sql:/container-entrypoint-initdb.d/init.sql:ro
310 healthcheck:
311 test: ["CMD-SHELL", "echo 'SELECT 1 FROM dual;' | sqlplus -L -s \"sys/$$ORACLE_PASSWORD@//localhost:1521/FREEPDB1 as sysdba\" > /dev/null"]
312 interval: 10s
313 timeout: 5s
314 retries: 20
315
316 oracledb-seed:
317 image: gvenzl/oracle-free:latest
318 depends_on:
319 oracledb:
320 condition: service_healthy
321 volumes:
322 - ./seed/oracledb/seed.sh:/seed/seed.sh:ro
323 - ./seed/oracledb/seed.sql:/seed/seed.sql:ro
324 entrypoint: ["/bin/bash", "/seed/seed.sh"]
325
326 oracledb-sleep:
327 image: gvenzl/oracle-free:latest
328 depends_on:
329 oracledb:
330 condition: service_healthy
331 volumes:
332 - ./seed/oracledb/sleep.sh:/seed/sleep.sh:ro
333 - ./seed/oracledb/sleep.sql:/seed/sleep.sql:ro
334 entrypoint: ["/bin/bash", "/seed/sleep.sh"]
335
336 rethinkdb:
337 image: rethinkdb:2.4
338 ports:
339 - "${RETHINKDB_PORT:-28015}:28015"
340 healthcheck:
341 test: ["CMD-SHELL", "rethinkdb --version > /dev/null"]
342 interval: 5s
343 timeout: 5s
344 retries: 10
345
346 volumes:
347 proxysql-data: