SparkyFitness README

The project's README from github.com/CodeWithCJ/SparkyFitness. As one markdown file: README.md.

🌐 Language

SparkyFitness

A self-hosted, privacy-first alternative to MyFitnessPal, Flo, Hevy, Shotsy & more. Track nutrition, exercise, body metrics, and health data while keeping full control of your data. image

SparkyFitness is a self-hosted fitness tracking platform made up of:

It stores and manages health data on infrastructure you control, without relying on third party services.

Core Features

How SparkyFitness Compares

SparkyFitness is source-available, not open source — the license is non-commercial and requires permission for commercial use.

Most apps do one thing. One good nutrition app runs $40–$100 a year; covering everything SparkyFitness covers means three or four subscriptions, per person, and still no single report across them. SparkyFitness does it in one app, free, for the whole household.

US list prices, 14 Aug 2026. Full cost breakdown →

SparkyFitness wger MyFitnessPal Cronometer Hevy Zero Flo Garmin Connect Google Health
Self-hosted, your data stays yours ⭐ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
No subscription, no ads ✅ ✅ ❌ 🟡 🟡 ❌ ❌ ✅ 🟡
Nutrition, strength, sleep, fasting, cycle & meds in one place* ⭐ 🟡 🟡 🟡 ❌ ❌ ❌ 🟡 🟡
Full history & custom date-range reports ✅ free 🟡 💰 💰 💰 💰 💰 ✅ 💰
Wearable & health-platform sync ✅ 8+ services ❌ ✅ ⭐ ✅ 🟡 🟡 🟡 ✅
Family sharing with granular permissions ⭐ 7 permissions ❌ ❌ 🟡 ❌ ❌ ❌ 🟡 🟡
CSV import & free data export ✅ 🟡 💰 ✅ ✅ 🟡 🟡 🟡 ❌
MCP server + bring your own LLM ⭐ 🟡 ❌ ❌ ❌ ❌ ❌ ❌ ❌

⭐ standout  •  ✅ supported  •  🟡 partial  •  💰 paid tier only  •  ❌ not supported

* Sleep stages, HRV and blood glucose are imported from your watch, phone or meter. SparkyFitness stores, analyses and charts them rather than measuring them itself.

This table is written by the project being compared, so read it that way. Checked 14 Aug 2026 against official docs, repos and store listings; some of it is already out of date. If a cell is wrong or unfair to another project, open an issue — corrections that make SparkyFitness look worse are just as welcome.

See the full comparison → — 17 apps across self-hosted, nutrition, specialist and device-ecosystem categories, plus where each of them beats us.

Health & Device Integrations

SparkyFitness can sync data from multiple health and fitness platforms:

Integrations automatically sync activity data such as steps, workouts, and sleep, along with health metrics like weight and body measurements, to your SparkyFitness server.

Optional AI Features (Beta)

SparkyAI provides a conversational interface for logging data and reviewing progress.

Note: AI features are currently in beta.

Installation

Choose one of the two ways to run SparkyFitness:

1. Self-Hosted

Get a SparkyFitness server running in minutes using Docker Compose:

# 1. Create a new folder
mkdir sparkyfitness && cd sparkyfitness

# 2. Download docker-compose.yml
curl -L -o docker-compose.yml https://raw.githubusercontent.com/CodeWithCJ/SparkyFitness/main/docker/docker-compose.prod.yml

# 3. Set up your .env configuration (Choose one option):
# Option A (Recommended): Generate custom .env with 1-click secure keys in browser:
# 👉 https://codewithcj.github.io/SparkyFitness/install/env-generator

# Option B: Minimal template — 5 values, everything else uses the defaults
# docker-compose already applies. Fine for most self-hosted installs.
curl -L -o .env https://raw.githubusercontent.com/CodeWithCJ/SparkyFitness/main/docker/.env.simple.example

# Option C: Full reference — every supported variable, commented out with its
# default. Start here for SSO, SMTP, an external database or a reverse proxy.
# curl -L -o .env https://raw.githubusercontent.com/CodeWithCJ/SparkyFitness/main/docker/.env.example

