# Demo overlay: Prometheus scrapes the coordinator's /metrics, Grafana shows the # provisioned SciMesh dashboard. Merged by scripts/demo-ui.sh with a third -f. # Both share the coordinator's compose network, so Prometheus reaches it by name. services: prometheus: image: prom/prometheus:v2.54.1 volumes: - ./monitoring/prometheus.yml:/etc/prometheus/prometheus.yml:ro ports: - "${PROMETHEUS_PORT:-19090}:9090" restart: unless-stopped grafana: image: grafana/grafana:11.2.0 depends_on: - prometheus environment: GF_SECURITY_ADMIN_USER: admin GF_SECURITY_ADMIN_PASSWORD: ${GRAFANA_PASSWORD:-admin} # Anonymous viewing so the demo dashboard opens without a login. GF_AUTH_ANONYMOUS_ENABLED: "true" GF_AUTH_ANONYMOUS_ORG_ROLE: Viewer GF_USERS_DEFAULT_THEME: dark volumes: - ./monitoring/grafana/provisioning:/etc/grafana/provisioning:ro - ./monitoring/grafana/dashboards:/var/lib/grafana/dashboards:ro ports: - "${GRAFANA_PORT:-13000}:3000" restart: unless-stopped