garmin-grafana
A Dockerized python Script to fetch Garmin health data and populate that in a InfluxDB Database, for visualization long term health trends with Grafana
What is garmin-grafana?
A Dockerized python Script to fetch Garmin health data and populate that in a InfluxDB Database, for visualization long term health trends with Grafana
Overview of garmin-grafana
What it is
A Dockerized Python script that fetches health data from Garmin Connect servers and stores it in a local InfluxDB database, enabling visualization of long-term health trends with Grafana. The project is open-source and self-hosted, providing a private backup of Garmin data.
Key features
- Automatic data collection from Garmin at regular intervals (set and forget)
- Collects comprehensive health metrics including heart rate, steps, sleep data (SpO2, breathing rate, HRV), stress, body battery, calories, activity minutes, HR zones, GPS data from workouts, and more
- Supports historical data backfilling (bulk update of old data)
- Provides a pre-configured Grafana dashboard (Garmin-Stats) for visualization
- Fully open-source (BSD-3-Clause license) with no third-party data sharing
Use cases
- Personal health and fitness data tracking over long periods
- Combining multiple metrics on a single Grafana panel for deeper insights
- Exporting data for advanced analysis (Python, Excel) or setting custom alerts
- Maintaining a complete, private local backup of Garmin Connect data
Getting started
Clone the repository and run the easy-install script (requires Linux or WSL on Windows):bashcd ~ && git clone https://github.com/arpanghosh8453/garmin-grafana.git garmin-grafanacd garmin-grafana && sudo bash ./easy-install.shEnter Garmin Connect credentials when prompted. After setup, access Grafana at http://localhost:3000 with default credentials admin/admin. The dashboard Garmin-Stats will be auto-configured.
License and pricing
Licensed under BSD-3-Clause. The project is open-source and free to use, modify, and distribute with attribution.
Based on the project's public README and repository metadata.