# 4. Replace the placeholders (skip if you used Option A — the generator
# already filled these in). The server refuses to start while they are left
# as-is, and the database would otherwise initialize with a published password.
#   SPARKY_FITNESS_DB_PASSWORD        any strong password
#   SPARKY_FITNESS_API_ENCRYPTION_KEY openssl rand -hex 32     (64 hex chars)
#   BETTER_AUTH_SECRET                openssl rand -base64 32  (44 chars)
#   SPARKY_FITNESS_FRONTEND_URL       the URL you will open the app at

# 5. Start the app
docker compose pull && docker compose up -d

# Access application at http://localhost:3004

Note: For complete configuration options, reverse proxies, and alternative install methods, visit the Documentation Site.

2. Cloud (for non-technical users)

If you are not a technical user and prefer not to run SparkyFitness on your own server, you can deploy a hosted instance in the cloud using one of the following providers.

Run on PikaPods
Deploy with Zenith

Note: These are independent third-party services. We encourage you to explore features provided by each provider to determine the one that best fits your needs.

🎥 Video Tutorial

Watch the video

Quick 2-minute tutorial showing how to install SparkyFitness (self-hosted fitness tracker).

Documentation

For full installation guides, configuration options, and development docs, please visit our Documentation Site.

Need Help?

Star History

Star History Chart

Translations

Weblate Translations

Translation status

Translation status

Repository activity

Alt

Contributors

⚠️ Known Issues / Beta Features ⚠️

SparkyFitness is under active development. Breaking changes may occur between releases.

The following features are currently in beta and may not have been thoroughly tested. Expect potential bugs or incomplete functionality:

SparkyFitness (CodeWithCJ/SparkyFitness)

Searching Database…

这是什么东西?SparkyFitness 是一个面向家庭的自托管健身与健康追踪工具,涵盖营养、运动、饮水、睡眠、断食、情绪和身体测量等数据,而且所有数据都保存在你自己掌控的服务器上。
它是一个应用,还是需要运行好几个部分?它由三部分组成:负责 API 和数据存储的后端服务器、基于网页的前端,以及 iOS 和 Android 的原生手机应用。
我怎么把它跑起来?用 Docker Compose 几分钟就能完成自托管部署;如果你不太懂技术,也可以改用列表中任意一家第三方云服务商来部署托管实例。
自己托管一定要用 Docker 吗?是的,标准的自托管方案通过 Docker Compose 运行;官方文档网站上有完整的配置说明、反向代理设置以及其他安装方式。
哪些地方还不太完善?项目仍在积极开发中,版本之间可能有破坏性变更,因此不建议自动更新容器;AI Chatbot、Family & Friends 访问功能和 API 文档都被明确标注为测试版。
我的健康数据实际存在哪里?由于是自托管,你的数据保存在你自己掌控的服务器上,不会发给第三方服务器,即使从 Apple Health 或 Fitbit 这类服务同步数据也是如此。
它真的是开源软件吗?严格来说不是,它属于源码可见而非开源:许可证禁止商业使用,想商用必须获得项目方的许可。
SparkyAI 聊天助手能做什么?这是一个测试版对话功能,你可以通过聊天记录饮食、运动、身体数据和步数,还能上传食物照片自动记录一餐,并保留对话历史方便后续追问。
它可以和哪些健康健身服务同步?它支持接入 Apple Health、Google Health Connect、Fitbit、Garmin Connect、Withings、Polar Flow、Oura、Hevy、Strava、Mealie、Tandoor、Wger,以及 USDA 和 OpenFoodFacts 等多个营养数据库。
家庭共享是怎么运作的?SparkyFitness 支持多个用户档案,并提供基于权限的精细化家庭访问控制,让一家人在同一个系统里互相查看和跟踪彼此的数据。
我可以用自己的大模型,而不是固定的 AI 服务商吗?可以,SparkyFitness 内置了 MCP 服务器,你可以接入自己的 LLM,不必被单一 AI 服务商锁定。
What are similar projects?openGym, openGym, TREK, Termix, noop, taskview-community, appwrite, ente
Creator
CodeWithCJ
Size
130 MB
Stars
6.4K
Age
1y
Commits · 90 Days