Endurain
Fitness tracking, Open Source, Self-Hosted
João Vitória Silva



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.
Features:
- Seamless Activity Tracking - Import workouts via manual entry, bulk upload (.gpx and .fit files), or sync automatically with Strava and Garmin Connect
- Complete Gear Management - Monitor usage and performance of your shoes, bicycles, wetsuits, and more
- Personalized Dashboard - View your activity feeds, weekly/monthly statistics, and progress at a glance
- Social Connection - Follow friends, share achievements, and build your fitness community
- Customizable Experience - Enjoy multi-language support, dark/light themes, and interfaces that adapt to admin or user roles
- Comprehensive Health Tracking - Sync body composition data and log weight measurements
- Privacy Controls - Manage who sees your activities with flexible privacy settings
- Third-Party Integration - Connect with your favorite fitness apps for a unified experience
⚠️ Warning: Your user sessions will be deleted on upgrade. Users will have to authenticate again.
Bug fixes and improvements:
- Fixed birthdate year extraction in heart rate calculation
- Fixed unit conversion returning strings instead of numbers when imperial units are selected
- Added missing translations
Full release notes can be found at https://github.com/joaovitoriasilva/endurain/releases
⚠️ Warning: Your user sessions will be deleted on upgrade. Users will have to authenticate again.
New features and improvements:
- Swedish language support
- PKCE support for mobile authentication
- Enhanced security with HMAC-SHA256 for token reuse detection
- New filtering capabilities for user goals
- Encrypted storage for tile server API keys
- Admins can now change email verification and approval status for users
- Improved identity provider user synchronization
Bug fixes:
- Fixed refresh button not working
- Fixed issues with SSO login
- Fixed directory permissions during initialization
Full release notes can be found at https://github.com/joaovitoriasilva/endurain/releases
⚠️ Warning: RunnerUp integration is broken since v0.16.4. If you use it, refrain from updating until further notice.
New features and improvements:
- Secure one-time tokens for identity provider account linking
- Dynamic tile domain support for custom map servers
Bug fixes:
- Fixed issue with identity provider link and login
- Fixed unable to change server settings
Full release notes can be found at https://github.com/joaovitoriasilva/endurain/releases
⚠️ Warning: RunnerUp integration is broken since v0.16.4. If you use it, refrain from updating until further notice.
New features and improvements:
- Markdown support for activity notes
- HIIT activity type support
- Configurable log level support
- Server-configurable password policy options
- Server-configurable map tile server
- Added authentication to websocket connections
Bug fixes:
- Fixed carousel ID conflicts in activity maps
- Fixed imperial distance label calculation in line charts
- Fixed missing eBike type
- Fixed gear assignment to SKI activity type
Full release notes can be found at https://github.com/joaovitoriasilva/endurain/releases
⚠️ Warning: Your user sessions will be deleted on upgrade. Users will have to authenticate again.
⚠️ This release currently breaks RunnerUp integration. If you use it, refrain from updating until further notice.
New features and improvements:
- OAuth 2.1 PKCE implementation for enhanced security
- CSRF protection added
- Multi-factor authentication backup codes
- Session security enhancements
- Time duration display added to heart rate zones
- Support for Pocket ID as an identity provider
Bug fixes:
- Fixed swapped labels for elapsed and moving time
Full release notes can be found at https://github.com/joaovitoriasilva/endurain/releases
This realease contains various bug fixes and performance improvements.
Bug fixes:
- Fixed BMI calculation on manual weight entry
- Fixed an issue where no sleep data was retrieved from Garmin Connect when some values were missing
Full release notes can be found at https://github.com/joaovitoriasilva/endurain/releases
New features and improvements:
- Introduces support for external identity providers (Single Sign-On)
- Refresh tokens are now hashed before being stored, improving security
- Added support for Strava activity retrieval by date range
- Added steps, sleep, and resting heart rate (RHR) data to the Health section with charts
- Added health targets for sleep, steps, and weight
- Added a sleep scoring system for manual sleep entries
- Added user max heart rate override for heart rate zone calculations
- Activity visibility settings are now in a collapsible section
- Support for SMTP_PASSWORD as a Docker secret
Bug fixes:
- Fixed pace calculation for lap swimming activities without splits
- Fixed an issue where following back did not show a modal
- Fixed an issue where the context menu could not be clicked after login
- Fixed an issue where some activities with GPS tracks did not show speed/pace charts
- Fixed incorrect units on public links
- Added missing translations
- General bug fixes
Full release notes can be found at https://github.com/joaovitoriasilva/endurain/releases
This release contains various new improvements and bug fixes.
New features and improvements:
- Added support for kayaking, sailing, snow shoeing and inline skating activities
- Windsurf now displays speed instead of pace
- Cadence graph now displays SPM in running activities
- Support for all Garmin Index S2 stats
Bug fixes:
- Fixed gear list refresh after changing activity type
- Added missing translations
Full release notes can be found at https://github.com/joaovitoriasilva/endurain/releases
This release contains various new improvements and bug fixes.
New features and improvements:
- Added Italian and Slovenian language support
- Added cardio activity type support
- Improved line charts with gradient, color types, zoom and pan, and better visibility
- Pace chart is now inverted for better readability
- Workout names from Garmin Connect are now preserved
Bug fixes:
- Fixed issue preventing activities from being unhidden
- Fixed refreshing data from Strava on Home View
- Removed downsampling on line charts
- Invalid data points should no longer be displayed
Full release notes can be found at https://github.com/joaovitoriasilva/endurain/releases
This release contains various new improvements and bug fixes.
New features and improvements:
- Added Italian language support
Bug fixes:
- Fixed export/import functionality for better memory management
- Fixed issues with large .zip files containing many .fit files
- Fixed export when activity start times are hidden in privacy settings
- Added support for treadmill run activity type
Full release notes can be found at https://github.com/joaovitoriasilva/endurain/releases
This release contains various new improvements and bug fixes.
New features and improvements:
- Added support for Galician translations
- Added support to import shoes from a Strava bulk export
- Added missing translations
Bug fixes:
- Improved GPX file import handling
- Fixed issues with GPX files containing trackpoints without time
- Added support for heartrate extension in GPX files
Full release notes can be found at https://github.com/joaovitoriasilva/endurain/releases
This release contains various new improvements and bug fixes.
New features and improvements:
- Included initial support for Chinese (Simplified and Traditional) and Galician translations
Bug fixes:
- Improved GPX file import handling
Full release notes can be found at https://github.com/joaovitoriasilva/endurain/releases
New features and improvements:
- Added support for Ice Skating, Football (Soccer), and Padel activities
- Implemented comprehensive sign-up support with configurable email verification and admin approval
- Introduced new Import section in settings for bulk imports, including Strava bikes from takeout files
- Added TypeScript support
- Included initial support for Chinese (Simplified and Traditional) translations
- Improved MFA authentication flow
- Enhanced Strava bulk import documentation
Changes:
- Usernames are now forced to be lowercase, existing usernames will be migrated automatically
- Updated database structure for consistency across models
Bug fixes:
- Resolved issues with e-MTB activity type imports
- Fixed goal completion display and distance calculations
- Addressed various UI and functionality issues
Full release notes can be found at https://github.com/joaovitoriasilva/endurain/releases
New features and improvements:
- Added E-Bike and E-MTB activity types
- Implemented user goals and goal tracking
- Added MFA TOTP support for enhanced security
- Introduced password reset functionality from the login screen
- Improved reverse geocoding options with Nominatim support
- Improved activity import and processing
Full release notes can be found at https://github.com/joaovitoriasilva/endurain/releases
New features and improvements:
- Added 'Track run' activity type
- Added support for windsurf activity type
- Introduced system notifications
- Added ability to add images to activities
- Implemented private notes for activities
- Added support for indoor walking activity type
- Improved activity import and processing
- Enhanced gear management with new types and cost tracking
- Added first day of the week setting per user
- Improved reverse geocoding options
Full release notes can be found at https://github.com/joaovitoriasilva/endurain/releases
New features and improvements:
- Fix refresh tokens not sending scopes correctly
- Revise bulk import procedure to better handle error-producing files
- Create dictionaries to map gear ID to gear names and vice versa
- Added missing Dutch translations
Full release notes can be found at https://github.com/joaovitoriasilva/endurain/releases
New features and improvements:
- Fix bug when importing activity sets from .fit files
- Fix issue on migration 3
- Added missing Catalan and German translations
Full release notes can be found at https://github.com/joaovitoriasilva/endurain/releases
⚠️ This update includes database schema changes - consider backing up your database. A relogin is recommended after the update.
New features and improvements:
- Gear components and cost tracking
- First day of the week per user
- System notifications
- Add images to activities
- Support for .tcx and .gz files
- Activity private notes
- Indoor walking support
- Windsurf gear type and activity support
- Activity support for stand up paddling and surfing
- Improved bulk import with duplicate detection
- Enhanced profile export and import
- New follower activity view in Home
- Various bug fixes and performance improvements
Full release notes can be found at https://github.com/joaovitoriasilva/endurain/releases
