-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.yml
120 lines (119 loc) · 3.08 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
version: "3.9"
services:
hidra:
build:
context: ./hidra_files
dockerfile: ./Dockerfile
command: exporter /etc/hidra_exporter/exporter.yml
environment:
- OTEL_LOG_LEVEL=true
- DEBUG=false
- HIDRA_AUTH_BASIC_PASSWORD=${HIDRA_AUTH_BASIC_PASSWORD}
working_dir: /app
user: root
volumes:
- ./common_files:/app
- ./hidra_files/configs/hidra:/etc/hidra_exporter
- hidra_data:/etc/hidra_exporter/data
ports:
- "19090:19090"
expose:
- 19090
prometheus:
build:
context: ./prometheus_files
dockerfile: ./Dockerfile
args:
HIDRA_AUTH_BASIC_PASSWORD: ${HIDRA_AUTH_BASIC_PASSWORD}
command:
- --config.file=/etc/prometheus/prometheus.yml
- --web.config.file=/etc/prometheus/web.yml
- --storage.tsdb.path=/etc/prometheus/storage.yml
user: root
volumes:
- prometheus_data:/prometheus
links:
- hidra
ports:
- "9090:9090"
expose:
- 9090
grafana:
image: grafana/grafana:10.0.5
environment:
- GF_SECURITY_ADMIN_USER=admin
- GF_SECURITY_ADMIN_PASSWORD=${HIDRA_AUTH_BASIC_PASSWORD}
- HIDRA_AUTH_BASIC_PASSWORD=${HIDRA_AUTH_BASIC_PASSWORD}
- GF_AUTH_API_KEY_ENABLED=true
- GF_AUTH_API_KEY=${HIDRA_AUTH_BASIC_PASSWORD}
- GF_SECURITY_API_KEY=${GRAFANA_API_KEY}
volumes:
- grafana_data:/var/lib/grafana
- ./grafana_files/datasource.yml:/etc/grafana/provisioning/datasources/datasource.yml
- ./grafana_files/grafana.ini:/etc/grafana/grafana.ini
- certs:/etc/hidra_exporter/certs
ports:
- "3000:3000"
expose:
- 3000
links:
- prometheus
node-backend:
build:
context: ./node-backend_files
dockerfile: ./Dockerfile
command: npm start
environment:
- HIDRA_AUTH_BASIC_PASSWORD=${HIDRA_AUTH_BASIC_PASSWORD}
- grafanaApiPassword=${HIDRA_AUTH_BASIC_PASSWORD}
- users_and_passwords=${USERS_AND_PASSWORDS}
- telegram_bot_token=${TELEGRAM_BOT_TOKEN}
- telegram_chat_id=${TELEGRAM_CHAT_ID}
volumes:
- ./node-backend_files:/app
- hidra_data:/etc/hidra_exporter/data
- /var/run/docker.sock:/var/run/docker.sock
- certs:/etc/hidra_exporter/certs
links:
- prometheus
node-frontend:
build:
context: ./node-frontend_files
dockerfile: ./Dockerfile
command: npm start
environment:
- HIDRA_AUTH_BASIC_PASSWORD=${HIDRA_AUTH_BASIC_PASSWORD}
volumes:
- ./node-frontend_files:/app
ports:
- "3002:3002"
expose:
- 3002
links:
- prometheus
- node-backend
volumes:
prometheus_data:
driver: local
driver_opts:
type: "none"
o: "bind"
device: "./data/prometheus_data"
grafana_data:
driver: local
driver_opts:
type: "none"
o: "bind"
device: "./data/grafana_data"
hidra_data:
driver: local
driver_opts:
type: "none"
o: "bind"
device: "./data/hidra_data"
certs:
driver: local
driver_opts:
type: "none"
o: "bind"
device: "./data/certs"