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.

Add this badge to your README

Featured on YunoDB Badge styles & help

Maintain this project? Show that it is featured on YunoDB.

Markdown[![Featured on YunoDB](https://yunodb.com/badge/arpanghosh8453garmin-grafana.svg)](https://yunodb.com/tools/arpanghosh8453garmin-grafana?utm_source=github&utm_medium=badge)
HTML<a href="https://yunodb.com/tools/arpanghosh8453garmin-grafana?utm_source=github&utm_medium=badge"><img src="https://yunodb.com/badge/arpanghosh8453garmin-grafana.svg" alt="Featured on YunoDB" height="20"></a>