- Endurain은 사용자가 데이터와 호스팅 환경을 직접 통제하도록 설계된 자체 호스팅 피트니스 추적 서비스이며, Strava와 유사하지만 개인정보 보호와 커스터마이징에 초점을 둠
- 프런트엔드는 Vue.js, 백엔드는 Python FastAPI 기반이며 PostgreSQL, Jaeger, Alembic, SQLAlchemy 등을 사용해 활동 데이터 관리와 기본 추적을 구성함
- Strava와 Garmin Connect 연동을 지원하고,
.gpx,.tcx,.fit파일을 통한 활동 수동 업로드도 가능함 - Docker 이미지와
docker-compose.yml.example예시가 제공되며, 설정은 환경 변수로 처리해 배포와 커스터마이징을 쉽게 하도록 구성됨 - GitHub 저장소는 읽기 전용 미러이며 프로젝트 활동은 Codeberg에서 진행되고, 현재는 새 기능보다 기반 강화에 집중하는 임시 기능 동결 상태임
Endurain이 제공하는 기능
- Endurain은 자체 호스팅 피트니스 추적 서비스로, 사용자가 데이터와 호스팅 환경을 완전히 제어하는 것을 목표로 함
- Strava와 유사한 서비스지만, 초점은 개인정보 보호와 커스터마이징에 있음
- 활동 데이터는 외부 서비스 연동 또는 파일 업로드 방식으로 가져올 수 있음
- Strava 연동 지원
- Garmin Connect 연동 지원
.gpx,.tcx,.fit파일 수동 업로드 지원
기술 구성
- 프런트엔드는 Vue.js, Notivue, Bootstrap CSS로 구성됨
- 백엔드는 Python FastAPI를 중심으로 구성됨
- Alembic
- SQLAlchemy
- Apprise
- Strava 연동용
stravalib - Garmin Connect 연동용
python-garminconnect .gpx가져오기를 위한gpxpy.tcx가져오기를 위한tcxreader.fit가져오기를 위한fitdecode
- 데이터베이스는 PostgreSQL을 사용함
- 기본 추적과 모니터링에는 Jaeger가 사용됨
배포와 설정
- Endurain 배포를 위한 Docker 이미지가 제공됨
- 저장소에는
docker-compose.yml.example파일이 있어 배포 예시를 확인할 수 있음 - 설정은 환경 변수를 통해 처리되어 유연성과 커스터마이징 편의성을 제공함
- 자세한 정보는 Endurain documentation에서 확인할 수 있음
데모 환경
- 설치 없이 Endurain을 체험할 수 있는 데모가 제공됨
- https://demo.endurain.com
- 사용자 이름:
admin - 비밀번호:
admin
- 데모 환경은 Europe/Lisbon 시간대 기준 매일 자정에 초기화됨
- 데모에는 중요한 데이터를 저장하지 않아야 함
프로젝트 운영 상태와 라이선스
- GitHub 저장소는 읽기 전용 미러이며, 이슈·풀 리퀘스트·프로젝트 활동은 Codeberg에서 관리됨
- Endurain은 임시 기능 동결 상태임
- 프로젝트가 중단된 것은 아니며, 새 기능보다 기반 강화에 초점이 이동함
- 관련 설명은 Pausing new features so Endurain can keep growing에서 확인할 수 있음
- 다국어 지원이 있으며 Codeberg Translate를 통해 번역에 기여할 수 있음
- 라이선스는 AGPL-3.0임
- Endurain®은 João Vitória Silva의 상표임
- 개인, 교육, 연구, 커뮤니티 목적의 비상업적 자체 호스팅과 이름·로고 사용은 허용됨
- 유료 호스팅, 제품, 서비스 제공처럼 Endurain 이름이나 로고를 상업적으로 사용하는 것은 사전 서면 허가 없이 허용되지 않음