-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathdocker-compose.yml
141 lines (134 loc) · 3.69 KB
/
docker-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
version: '3'
services:
influxdb:
# Full tag list: https://hub.docker.com/r/library/influxdb/tags/
build:
context: ./images/influxdb/
dockerfile: ./${TYPE}/Dockerfile
args:
INFLUXDB_TAG: ${INFLUXDB_TAG}
image: "influxdb"
volumes:
# Mount for influxdb data directory
- ./influxdb/data:/var/lib/influxdb
# Mount for influxdb configuration
- ./influxdb/config/:/etc/influxdb/
ports:
# The API for InfluxDB is served on port 8086
- "8086:8086"
- "8082:8082"
# UDP Port
- "8089:8089/udp"
telegraf:
# Full tag list: https://hub.docker.com/r/library/telegraf/tags/
build:
context: ./images/telegraf/
dockerfile: ./${TYPE}/Dockerfile
args:
TELEGRAF_TAG: ${TELEGRAF_TAG}
image: "telegraf"
environment:
HOSTNAME: "telegraf-getting-started"
# Telegraf requires network access to InfluxDB
links:
- influxdb
volumes:
# Mount for telegraf configuration
- ./telegraf/:/etc/telegraf/
# Mount for Docker API access
- /var/run/docker.sock:/var/run/docker.sock
depends_on:
- influxdb
kapacitor:
# Full tag list: https://hub.docker.com/r/library/kapacitor/tags/
build:
context: ./images/kapacitor/
dockerfile: ./${TYPE}/Dockerfile
args:
KAPACITOR_TAG: ${KAPACITOR_TAG}
image: "kapacitor"
volumes:
# Mount for kapacitor data directory
- ./kapacitor/data/:/var/lib/kapacitor
# Mount for kapacitor configuration
- ./kapacitor/config/:/etc/kapacitor/
# Kapacitor requires network access to Influxdb
links:
- influxdb
ports:
# The API for Kapacitor is served on port 9092
- "9092:9092"
renderer:
build:
context: ./images/renderer/
dockerfile: ./${TYPE}/Dockerfile
args:
TELEGRAF_TAG: ${TELEGRAF_TAG}
image: "renderer"
ports:
- 8081
grafana:
# Full tag list: https://hub.docker.com/r/library/telegraf/tags/
build:
context: ./images/grafana/
dockerfile: ./${TYPE}/Dockerfile
args:
TELEGRAF_TAG: ${TELEGRAF_TAG}
image: "grafana"
links:
- influxdb
volumes:
# Mount for telegraf configuration
- ./telegraf/:/etc/telegraf/
# Mount for Docker API access
- /var/run/docker.sock:/var/run/docker.sock
ports:
# The API for InfluxDB is served on port 8086
- "3000:3000"
depends_on:
- influxdb
chronograf:
# Full tag list: https://hub.docker.com/r/library/chronograf/tags/
build:
context: ./images/chronograf
dockerfile: ./${TYPE}/Dockerfile
args:
CHRONOGRAF_TAG: ${CHRONOGRAF_TAG}
image: "chrono_config"
environment:
RESOURCES_PATH: "/usr/share/chronograf/resources"
volumes:
# Mount for chronograf database
- ./chronograf/data/:/var/lib/chronograf/
links:
# Chronograf requires network access to InfluxDB and Kapacitor
- influxdb
- kapacitor
ports:
# The WebUI for Chronograf is served on port 8888
- "8888:8888"
depends_on:
- kapacitor
- influxdb
- telegraf
influxdb-relay:
# Full tag list: https://hub.docker.com/r/library/telegraf/tags/
build:
context: ./images/relay/
dockerfile: ./${TYPE}/Dockerfile
image: "influxdb-relay"
environment:
HOSTNAME: "influxdb-relay"
# Telegraf requires network access to InfluxDB
links:
- influxdb
ports:
# The WebUI for Chronograf is served on port 8888
- "9096:9096"
depends_on:
- influxdb
documentation:
build:
context: ./documentation
ports:
- "3010:3000"