Endurain
Endurain is a self-hosted fitness tracking service designed to give users full control over their data and hosting environment
Install / Use
/learn @endurain-project/EndurainREADME
Endurain
<a title="Crowdin" target="_blank" href="https://crowdin.com/project/endurain"><img src="https://badges.crowdin.net/endurain/localized.svg"></a>
A self-hosted fitness tracking service
Visit Endurain's Mastodon profile and Discord server.
🚀 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
- Endurain documentation
- What is Endurain?
- Endurain screenshots
- Sponsors
- Contributing
- Help Translate
- License
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, Notivue and Bootstrap CSS
- 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.
Consider sponsoring Endurain on GitHub to ensure continuous development.
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 Crowdin.
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.
Related Skills
diffs
341.6kUse the diffs tool to produce real, shareable diffs (viewer URL, file artifact, or both) instead of manual edit summaries.
clearshot
Structured screenshot analysis for UI implementation and critique. Analyzes every UI screenshot with a 5×5 spatial grid, full element inventory, and design system extraction — facts and taste together, every time. Escalates to full implementation blueprint when building. Trigger on any digital interface image file (png, jpg, gif, webp — websites, apps, dashboards, mockups, wireframes) or commands like 'analyse this screenshot,' 'rebuild this,' 'match this design,' 'clone this.' Skip for non-UI images (photos, memes, charts) unless the user explicitly wants to build a UI from them. Does NOT trigger on HTML source code, CSS, SVGs, or any code pasted as text.
openpencil
1.9kThe world's first open-source AI-native vector design tool and the first to feature concurrent Agent Teams. Design-as-Code. Turn prompts into UI directly on the live canvas. A modern alternative to Pencil.
HappyColorBlend
HappyColorBlendVibe Project Guidelines Project Overview HappyColorBlendVibe is a Figma plugin for color palette generation with advanced tint/shade blending capabilities. It allows designers to
