Fitbit Health Dashboard
Self-hosted fitness & health tracking tool that provides script for FitBit data retrieval, storage, and visualization.
Overview
A script to fetch data from Fitbit servers using their API and store the data in a local influxdb database and visualize them with Grafana A script to fetch data from Fitbit servers using their API and store the data in a local influxdb database and visualize them with Grafana - arpanghosh8453/fitbit-grafana The project has 838 GitHub stars and is licensed under BSD-4-Clause.
Key Features
Source: GitHub README
- Automatic data collection from Fitbit API
- Support for both InfluxDB 1.x and 2.x (limited support for 2.x)
- Collects comprehensive health metrics including:
- Heart Rate Data (including intraday)
- Hourly steps Heatmap
- Daily Step Count
- Sleep Data and patterns
- Sleep regularity heatmap
- Breathing Rate
- Activity Minutes
Getting Started
Source: GitHub README
services:
fitbit-fetch-data:
restart: unless-stopped
image: thisisarpanghosh/fitbit-fetch-data:latest
container_name: fitbit-fetch-data
volumes:
- ./logs:/app/logs
- ./tokens:/app/tokens
- /etc/timezone:/etc/timezone:ro
environment:
- FITBIT_LOG_FILE_PATH=/app/logs/fitbit.log
- TOKEN_FILE_PATH=/app/tokens/fitbit.token
- AUTO_DATE_RANGE=True # Used for bulk update, read Historical Data Update section in README
- INFLUXDB_VERSION=1
- INFLUXDB_HOST=influxdb
- INFLUXDB_PORT=8086
- INFLUXDB_USERNAME=fitbit_user
- INFLUXDB_PASSWORD=fitbit_password
- INFLUXDB_DATABASE=FitbitHealthStats
- CLIENT_ID=your_application_client_ID # Change this to your client ID
- CLIENT_SECRET=your_application_client_secret # Change this to your client Secret
- DEVICENAME=Your_Device_Name # Change this to your device name - e.g. "Charge5" without quotes
- LOCAL_TIMEZONE=Automatic
depends_on:
- influxdb
influxdb:
restart: unless-stopped
container_name: influxdb
hostname: influxdb
environment:
- INFLUXDB_DB=FitbitHealthStats
- INFLUXDB_USER=fitbit_user
- INFLUXDB_USER_PASSWORD=fitbit_password
- INFLUXDB_DATA_INDEX_VERSION=tsi1
###############################################################################
# The following ENV variables are applicable for InfluxDB V3 - No effect for V1
###############################################################################
# - INFLUXDB3_MAX_HTTP_REQUEST_SIZE=10485760
# - INFLUXDB3_NODE_IDENTIFIER_PREFIX=Influxdb-node1
# - INFLUXDB3_BUCKET=GarminStats
# - INFLUXDB3_OBJECT_STORE=file
# - INFLUXDB3_DB_DIR=/data
# - INFLUXDB3_QUERY_FILE_LIMIT=5000 # this set to be a very high value if you want to view long term data
ports:
- '8086:8086' # Influxdb V3 should map as "8181:8181" (Change INFLUXDB_PORT to 8181 on fitbit-fetch-data appropriately for InfluxDB V3)
volumes:
- ./influxdb:/var/lib/influxdb # InfluxDB V3 bind mount should be set like - ./influxdb:/data if you set INFLUXDB3_DB_DIR=/data (instead of /var/lib/influxdb)
image: 'influxdb:1.11' # You must change this to 'quay.io/influxdb/influxdb3-core:latest' for influxdb V3
grafana:
restart: unless-stopped
container_name: grafana
hostname: grafana
environment:
- GF_SECURITY_ADMIN_USER=admin
- GF_SECURITY_ADMIN_PASSWORD=admin
- GF_PLUGINS_PREINSTALL=marcusolsson-hourly-heatmap-panel
volumes:
- './grafana:/var/lib/grafana'
ports:
- '3000:3000'
image: 'grafana/grafana:latest'
Normalized Features
Source: tool-features-normalized.json
docker, docker compose, influxdb, metrics, plugins, rate limiting, rest api, sso.
Deploy
Features
Authentication & Access
- Single Sign-On (SSO)
Integrations & APIs
- Plugin / Extension System
- REST API
Analytics & Reporting
- Metrics & KPIs
Security & Privacy
- Rate Limiting
Replaces
Related Health & Lifestyle Tools
View all 53 →Monica
24KPersonal CRM for tracking interactions with friends, family, and contacts with relationship management tools.
Habitica
14KHabitica is a self-hosted habit & personal tracking tool with support for Habit Tracking, Tracking.
Mealie
12KMealie handles material design inspired recipe manager as a self-hosted solution.
Tandoor Recipes
8.1KTandoor Recipes handles manage recipes, plan meals, build shopping lists, and much much more as a self-hosted solution.
Workout.cool
7.1KWorkout.cool lets you run modern fitness coaching platform entirely on your own server.
wger
5.8KReleased under AGPL-3.0, wger provides web-based personal workout on self-hosted infrastructure.