4.7 KiB
title: Endurain created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, fitness, strava-alternative, activity-tracker, python, fastapi, gpx] confidence: medium contested: false sources: [https://selfh.st/apps/?tag=fitness, https://github.com/Endurain/endurain]
Endurain 🏃
Clone léger et moderne de Strava, écrit en Python/FastAPI. Suivi d'activités outdoor (course, vélo, natation) avec import GPX/FIT, statistiques et interface épurée.
| Métadonnée | Valeur |
|---|---|
| Site web | https://endurain.com/ |
| GitHub | https://github.com/Endurain/endurain |
| License | AGPL-3.0-or-later |
| Langage | Python (FastAPI + Vue.js) |
| Étoiles | ⭐4 (selfh.st rank) |
| Dernière MAJ | 2026-05-08 |
| Catégorie | cat-fitness |
Description
Endurain est un projet récent (2024+) qui vise à fournir une alternative open source à Strava centrée sur les activités d'endurance. Inspiré de l'interface Strava mais sans le côté social/segment, il se concentre sur l'essentiel : importer une trace, voir sa carte, ses stats, son historique.
Fonctionnalités :
- Import GPX, TCX et FIT
- Carte interactive OpenStreetMap par activité
- Statistiques par sport (course, vélo, natation, etc.)
- Équipements (chaussures, vélo) avec kilométrage cumulé
- Multi-utilisateurs avec comptes séparés
- API REST documentée
- Mode sombre natif
- Docker-first : déploiement simplifié
L'architecture est moderne et saine : backend FastAPI + SQLModel + PostgreSQL, frontend Vue 3 + Vite + Pinia, file de tâches optionnelle avec arq (Redis). Le code est propre, typé, documenté, et le projet monte en maturité rapidement. C'est l'un des success stories récents du self-hosting fitness.
Note
: peu d'étoiles (⭐4) ne reflète pas la qualité — le projet est encore jeune mais l'activité GitHub (commits, issues, releases) est soutenue.
Installation
Via Docker Compose (recommandé)
services:
endurain-db:
image: postgres:16-alpine
restart: unless-stopped
environment:
POSTGRES_USER: endurain
POSTGRES_PASSWORD: ${DB_PASSWORD:-changeme}
POSTGRES_DB: endurain
volumes:
- endurain_db:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U endurain"]
interval: 10s
timeout: 5s
retries: 5
endurain-backend:
image: ghcr.io/endurain/endurain:latest
restart: unless-stopped
depends_on:
endurain-db:
condition: service_healthy
environment:
DATABASE_URL: postgresql://endurain:${DB_PASSWORD:-changeme}@endurain-db:5432/endurain
SECRET_KEY: ${SECRET_KEY:-changez-moi-32-caracteres}
TZ: Europe/Paris
volumes:
- endurain_uploads:/app/uploads
ports:
- "8000:8000"
volumes:
endurain_db:
endurain_uploads:
Installation manuelle (Dev)
git clone https://github.com/Endurain/endurain.git
cd endurain
# Backend
cd backend
python -m venv venv && source venv/bin/activate
pip install -r requirements.txt
alembic upgrade head
uvicorn app.main:app --reload
# Frontend (autre terminal)
cd ../frontend
npm install && npm run dev
Configuration
DATABASE_URL: PostgreSQL obligatoireSECRET_KEY: pour JWT, 32+ caractèresTZ: fuseau horaire (important pour les calculs quotidiens)- Premier utilisateur créé en CLI :
python -m app.scripts.create_user --admin - Migrations :
alembic upgrade headà chaque release
Alternatives
Open source :
- app-fittrackee : plus mature, français, fonctionnalités proches
- app-statistics-for-strava : si vous voulez juste des stats sur vos données Strava
- app-wger : orienté musculation, pas outdoor
- Runalyze : allemand, riche, plus lourd
- OwnTracks : si focus géolocalisation générique
Propriétaire :
- Strava : leader, segments sociaux, gratuit avec limites
- Garmin Connect : si écosystème Garmin
- Komoot : orienté itinérance vélo/rando
Sécurité
- Changer
DB_PASSWORDetSECRET_KEYabsolument - HTTPS obligatoire via reverse proxy (Traefik, Caddy)
- Sauvegarder le volume
endurain_uploads(fichiers GPX/FIT) etendurain_db(pg_dump) - Les traces GPX contiennent des données de localisation : sécuriser l'accès
- Activer les migrations lors de chaque upgrade (lire le CHANGELOG)
Ressources
- GitHub : https://github.com/Endurain/endurain
- Site officiel : https://endurain.com/
- selfh.st : https://selfh.st/apps/?tag=fitness
Pages Liées
- cat-fitness
- recettes-docker-compose
- app-fittrackee — alternative mature
- app-statistics-for-strava — pour stats Strava
- app-wger — orienté musculation