-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.services.yml
119 lines (113 loc) · 2.78 KB
/
docker-compose.services.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
version: "3"
services:
healthchecker:
image: hello-world
depends_on:
postgres:
condition: service_healthy
elasticsearch:
condition: service_healthy
logstash:
condition: service_healthy
# kibana:
# condition: service_healthy
minio:
condition: service_healthy
postgres:
image: postgres:14-alpine
env_file: .env
ports:
- ${POSTGRES_PORT}:${POSTGRES_PORT}
command: -p ${POSTGRES_PORT}
healthcheck:
test: [ "CMD-SHELL", "pg_isready -p $${POSTGRES_PORT} -d $${POSTGRES_DB} -U $${POSTGRES_USER}"]
interval: 10s
timeout: 10s
retries: 120
elasticsearch:
image: elasticsearch:8.4.0
ports:
- 9200:9200
environment:
- ES_JAVA_OPTS=-Xmx384m -Xms256m
- discovery.type=single-node
- xpack.security.enabled=false
- bootstrap.memory_lock=true
- cluster.routing.allocation.disk.threshold_enabled=false
ulimits:
memlock:
soft: -1
hard: -1
mem_limit: 512m
healthcheck:
test:
[
"CMD-SHELL",
"curl -s -I http://localhost:9200 | grep -q 'HTTP/1.1 200 OK'",
]
interval: 10s
timeout: 10s
retries: 120
logstash:
build:
context: logstash
args:
- LOGSTASH_VERSION=8.4.0
- JDBC_POSTGRES_DRIVER_VERSION=42.4.2
env_file: .env
environment:
- LS_JAVA_OPTS=-Xmx450m -Xms300m
volumes:
- ./logstash/config/pipelines.yml:/usr/share/logstash/config/pipelines.yml
- ./logstash/pipeline/:/usr/share/logstash/pipeline/
- ./logstash/queries/:/usr/share/logstash/config/queries/
mem_limit: 600m
depends_on:
elasticsearch:
condition: service_healthy
postgres:
condition: service_healthy
healthcheck:
test:
[
"CMD-SHELL",
"curl -s -I http://localhost:9600 | grep -q 'HTTP/1.1 200 OK'",
]
interval: 10s
timeout: 10s
retries: 120
# kibana:
# image: kibana:8.4.0
# ports:
# - 5601:5601
# environment:
# - JAVA_OPTS=-Xmx384m -Xms256m
# mem_limit: 512m
# depends_on:
# elasticsearch:
# condition: service_healthy
# healthcheck:
# test:
# [
# "CMD-SHELL",
# "curl -s -I http://localhost:5601 | grep -q 'HTTP/1.1 302 Found'",
# ]
# interval: 10s
# timeout: 10s
# retries: 120
minio:
image: quay.io/minio/minio:latest
env_file: .env
ports:
- 9000:9000
- 9090:9090
command: server /data --console-address ":9090"
healthcheck:
test:
[
"CMD-SHELL",
"curl --fail http://localhost:9000/minio/health/live",
]
interval: 10s
timeout: 10s
retries: 120