Endurain
A personal Strava on your own server: Endurain is a self-hosted fitness platform that keeps
your complete workout history, GPS routes, and health data out of a vendor's cloud. It ingests
the standard device formats (.gpx, .tcx, and preferred .fit with full sensor data) via manual
or bulk upload, and syncs directly with Strava and Garmin Connect so migrating years of
history is straightforward - Garmin sync covers activities, gear, and body composition. The
dashboard shows activity feeds with weekly and monthly statistics, routes on maps, and
distance, speed, and training-volume trends over time, with definable goals that update
automatically. Gear tracking is notably deep: log wetsuits, bicycles, shoes, racquets, skis,
and snowboards, assign default gear per activity type, and track individual components like
bike chains against replacement mileage. Multi-user support with admin and user roles,
follower features, per-activity privacy settings, and configurable sign-up (email
verification, admin approval) make it usable for clubs and coaches as well as individuals.
Auth is serious for a fitness app: MFA TOTP, OIDC/SAML SSO, and email-based password resets
via Apprise. The stack is Vue.js over a Python FastAPI backend with PostgreSQL, plus weight,
steps, and sleep logging, imperial/metric units, multi-language support, and third-party app
integration.
Deploy