Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4,982 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Note

GitHub Mirror - If you are viewing this on GitHub, please be aware that this repository is a read-only mirror. Issues, pull requests, and all project activity are tracked on Codeberg: https://codeberg.org/endurain-project/endurain

Note

Endurain is on a temporary feature freeze - The project is not paused. The focus is shifting from new features to strengthening the foundations. More details here

Endurain

Translation status License Release Stars Trademark Policy

A self-hosted fitness tracking service
Visit Endurain's Mastodon profile and Discord server.

Endurain Screenshot

🚀 Try the Demo

Experience Endurain without installation:

Demo URL: https://demo.endurain.com

  • Username: admin
  • Password: admin
  • Reset Schedule: Daily at midnight (Europe/Lisbon timezone)

⚠️ Note: The demo environment resets every day. Do not store important data.

Table of Contents

What is Endurain?

Endurain is a self-hosted fitness tracking service designed to give users full control over their data and hosting environment. It's similar to Strava but focused on privacy and customization. Built with:

  • Frontend: Vue.js 3 with TypeScript, Tailwind CSS and shadcn-vue components, with Pinia and TanStack Query for state management
  • Backend: Python FastAPI, Alembic, SQLAlchemy, Apprise, stravalib and python-garminconnect for Strava and Garmin Connect integration, gpxpy, tcxreader and fitdecode for .gpx, .tcx and .fit file import respectively
  • Database: PostgreSQL for efficient data management
  • Observability: Jaeger for basic tracing and monitoring
  • Integrations: Supports Strava and Garmin Connect. Manual upload of activities using .gpx, .tcx and .fit files are also supported

To deploy Endurain, a Docker image is available, and a comprehensive example can be found in the "docker-compose.yml.example" file provided. Configuration is facilitated through environment variables, ensuring flexibility and ease of customization.

For more information please see the Endurain's documentation.

Sponsors

A huge thank you to the project sponsors! Your support helps keep this project going.

Support Endurain's development on:

Contributing

Contributions are welcomed! Please open an issue to discuss any changes or improvements before submitting a PR. Check out the Contributing Guidelines for more details.

Help Translate

Endurain has multi-language support, and you can help translate it into more languages via Codeberg Translate.

License

This project is licensed under the AGPL-3.0 License - see the LICENSE file for details.

Trademark Notice

Endurain® is a trademark of João Vitória Silva.

You are welcome to self-host Endurain and use the name and logo, including for personal, educational, research, or community (non-commercial) use.
Commercial use of the Endurain name or logos (such as offering paid hosting, products, or services) is not permitted without prior written permission.

See TRADEMARK.md for full details.

Built with ❤️ from Portugal | Part of the Endurain ecosystem

About

Endurain is a self-hosted fitness tracking service designed to give users full control over their data and hosting environment

Resources

Code of conduct

Contributing

Security policy

Stars

2.1k stars

Watchers

8 watching

Forks

Sponsor this project

Used by

Contributors

Languages