-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
107 lines (101 loc) · 3.08 KB
/
docker-compose.yml
File metadata and controls
107 lines (101 loc) · 3.08 KB
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
services:
influxdb1:
image: influxdb:1.8
container_name: hostwatch-influxdb1
profiles:
- influxdb1
ports:
- "8086:8086"
volumes:
- influxdb1-data:/var/lib/influxdb
environment:
- INFLUXDB_DB=${INFLUXDB_NAME:-hostwatch}
- INFLUXDB_HTTP_AUTH_ENABLED=false
networks:
- hostwatch-network
influxdb2:
image: influxdb:2.7
container_name: hostwatch-influxdb2
profiles:
- influxdb2
ports:
- "8086:8086"
volumes:
- influxdb2-data:/var/lib/influxdb2
environment:
- DOCKER_INFLUXDB_INIT_MODE=setup
- DOCKER_INFLUXDB_INIT_USERNAME=${INFLUXDB2_USERNAME:-admin}
- DOCKER_INFLUXDB_INIT_PASSWORD=${INFLUXDB2_PASSWORD:-adminpassword}
- DOCKER_INFLUXDB_INIT_ORG=${INFLUXDB2_ORG:-hostwatch}
- DOCKER_INFLUXDB_INIT_BUCKET=${INFLUXDB2_BUCKET:-hostwatch}
- DOCKER_INFLUXDB_INIT_ADMIN_TOKEN=${INFLUXDB2_TOKEN:-hostwatch-secret-token}
networks:
- hostwatch-network
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:9.1.3
container_name: hostwatch-elasticsearch
profiles:
- elasticsearch
ports:
- "9200:9200"
volumes:
- elasticsearch-data:/usr/share/elasticsearch/data
environment:
- discovery.type=single-node
- xpack.security.enabled=false
- ES_JAVA_OPTS=-Xms512m -Xmx512m
networks:
- hostwatch-network
collector:
build:
context: .
dockerfile: Dockerfile.collector
container_name: hostwatch-collector
environment:
- TSDB_BACKEND=${TSDB_BACKEND:-influxdb1}
- INFLUXDB_HOST=${INFLUXDB_HOST:-influxdb1}
- INFLUXDB_PORT=8086
- INFLUXDB_NAME=${INFLUXDB_NAME:-hostwatch}
- INFLUXDB2_URL=${INFLUXDB2_URL:-http://influxdb2:8086}
- INFLUXDB2_TOKEN=${INFLUXDB2_TOKEN:-hostwatch-secret-token}
- INFLUXDB2_ORG=${INFLUXDB2_ORG:-hostwatch}
- INFLUXDB2_BUCKET=${INFLUXDB2_BUCKET:-hostwatch}
- ES_HOST=${ES_HOST:-elasticsearch}
- ES_PORT=9200
- ES_SCHEME=http
- ES_INDEX=${ES_INDEX:-hostwatch}
- COLLECTION_INTERVAL=${COLLECTION_INTERVAL:-10}
- HOST_TAG=${HOST_TAG:-docker-host}
networks:
- hostwatch-network
restart: unless-stopped
dashboard:
build:
context: .
dockerfile: Dockerfile.dashboard
container_name: hostwatch-dashboard
ports:
- "8050:8050"
environment:
- TSDB_BACKEND=${TSDB_BACKEND:-influxdb1}
- INFLUXDB_HOST=${INFLUXDB_HOST:-influxdb1}
- INFLUXDB_PORT=8086
- INFLUXDB_NAME=${INFLUXDB_NAME:-hostwatch}
- INFLUXDB2_URL=${INFLUXDB2_URL:-http://influxdb2:8086}
- INFLUXDB2_TOKEN=${INFLUXDB2_TOKEN:-hostwatch-secret-token}
- INFLUXDB2_ORG=${INFLUXDB2_ORG:-hostwatch}
- INFLUXDB2_BUCKET=${INFLUXDB2_BUCKET:-hostwatch}
- ES_HOST=${ES_HOST:-elasticsearch}
- ES_PORT=9200
- ES_SCHEME=http
- ES_INDEX=${ES_INDEX:-hostwatch}
networks:
- hostwatch-network
restart: unless-stopped
volumes:
elasticsearch-data:
influxdb1-data:
influxdb2-data:
networks:
hostwatch-network:
driver: bridge