Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Grafana Dashboarder

One place for ready-made, plug-n-play Grafana dashboards. Every dashboard lives in its own folder with the queries, the data collector it needs, its alert rules and a README that tells you exactly which datasource to create. Pick the folder for your hardware, run one script, done.

The point of this repo is consolidation. Dashboards for single-board computers, power stations, smart-home sensors and self-hosted services tend to end up scattered across gists, forum posts and one-off repos. Here they share a layout, a naming convention and a single provisioning script — so adding the fifth dashboard costs you the same five minutes as the first.


Dashboard catalog

Dashboard Hardware Data source Alerts Location
Pironman 5 SunFounder Pironman 5 case InfluxDB (pironman5) via SunFounder pm_dashboard separate repo
Raspberry Pi 5 Power Raspberry Pi 5 InfluxDB (rpi_power) via the bundled collector in this repo
Anker Solix C300X Anker Solix C300X power station InfluxDB (homeassistant) via Home Assistant 4 rules in this repo

Pironman 5 is intentionally not duplicated here. It is maintained in its own repository, fxerkan/pironman_grafana_dashboard, and this repo links to it rather than copying the JSON so there is exactly one source of truth. The dashboards/pironman-5/ folder carries the manifest, the setup notes and the links.

Want to add yours? See CONTRIBUTING.md — the folder layout is fixed and CI checks it for you.

Raspberry Pi 5 Power

Raspberry Pi 5 Power dashboard

Anker Solix C300X

Anker Solix C300X dashboard

Pironman 5

Pironman 5 Business dashboard

Screenshots are of live instances, not mockups.


Quick start

1. Clone

git clone https://github.com/fxerkan/grafana-dashboarder.git
cd grafana-dashboarder

2. Read the dashboard's own README

Each folder documents the data it expects, because a dashboard is only half the story — the collector or integration that fills the database is the other half:

3. Provision

The provisioning script creates the datasources, imports the dashboards and writes the alert rules over Grafana's HTTP API. It is idempotent — run it as often as you like.

# everything
GRAFANA_URL=http://localhost:3000 \
GRAFANA_AUTH='admin:your-password' \
INFLUX_URL=http://localhost:8086 \
  scripts/provision.sh

# or just one dashboard
scripts/provision.sh raspberry-pi-5-power

Prefer a service account token over the admin password:

GRAFANA_TOKEN=glsa_xxxxxxxx scripts/provision.sh
All provisioning options
Variable Default Purpose
GRAFANA_URL http://localhost:3000 Grafana base URL
GRAFANA_AUTH admin:admin Basic auth, user:password
GRAFANA_TOKEN Service account token; takes precedence over GRAFANA_AUTH
INFLUX_URL http://localhost:8086 URL baked into the datasources it creates
INFLUX_USER / INFLUX_PASS InfluxDB credentials, if your instance requires them
SKIP_DATASOURCES Set to 1 to leave datasources alone
SKIP_ALERTS Set to 1 to skip alert rules
GRAFANA_ALERT_RECEIVER Pin imported alert rules to this contact point instead of the default notification policy

No credential is ever stored in this repo. Pass them in the environment.

Prefer clicking to scripting?

Grafana → Dashboards → New → Import → Upload JSON file, then pick the folder's dashboard.json. You will be asked to map the datasource. If your existing InfluxDB datasource has a different UID than the dashboard expects, rewrite it first:

# what does it expect?
scripts/retarget-datasource.py dashboards/raspberry-pi-5-power/dashboard.json --list
# rpi-power-influx

# point it at the datasource you already have
scripts/retarget-datasource.py dashboards/raspberry-pi-5-power/dashboard.json \
    --map rpi-power-influx=P1234567890ABCDEF -o /tmp/rpi5.json

How a dashboard folder is organized

dashboards/<slug>/
├── README.md            # what it shows, what it needs, how to install it
├── manifest.json        # machine-readable: datasources, variants, alerts, plugins
├── dashboard.json       # the dashboard itself (or several variants)
├── alerts.json          # optional Grafana unified-alerting rules
└── collector/           # optional agent that produces the data

manifest.json is the contract. It declares which datasource UIDs the dashboard needs, which Grafana plugins must be installed, which folder the dashboard belongs in and which variants exist. scripts/provision.sh reads it, and scripts/validate.py enforces that the JSON actually matches what the manifest promises.

Variants, for different kinds of users

Where a device warrants it, a dashboard ships in more than one flavour — the convention comes from the Pironman 5 dashboards:

Variant For
Simple Read-only sensor readings. Nothing to configure, nothing to break.
Advanced Variables, drill-down panels, log panels, REST-API control buttons.
Business Advanced plus Business Variable sliders and dropdowns — the friendliest option on a phone or tablet.

Dashboards with a single variant just ship dashboard.json. See docs/conventions.md for the full rules.


Requirements

  • Grafana 10 or newer (11.x recommended — the alert rules use unified alerting)
  • InfluxDB 1.8+ with the InfluxQL query language. Every dashboard here queries InfluxQL, not Flux — see docs/datasources.md if you are on InfluxDB 2.x/3.x
  • Per-dashboard extras (a collector, a Home Assistant integration, a Grafana plugin) are listed in each folder's README and in its manifest.json

Validate before you import

python3 scripts/validate.py

Checks every folder: manifests parse, dashboard UIDs and titles match the manifest, no stray numeric id that would collide on import, and no dashboard or alert rule references a datasource the manifest forgot to declare. CI runs this on every push.


Documentation


Related projects

License

MIT — use them, fork them, ship them.

About

Consolidated, plug-n-play Grafana dashboards — one folder per device, each with its data collector, alert rules and setup guide. Raspberry Pi 5 power, Anker Solix C300X, Pironman 5 and more.

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages