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.
Это действительно открытый код?Нет, это исходный код в открытом доступе (source-available), а не open source: лицензия некоммерческая, и для коммерческого использования нужно разрешение от проекта.
Что умеет чат-ассистент SparkyAI?Это бета-функция в виде диалога: она позволяет записывать еду, упражнения, показатели тела и шаги просто в переписке, загружать фотографии еды для автоматического учёта приёмов пищи и хранит историю разговора, чтобы можно было задавать уточняющие вопросы.
С какими сервисами для здоровья и фитнеса он синхронизируется?Он интегрируется с Apple Health, Google Health Connect, Fitbit, Garmin Connect, Withings, Polar Flow, Oura, Hevy, Strava, Mealie, Tandoor, Wger, а также с несколькими базами данных о питании, например USDA и OpenFoodFacts.
Как устроен семейный доступ?SparkyFitness поддерживает несколько профилей пользователей с гибким семейным доступом на основе прав, что позволяет всей семье просматривать данные друг друга в одном месте.
Можно ли использовать свою LLM вместо фиксированного 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