generated from andersonbosa/dothub
-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.tick.yml
204 lines (188 loc) · 5.29 KB
/
docker-compose.tick.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
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
version: '3.4'
##############################################################################
# DISCLAIMER 😎
#
# The credentials exposed here were generated for testing and destroyed.
# Vulnerabilities issues identified here must be disregarded if "exposed secrets" category.
##############################################################################
volumes:
node_modules: {}
prometheus: {}
grafana: {}
networks:
spacetime-private-net:
tick-stack:
services:
##
# MAIN APPLICATIONS
##
server_fastify:
build:
context: ./services/server-fastify
dockerfile: Dockerfile
environment:
FASTIFY_SERVER_PORT: 3333
# NODE_OPTIONS: "--inspect=0.0.0.0:9229"
networks:
- spacetime-private-net
ports:
- "3333:3333"
volumes:
- ./services/server-fastify:/server
# - node_modules:/server/node_modules
# - /server/node_modules
hostname: server_fastify
app_web:
depends_on:
- server_fastify
build:
context: ./services/app-web
dockerfile: Dockerfile
args:
- NEXTJS_PORT=3000
environment:
PORT: 3000
FASTIFY_SERVER_PORT: 3333
networks:
- spacetime-private-net
ports:
- "3000:3000"
hostname: app_web
# volumes:
# - ./services/app-web:/app
# - /app/node_modules
# # - node_modules:/app/node_modules
# tmpfs:
# - /app/.next
##
# OBSERVABILITY
##
prometheus:
image: prom/prometheus
ports:
- "9090:9090"
volumes:
- ./services/prometheus:/etc/prometheus
- prometheus:/prometheus/
command:
- '--config.file=/etc/prometheus/prometheus.yml'
restart: unless-stopped
hostname: prometheus
networks:
- spacetime-private-net
- tick-stack
grafana:
depends_on:
- prometheus
- influxdb
image: grafana/grafana
ports:
- "9091:9091"
env_file: ./services/tick/.env
# environment:
# GF_AUTH_BASIC_ENABLED: false
# GF_SECURITY_ADMIN_USER: admin
# GF_SECURITY_ADMIN_PASSWORD: password
# GF_AUTH_ANONYMOUS_ORG_ROLE: Admin
# GF_AUTH_ANONYMOUS_ENABLED: true
# GF_INSTALL_PLUGINS: grafana-clock-panel,grafana-simple-json-datasource
volumes:
- ./services/grafana:/etc/grafana/provisioning
- grafana:/var/lib/grafana
restart: unless-stopped
hostname: grafana
networks:
- tick-stack
- spacetime-private-net
##
# TICK STACK
##
telegraf:
depends_on:
- influxdb
image: telegraf:alpine
user: telegraf:999 # 999: docker group UID
env_file: ./services/tick/.env
links:
- influxdb
volumes:
# Mount for telegraf configuration
- ./services/tick/telegraf/:/etc/telegraf/
# Mount for Docker API access
- /var/run/docker.sock:/var/run/docker.sock
restart: unless-stopped
# hostname: telegraf
# networks:
# - tick-stack
# - spacetime-private-net
influxdb:
image: "influxdb:alpine"
volumes:
# Mount for influxdb data directory
- ./services/tick/influxdb/data:/var/lib/influxdb
- ./services/tick/influxdb/data:/var/lib/influxdb2
# Mount for influxdb configuration
- ./services/tick/influxdb/config/:/etc/influxdb/
ports:
# The API for InfluxDB is served on port 8086
- "8086:8086"
- "8082:8082"
# UDP Port
- "8089:8089/udp"
restart: unless-stopped
hostname: influxdb
env_file: ./services/tick/.env
# environment:
# DOCKER_INFLUXDB_INIT_MODE: setup
# DOCKER_INFLUXDB_INIT_USERNAME: root
# DOCKER_INFLUXDB_INIT_PASSWORD: toor
# DOCKER_INFLUXDB_INIT_ADMIN_TOKEN: "ycCuKyyzkBA7PK5fLMN-EXwZXVwO7nW05JFN8ylWu2sHijkSYtcFymczgZGwRXTjrODK8q-7TX8oFw-TUPqbWg=="
# DOCKER_INFLUXDB_INIT_ORG: "t4inha"
# DOCKER_INFLUXDB_INIT_BUCKET: "bucket-name"
# INFLUXDB_DATA_ENGINE: tsm1
# INFLUXDB_REPORTING_DISABLED: false
# networks:
# - tick-stack
# - spacetime-private-net
kapacitor:
image: kapacitor:alpine
volumes:
# Mount for kapacitor data directory
- ./services/tick/kapacitor/data/:/var/lib/kapacitor
# Mount for kapacitor configuration
- ./services/tick/kapacitor/config/:/etc/kapacitor/
# Kapacitor requires network access to Influxdb
links:
- influxdb
ports:
# The API for Kapacitor is served on port 9092
- "9092:9092"
restart: unless-stopped
hostname: kapacitor
# networks:
# - tick-stack
# - spacetime-private-net
chronograf:
image: chronograf:alpine
env_file: ./services/tick/.env
environment:
RESOURCES_PATH: "/usr/share/chronograf/resources"
volumes:
# Mount for chronograf database
- ./services/tick/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
restart: unless-stopped
hostname: chronograf
# networks:
# - tick-stack
# - spacetime-private-net