Repolode
TraceApps

TraceApps/nutritrace

A self-hosted personal nutrition and calorie tracker, run as a single Docker container with a PWA and an Android app.

Open-source alternative to:MyFitnessPal

Stars
370
Forks
46
Open issues
33
Last commit
yesterday

What is it?

NutriTrace is a personal food diary and calorie and macro tracker that you host yourself. The server runs as one Docker container, and you use it through a browser PWA or a native Android app. It has no accounts with external services and no telemetry, and data stays on your own hardware unless you enable a third-party integration.

The app covers daily food logging with configurable meal slots, a personal food database, and recipes. Goals can be fixed, dynamic, or adaptive, with adaptive TDEE estimates. Food data can come from Open Food Facts (including an optional local Parquet mirror) or USDA FoodData Central. Wellness data can be pulled from Fitbit, Withings, Garmin, and Health Connect. Multi-user setups support OIDC single sign-on with providers such as Authentik, Keycloak, and Authelia.

The browser app keeps your diary and settings available offline and syncs changes when the connection returns. An optional AI assistant and an MCP server can read your diary and, if explicitly enabled, write entries. The project is AGPL-3.0 licensed and includes migration imports from MyFitnessPal, Lose It, Cronometer, and Waistline.

Key features

  • 01Daily food diary with configurable meal slots and macro breakdowns
  • 02Personal food database and recipes, with Open Food Facts and USDA lookups
  • 03Fixed, dynamic, and adaptive calorie goals
  • 04Wellness integrations with Fitbit, Withings, Garmin, and Health Connect
  • 05OIDC single sign-on and multi-user support
  • 06Offline browser mode with sync when reconnected

Use cases

  • Tracking calories and macros privately on a home server or NAS
  • Running a family or small-group nutrition tracker behind existing SSO
  • Replacing a cloud calorie-counting app while keeping data on your own network
  • Importing an existing diary from MyFitnessPal or Cronometer

Quick start

  1. 1

    Save the docker-compose.yml from the README with your JWT secret set

  2. 2

    Generate a JWT secret

    openssl rand -base64 48
  3. 3

    Start the container

    docker compose up -d
  4. 4

    Open http://localhost:3001 and finish the first-run wizard

Things to know

  • The iOS app is not available yet.
  • Some features such as Open Food Facts, USDA and wellness lookups need an internet connection and some need API keys.

In collections

Topics

#nutrition-tracker#self-hosted#calorie-counter#health#docker#pwa#android#oidc#capacitor#fitbit

FAQ

What is nutritrace?
A self-hosted personal nutrition and calorie tracker, run as a single Docker container with a PWA and an Android app. NutriTrace is a personal food diary and calorie and macro tracker that you host yourself. The server runs as one Docker container, and you use it through a browser PWA or a native Android app. It has no accounts with external services and no telemetry, and data stays on your own hardware unless you enable a third-party integration.
Is nutritrace free to use? What license does it have?
nutritrace is open source under the AGPL-3.0 license. Check the license terms before using it in commercial products.
Is nutritrace still maintained?
Actively maintained. The last commit to nutritrace was on Nov 6, 2026.
What can I use nutritrace for?
Tracking calories and macros privately on a home server or NAS Running a family or small-group nutrition tracker behind existing SSO Replacing a cloud calorie-counting app while keeping data on your own network Importing an existing diary from MyFitnessPal or Cronometer
How do I install nutritrace?
Save the docker-compose.yml from the README with your JWT secret set Generate a JWT secret: openssl rand -base64 48 Start the container: docker compose up -d Open http://localhost:3001 and finish the first-run wizard
Where can I get nutritrace?
The source code and installation instructions are on GitHub: https://github.com/TraceApps/nutritrace

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

Related projects