Cómo instalar Endurain en Docker: Rastreador de Fitness Autohospedado en Docker
Endurain en Docker: Rastreador fitness autohospedado alternativa privada a Strava con Python FastAPI, Vue.js 3, PostgreSQL, importación GPX/TCX/FIT, multi-deporte, análisis entrenamientos, Weblate multi-idioma, Codeberg, AGPL-3.0 open source 🏃💪
Endurain es un rastreador de fitness autohospedado construido como alternativa privada a Strava. Python FastAPI backend, Vue.js 3 + Tailwind CSS frontend, PostgreSQL, importación GPX/TCX/FIT, análisis entrenamientos, soporte múltiples deportes, mapas, estadísticas, sincronización Garmin/Strava, multi-idioma (Weblate), 173+ GitHub stars, AGPL-3.0 open source, 2-3 GB RAM, production-ready.
Vídeo tutorial en YouTube
Mira el vídeo completo sobre cómo instalar y usar Endurain en Docker en el canal GENBYTE:
¿Qué es Endurain en Docker?
Endurain es un rastreador de fitness autohospedado construido como alternativa privada a Strava con Python FastAPI backend, Vue.js 3 + Tailwind CSS frontend, PostgreSQL, importación GPX/TCX/FIT/EXIF, análisis entrenamientos, mapas interactivos, múltiples deportes (running, ciclismo, natación, etc), estadísticas detalladas, sincronización Garmin/Strava, Weblate multi-idioma, sin datos compartidos con terceros. El rastreador fitness que controlas tú.
Propuesta clave: Self-hosted fitness tracker (Python + Vue.js + PostgreSQL). Import GPX/TCX/FIT. Analyze workouts. Display maps. Support multiple sports. Statistics. Garmin/Strava sync. Multi-language (Weblate). No third-party data sharing. API REST. Privacy-first. 173 GitHub stars. AGPL-3.0 open source. Demo available. Feature freeze ongoing. Development active on Codeberg. Multi-arch Docker image. Production-ready for personal/small team use.
Características principales
Importación de datos
GPX, TCX, FIT (Garmin), EXIF fotos, Strava export, múltiples fuentes.
Análisis entrenamientos
Duración, distancia, calorías, ritmo medio, elevación, mapas con track.
Múltiples deportes
Running, ciclismo, natación, esquí, senderismo, hiking, triatlón.
Estadísticas
Por mes, año. Distancia total, tiempo, calorías. Gráficos de progreso.
Sincronización Garmin
Conecta con Garmin. Import automático de entrenamientos desde reloj.
Mapas interactivos
Leaflet.js. Visualiza rutas. Zoom, satélite, topográfico, layers.
Multi-idioma
Weblate. Crowdsourced translations. Español, inglés, francés, más.
API REST
API completa. Webhooks. Automatización. Integración con terceros.
Requisitos del sistema
- Docker y Docker Compose: versión reciente.
- RAM: mínimo 2 GB; recomendado 3+ GB.
- Almacenamiento: 5-20 GB (entrenamientos históricos).
- Puertos: 8000 (app web), 5432 (PostgreSQL opcional).
- Navegador: Chrome, Firefox, Safari moderno (VueJS 3).
Instalación con Docker Compose
Paso 1: Crear docker-compose.yml
Paso 2: Lanzar Docker Compose
Paso 3: Acceder a la interfaz
Acceder al proyecto
URL: http://localhost:8000
Demo online: https://demo.endurain.com (user: admin / pass: admin, se resetea diariamente)
- Accede a http://localhost:8000
- Regístrate o usa credenciales demo
- Sube tu primer entrenamiento (GPX o importa desde Strava)
- Visualiza análisis, mapas, estadísticas
- Configura sincronización Garmin si tienes reloj
Casos de uso
- Atletas privados: Rastreo sin compartir datos con Strava/Garmin.
- Equipos: Análisis entrenamientos del equipo. Comparación performance.
- Entrenadores: Monitoreo entrenamientos de atletas. Análisis colectivo.
- Migración desde Strava: Import histórico. Control total después.
- GDPR compliance: Datos locales. Sin sincronización automática a terceros.
- Análisis personal: Histórico detallado. Gráficos. Progreso a largo plazo.
Configuración avanzada
Sincronización Garmin
Si tienes reloj Garmin (Fenix, Forerunner, etc):
- En Endurain: Configuración → Garmin Connect
- Autoriza con credenciales Garmin
- Endurain importa automáticamente entrenamientos nuevos
- Los datos quedan locales, no se comparten
Integración Strava
Importa histórico desde Strava:
- Export datos desde Strava (Account Settings → Export)
- Carga ZIP en Endurain Import
- Datos se cargan localmente en tu Endurain
Multi-usuario
Endurain soporta múltiples usuarios. Cada uno tiene entrenamientos privados:
- Dashboard por usuario
- Estadísticas independientes
- Sincronización Garmin por usuario
Gestión y mantenimiento
Ver estado y logs
Detener contenedor
Actualizar Endurain
Backup de entrenamientos
Monitoreo
- Entrenamientos subidos: Dashboard muestra total.
- Últimos entrenamientos: Ver en timeline.
- Sincronización Garmin: Log en Settings.
- Uso DB: PostgreSQL crece ~10-50 MB por 1000 entrenamientos.
Stack técnico
- Backend: Python 3.10+, FastAPI, Pydantic, SQLAlchemy
- Frontend: Vue.js 3, TypeScript, Tailwind CSS, Pinia + TanStack Query
- BD: PostgreSQL 12+
- Mapas: Leaflet.js, OpenStreetMap
- GPS/Sports: stravalib, python-garminconnect, gpxpy, tcxreader, fitdecode
- Localización: Weblate (crowdsourced translations)
- Tracing: Jaeger OpenTelemetry (optional)
- Notificaciones: Apprise (email, Slack, Discord, etc)
- Container: Docker (Python 3.x)
- License: AGPL-3.0 open source
Referencias oficiales
- Codeberg: endurain-project/endurain
- Web oficial: endurain.com
- Demo: demo.endurain.com (admin/admin, reset diario)
- Documentación: Wiki Codeberg
- Issues: Codeberg Issues
- Docker Hub: endurainproject/endurain
- Releases: Codeberg Releases
Comentarios
Publicar un comentario