-
Notifications
You must be signed in to change notification settings - Fork 8
/
docker-compose.metrics.yml
69 lines (64 loc) · 2.25 KB
/
docker-compose.metrics.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
version: '2'
# Make sure to create the sub directories "prometheus", "prometheus_data", "grafana", "grafana_data" and "certstream"
# and create the config files for all three services. For further details please refer to https://github.com/d-Rickyy-b/certstream-server-go/wiki/Collecting-and-Visualizing-Metrics
networks:
monitoring:
driver: bridge
ipam:
config:
- subnet: 172.90.0.0/24
gateway: 172.90.0.1
services:
prometheus:
image: prom/prometheus:v2.40.5
restart: always
# Configure the service to run as specific user.
# user: "1000:1000"
volumes:
- ./prometheus/:/etc/prometheus/
- ./prometheus_data:/prometheus/
command:
- '--config.file=/etc/prometheus/prometheus.yml'
- '--storage.tsdb.path=/prometheus'
- '--storage.tsdb.retention.time=1y'
- '--web.console.libraries=/etc/prometheus/console_libraries'
- '--web.console.templates=/etc/prometheus/consoles'
- '--web.enable-lifecycle'
ports:
# Exposing Prometheus is NOT required, if you don't want to access it from outside the Docker network.
# Using localhost enables you to use a reverse proxy (e.g. with basic auth) to access Prometheus in a more secure way.
- 127.0.0.1:9090:9090
networks:
- monitoring
extra_hosts:
- "host.docker.internal:host-gateway"
grafana:
image: grafana/grafana:9.3.1
restart: always
# Configure the service to run as specific user.
# user: "1000:1000"
depends_on:
- prometheus
ports:
- 127.0.0.1:8082:3000
volumes:
- ./grafana_data:/var/lib/grafana
- ./grafana/provisioning/:/etc/grafana/provisioning/
env_file:
# changes to the grafana env file require a rebuild of the container.
- ./grafana/config.monitoring
networks:
- monitoring
certstream:
image: 0rickyy0/certstream-server-go:latest
restart: always
# Configure the service to run as specific user.
# user: "1000:1000"
ports:
- 127.0.0.1:8080:80
# Don't forget to open the other port in case you run the Prometheus endpoint on another port than the websocket server.
# - 127.0.0.1:8081:81
volumes:
- ./certstream/config.yml:/app/config.yml
networks:
- monitoring