diff --git a/dashboards/README.md b/dashboards/README.md index 802978a9f..a0307b68e 100644 --- a/dashboards/README.md +++ b/dashboards/README.md @@ -20,9 +20,13 @@ go func() { This exposes a metrics collection endpoint at http://localhost:5001/debug/metrics/prometheus. Note that this is the same endpoint that [Kubo](https://github.com/ipfs/kubo) uses, so if you want to gather metrics from Kubo, you can skip this step. -Dashboards can be inspected locally by running +On Linux, dashboards can be inspected locally by running: ```bash -docker-compose up +docker-compose -f docker-compose-linux.yml up +``` +On macOS: +```bash +docker-compose -f docker-compose-osx.yml up ``` and opening Grafana at http://localhost:3000. @@ -32,4 +36,4 @@ and opening Grafana at http://localhost:3000. The following section is only relevant for creators of dashboards. -Due to a bug in Grafana, it's not possible to provision dashboards shared for external use directly. We need to apply the workaround described in https://github.com/grafana/grafana/issues/10786#issuecomment-568788499 (adding the a few lines in the dashboard JSON file). +Due to a bug in Grafana, it's not possible to provision dashboards shared for external use directly. We need to apply the workaround described in https://github.com/grafana/grafana/issues/10786#issuecomment-568788499 (adding a few lines in the dashboard JSON file). diff --git a/dashboards/docker-compose-linux.yml b/dashboards/docker-compose-linux.yml new file mode 100644 index 000000000..3e016e5a6 --- /dev/null +++ b/dashboards/docker-compose-linux.yml @@ -0,0 +1,34 @@ +version: "3.7" +services: + prometheus: + image: prom/prometheus:latest + ports: + - "9090:9090" + volumes: + - ./prometheus.yml:/etc/prometheus/prometheus.yml + network_mode: "host" + extra_hosts: # define a host.docker.internal alias, so we can use the same datasources.yml and prometheus.yml on Linux and OSX + - "host.docker.internal:127.0.0.1" + grafana: + image: grafana/grafana:latest + depends_on: + - prometheus + ports: + - "3000:3000" + network_mode: "host" + extra_hosts: # define a host.docker.internal alias, so we can use the same datasources.yml and prometheus.yml on Linux and OSX + - "host.docker.internal:127.0.0.1" + environment: + - GF_AUTH_DISABLE_LOGIN_FORM=true + - GF_AUTH_ANONYMOUS_ENABLED=true + - GF_AUTH_ANONYMOUS_ORG_ROLE=Admin + volumes: + - ./dashboard.yml:/etc/grafana/provisioning/dashboards/main.yml + - ./datasources.yml:/etc/grafana/provisioning/datasources/prom.yml + - ./autonat/autonat.json:/var/lib/grafana/dashboards/autonat.json + - ./autorelay/autorelay.json:/var/lib/grafana/dashboards/autorelay.json + - ./eventbus/eventbus.json:/var/lib/grafana/dashboards/eventbus.json + - ./holepunch/holepunch.json:/var/lib/grafana/dashboards/holepunch.json + - ./identify/identify.json:/var/lib/grafana/dashboards/identify.json + - ./relaysvc/relaysvc.json:/var/lib/grafana/dashboards/relaysvc.json + - ./swarm/swarm.json:/var/lib/grafana/dashboards/swarm.json diff --git a/dashboards/docker-compose.yml b/dashboards/docker-compose-osx.yml similarity index 100% rename from dashboards/docker-compose.yml rename to dashboards/docker-compose-osx.yml