Repolode
endurain-project

endurain-project/endurain

A self-hosted fitness tracking service for syncing and analyzing activities from Strava, Garmin Connect, and GPX/TCX/FIT files, with data kept on your own server.

Open-source alternative to:Strava

Stars
2,300
Forks
144
Open issues
176
Last commit
23 hours ago

What is it?

Endurain is a self-hosted fitness tracking service that lets users keep their activity data and hosting environment under their own control. It is positioned as a privacy-focused alternative to Strava, with customization as a priority.

The backend is built on Python FastAPI with PostgreSQL as the database, and the frontend uses Vue.js 3 with TypeScript and Tailwind CSS. Activities can be pulled in from Strava and Garmin Connect, or uploaded manually as .gpx, .tcx, or .fit files. Deployment uses a Docker image with a sample docker-compose.yml, and configuration is handled through environment variables.

The project is licensed under AGPL-3.0 and offers a public demo at demo.endurain.com, which resets daily. The maintainers have announced a temporary feature freeze to focus on strengthening the core.

Key features

  • 01Syncs activities from Strava and Garmin Connect.
  • 02Imports manually uploaded .gpx, .tcx, and .fit files.
  • 03Runs as a self-hosted service with PostgreSQL storage.
  • 04Deploys via a Docker image and docker-compose example.
  • 05Configurable through environment variables.

Use cases

  • Keeping workout history on your own server instead of a commercial platform.
  • Consolidating activities from Garmin devices and Strava in one place.
  • Importing exported GPX, TCX, or FIT files from other devices.

Quick start

  1. 1

    Get the Docker image and use the docker-compose.yml.example file in the repository as a deployment template

  2. 2

    Configure the service through environment variables, then see the official documentation for details

Things to know

  • The project is under a temporary feature freeze, with focus shifting to strengthening the foundations.
  • It is self-hosted and requires you to run and maintain your own server and PostgreSQL database.
  • It is licensed under AGPL-3.0, a copyleft license that requires derivative works to share source code under the same terms.
  • The Endurain name and logo are trademarked, and commercial use such as paid hosting requires prior written permission.

Topics

FAQ

What is endurain?
A self-hosted fitness tracking service for syncing and analyzing activities from Strava, Garmin Connect, and GPX/TCX/FIT files, with data kept on your own server. Endurain is a self-hosted fitness tracking service that lets users keep their activity data and hosting environment under their own control. It is positioned as a privacy-focused alternative to Strava, with customization as a priority.
Is endurain free to use? What license does it have?
endurain is open source under the AGPL-3.0 license. Check the license terms before using it in commercial products.
Is endurain still maintained?
Actively maintained. The last commit to endurain was on Oct 19, 2026.
What can I use endurain for?
Keeping workout history on your own server instead of a commercial platform. Consolidating activities from Garmin devices and Strava in one place. Importing exported GPX, TCX, or FIT files from other devices.
How do I install endurain?
Get the Docker image and use the docker-compose.yml.example file in the repository as a deployment template Configure the service through environment variables, then see the official documentation for details
Where can I get endurain?
The source code and installation instructions are on GitHub: https://github.com/endurain-project/endurain

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

Related projects