Repolode
CodeWithCJ

CodeWithCJ/SparkyFitness

A self-hosted fitness and health tracker for food, exercise, water, sleep and body metrics, with family profiles and device sync.

Open-source alternative to:MyFitnessPalCronometerHevy

Stars
6,462
Forks
436
Open issues
186
Last commit
4 hours ago

What is it?

SparkyFitness is a self-hosted fitness tracking platform made up of a backend API and data store, a web frontend, and native iOS and Android apps. Health data is stored on infrastructure the user controls rather than third-party services.

It covers nutrition, exercise, hydration, sleep, fasting, mood and body measurements, with goal setting, daily check-ins, interactive charts and long-term reports. Multiple user profiles and family access are supported, along with OIDC, TOTP, passkey and MFA sign-in options.

Integrations can pull steps, workouts, sleep and weight from services such as Apple Health, Health Connect, Fitbit, Garmin Connect, Withings and Oura, and look up foods in databases such as OpenFoodFacts and USDA. An optional beta AI assistant lets users log meals and activity through chat or food photos.

Key features

  • 01Tracks nutrition, exercise, hydration, sleep, fasting, mood and body measurements.
  • 02Syncs data from wearables and health platforms such as Apple Health, Fitbit and Garmin Connect.
  • 03Supports multiple user profiles and family access.
  • 04Offers OIDC, TOTP, passkey and MFA sign-in.
  • 05Provides interactive charts and long-term reports.
  • 06Includes an optional beta AI chat for logging data.

Use cases

  • Keeping diet and workout logs for a household without paid subscriptions.
  • Hosting personal health data on a home server or private cloud.
  • Centralizing data from several wearables and food databases in one place.

Quick start

  1. 1

    Create a project folder

    mkdir sparkyfitness && cd sparkyfitness
  2. 2

    Download docker-compose.yml

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

    Fill in the .env file with secure keys (use the env generator or replace the placeholders)

  4. 4

    Start the app and open it at http://localhost:3004

    docker compose pull && docker compose up -d

Things to know

  • SparkyFitness is source-available rather than open source, with a non-commercial license that requires permission for commercial use.
  • Breaking changes may occur between releases, and auto-updating containers is not recommended.
  • AI features, family access and API documentation are in beta and may contain bugs.

In collections

Topics

FAQ

What is SparkyFitness?
A self-hosted fitness and health tracker for food, exercise, water, sleep and body metrics, with family profiles and device sync. SparkyFitness is a self-hosted fitness tracking platform made up of a backend API and data store, a web frontend, and native iOS and Android apps. Health data is stored on infrastructure the user controls rather than third-party services.
Is SparkyFitness free to use? What license does it have?
SparkyFitness is open source under the Other license. Check the license terms before using it in commercial products.
Is SparkyFitness still maintained?
Actively maintained. The last commit to SparkyFitness was on Oct 24, 2026.
What can I use SparkyFitness for?
Keeping diet and workout logs for a household without paid subscriptions. Hosting personal health data on a home server or private cloud. Centralizing data from several wearables and food databases in one place.
How do I install SparkyFitness?
Create a project folder: mkdir sparkyfitness && cd sparkyfitness Download docker-compose.yml: curl -L -o docker-compose.yml https://raw.githubusercontent.com/CodeWithCJ/SparkyFitness/main/docker/docker-compose.prod.yml Fill in the .env file with secure keys (use the env generator or replace the placeholders) Start the app and open it at http://localhost:3004: docker compose pull && docker compose up -d
Where can I get SparkyFitness?
The source code and installation instructions are on GitHub: https://github.com/CodeWithCJ/SparkyFitness

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects