-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
58 lines (55 loc) · 1.91 KB
/
docker-compose.yml
File metadata and controls
58 lines (55 loc) · 1.91 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
# Prometheus + Grafana for local/staging observability for spectral-mesh and spectral-edge.
#
# 1. On the host, run the sensor with metrics (same port Prometheus scrapes):
# sudo ./spectral-mesh -metrics-addr :9090
#
# Optional — network edge inspector (scraped on :8080 by default; use -listen if you change the port):
# ./spectral-edge -listen :8080
#
# 2. From this directory:
# docker compose up -d
#
# 3. UIs:
# Grafana: http://localhost:3000 (default login admin / admin — change on first login)
# Prometheus: http://localhost:9091
#
# Prometheus reaches the host via host.docker.internal (see extra_hosts).
#
# Fedora / enforcing SELinux: bind mounts need a context label or the container
# cannot read prometheus.yml (Prometheus logs: permission denied on config file).
# The ",Z" suffix relabels the mount for private container use (see podman-run(1)).
services:
prometheus:
image: prom/prometheus:v2.55.1
container_name: spectral-mesh-prometheus
extra_hosts:
- host.docker.internal:host-gateway
volumes:
- ./prometheus:/etc/prometheus:ro,Z
- prometheus-data:/prometheus
command:
- --config.file=/etc/prometheus/prometheus.yml
- --storage.tsdb.path=/prometheus
- --web.enable-lifecycle
ports:
# Host 9091 → avoid conflict with spectral-mesh on host :9090
- "9091:9090"
grafana:
image: grafana/grafana:11.4.0
container_name: spectral-mesh-grafana
environment:
GF_SECURITY_ADMIN_USER: admin
GF_SECURITY_ADMIN_PASSWORD: ${GRAFANA_ADMIN_PASSWORD:-admin}
GF_USERS_DEFAULT_THEME: dark
GF_SERVER_ROOT_URL: http://localhost:3000
volumes:
- ./grafana/provisioning:/etc/grafana/provisioning:ro,Z
- ./grafana/dashboards:/var/lib/grafana/dashboards:ro,Z
- grafana-data:/var/lib/grafana
ports:
- "3000:3000"
depends_on:
- prometheus
volumes:
prometheus-data:
grafana-data: