Repolode
jovandeginste

jovandeginste/workout-tracker

Self-hosted web app for tracking runs and other GPX-based workouts, with maps, statistics and daily measurements.

Open-source alternative to:Strava

Stars
1,251
Forks
56
Open issues
43
Last commit
6 days ago

What is it?

Workout Tracker is a self-hosted web application for personal use, or for a family or group of friends, focused on running and other GPX-based activities. You upload GPX, TCX or FIT files, and the app parses each one to calculate statistics and store them in its database. Workouts can also be created manually for activities such as weight lifting, push-ups or swimming.

The interface shows a zoomable map of each track with per-kilometer breakdowns, elevation-colored routes and graphs of speed and elevation, with heart rate and cadence graphs when the data is present. Users can define route segments to track progress, log equipment, record daily measurements such as weight and steps, and view a heatmap of where they have been. Workouts can also be imported automatically through an API, including an export path from the FitoTrack app.

The app runs as a single Go binary or in Docker, with SQLite by default and Postgres supported through Docker Compose. It is multi-user, with admin approval for new accounts, and provides an API documented with Swagger.

Key features

  • 01Upload GPX, TCX or FIT workout files, or create workouts manually
  • 02Interactive maps of tracks with per-kilometer breakdowns and elevation coloring
  • 03Route segments that detect matching workouts to track progress
  • 04Daily measurements such as weight and steps, used to estimate calories
  • 05Statistics graphs and a heatmap of visited locations
  • 06Runs as a single binary or in Docker, with SQLite or Postgres

Use cases

  • Keeping a private record of runs and cycling routes without a subscription service
  • Sharing a self-hosted tracker among family members or a running group
  • Comparing repeated segments to follow pace improvements over time
  • Importing automatic GPX exports from a phone fitness app

Quick start

  1. 1

    Run the latest Docker image

    docker run -p 8080:8080 -v .:/data ghcr.io/jovandeginste/workout-tracker:latest
  2. 2

    Open the app in your browser

Things to know

  • Default admin password is 'admin' and must be changed in production.
  • License is listed as NOASSERTION in metadata, though the README mentions MIT.

In collections

Topics

#fitness-tracker#gpx#self-hosted#running#workouts#go#leaflet#docker#tailwindcss#workout-tracker

FAQ

What is workout-tracker?
Self-hosted web app for tracking runs and other GPX-based workouts, with maps, statistics and daily measurements. Workout Tracker is a self-hosted web application for personal use, or for a family or group of friends, focused on running and other GPX-based activities. You upload GPX, TCX or FIT files, and the app parses each one to calculate statistics and store them in its database. Workouts can also be created manually for activities such as weight lifting, push-ups or swimming.
Is workout-tracker free to use? What license does it have?
workout-tracker is open source under the Other license. Check the license terms before using it in commercial products.
Is workout-tracker still maintained?
Actively maintained. The last commit to workout-tracker was on Nov 1, 2026.
What can I use workout-tracker for?
Keeping a private record of runs and cycling routes without a subscription service Sharing a self-hosted tracker among family members or a running group Comparing repeated segments to follow pace improvements over time Importing automatic GPX exports from a phone fitness app
How do I install workout-tracker?
Run the latest Docker image: docker run -p 8080:8080 -v .:/data ghcr.io/jovandeginste/workout-tracker:latest Open the app in your browser
Where can I get workout-tracker?
The source code and installation instructions are on GitHub: https://github.com/jovandeginste/workout-tracker

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

Related projects

A self-hosted tracker for media consumption (books, shows, games) and fitness workouts, with data kept on your own server.

Productivity & Apps#self-hosted#media-tracking#fitness-tracker
3.7K+8 this week145TypeScriptGPL-3.0Well maintainedUpdated 3 days ago