Django 기반의 셀프 호스팅 오픈소스 운동·영양·체중 트래커로, REST API와 모바일 앱을 제공합니다.
- 스타
- 13,728
- 포크
- 1,711
- 열린 이슈
- 220
- 마지막 커밋
- 15시간 전
어떤 프로젝트인가요?
openGym은 셀프 호스팅 운동 기록 앱입니다. 요일별 루틴을 계획하거나 순환 루틴을 설정할 수 있고, 이전 운동의 중량을 미리 입력하고 세트 사이 휴식 시간을 측정하는 가이드 세션을 진행할 수 있습니다. 체중도 운동 기록과 함께 기록할 수 있습니다. 진행 상황 화면에는 추정 1RM, 최근 운동량과 회복 상태, 훈련하지 않은 부위를 보여주는 근육 맵, 1년간의 활동 히트맵, 진행 상황 사진이 포함됩니다.
앱은 nginx에서 제공하는 React 및 Vite 프런트엔드와 데이터를 JSON 파일로 저장하는 Node API로 구성됩니다. Docker Compose 설정 하나로 실행할 수 있으며, 패스키로 로그인합니다. PWA로 설치할 수 있고 오프라인에서도 작동하며, 리비전 기반 병합을 사용해 기기 간 동기화합니다. FitNotes, Strong, Hevy 및 Apple Health 내보내기 파일에서 운동 기록을 가져올 수 있고, 전체 데이터는 JSON 파일 하나로 내보낼 수 있습니다.
기본적으로 비활성화된 선택 기능으로는 사용자의 provider key를 이용해 루틴 초안을 작성하는 AI 코치와 어시스턴트용 읽기 전용 MCP 서버가 있습니다. Android APK를 제공하며, 프로젝트 라이선스는 AGPL-3.0입니다.
핵심 기능
- 01주간 루틴 또는 A/B/C 순환 루틴을 지원하며, 가이드 세션에서 이전 운동의 중량을 미리 입력합니다.
- 02슈퍼세트, 워밍업 세트와 드롭 세트, 시간제 운동, 유산소 운동 기록을 지원합니다.
- 03선형·이중·삼중 점진적 과부하 규칙과 추정 1RM, 근육별 운동량 맵을 제공합니다.
- 04패스키 로그인, 프로필별 기기 간 동기화, PWA 오프라인 사용을 지원합니다.
- 05FitNotes, Strong, Hevy 및 Apple Health에서 운동 기록을 가져오고, 전체 데이터를 JSON으로 내보냅니다.
- 06Docker Compose로 배포하며, 데이터는 로컬 ./data 폴더에 보관됩니다.
활용 사례
- 운동 데이터를 구독형 서비스에 보내지 않고 비공개로 기록할 때.
- FitNotes, Strong 또는 Hevy에 있는 기존 운동 기록을 셀프 호스팅 인스턴스로 옮길 때.
- 홈 서버나 NAS에서 개인 또는 가족용 운동 기록 앱을 운영할 때.
- 헬스장에서 오프라인으로 세트를 기록하기 위해 Android 앱이나 PWA를 사용할 때.
빠른 시작
- 1
저장소를 클론합니다
git clone https://github.com/DuarteSantos8/openGym - 2
프로젝트 폴더로 이동합니다
cd openGym - 3
환경 변수 예제 파일을 복사합니다
cp .env.example .env - 4
Docker Compose로 앱을 시작한 다음 http://localhost:8080 을 엽니다
docker compose up -d
사용 전 알아둘 점
- 휴대폰에서 패스키를 사용하려면 도메인에 HTTPS를 설정해야 하며, 이를 위해 추가 설정이 필요합니다.
- Android APK는 Play 스토어에 없으며, iPhone 사용자는 직접 호스팅하거나 Xcode로 빌드해야 합니다.
토픽
자주 묻는 질문
- openGym은(는) 무엇인가요?
- 루틴 계획, 세트 기록, 데이터 자체 보관을 지원하는 셀프 호스팅 헬스장·체중 기록 앱입니다. openGym은 셀프 호스팅 운동 기록 앱입니다. 요일별 루틴을 계획하거나 순환 루틴을 설정할 수 있고, 이전 운동의 중량을 미리 입력하고 세트 사이 휴식 시간을 측정하는 가이드 세션을 진행할 수 있습니다. 체중도 운동 기록과 함께 기록할 수 있습니다. 진행 상황 화면에는 추정 1RM, 최근 운동량과 회복 상태, 훈련하지 않은 부위를 보여주는 근육 맵, 1년간의 활동 히트맵, 진행 상황 사진이 포함됩니다.
- openGym은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- openGym은(는) AGPL-3.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- openGym은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. openGym의 마지막 커밋은 2026년 10월 19일입니다.
- openGym은(는) 어디에 사용할 수 있나요?
- 운동 데이터를 구독형 서비스에 보내지 않고 비공개로 기록할 때. FitNotes, Strong 또는 Hevy에 있는 기존 운동 기록을 셀프 호스팅 인스턴스로 옮길 때. 홈 서버나 NAS에서 개인 또는 가족용 운동 기록 앱을 운영할 때. 헬스장에서 오프라인으로 세트를 기록하기 위해 Android 앱이나 PWA를 사용할 때.
- openGym는 어떻게 설치하나요?
- 저장소를 클론합니다: git clone https://github.com/DuarteSantos8/openGym 프로젝트 폴더로 이동합니다: cd openGym 환경 변수 예제 파일을 복사합니다: cp .env.example .env Docker Compose로 앱을 시작한 다음 http://localhost:8080 을 엽니다: docker compose up -d
- openGym은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/DuarteSantos8/openGym
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
전체 화면 애니메이션 가사에 초점을 맞춘 TypeScript 음악 플레이어로, NetEase, QQ, Kugou, Navidrome 및 로컬 라이브러리를 지원합니다.
Strava, Garmin Connect 및 GPX/TCX/FIT 파일의 활동을 동기화·분석하고 데이터를 자체 서버에 보관하는 셀프 호스팅 피트니스 트래킹 서비스입니다.
포스터, 소셜 게시물, 슬라이드 등을 만들 수 있는 오픈소스 브라우저 기반 디자인 편집기와 Docker 자체 호스팅 환경
각 게임 서버를 격리된 Docker 컨테이너에서 실행하는 무료 오픈 소스 웹 패널
Hermes Agent용 React/TypeScript 웹 워크스페이스로, 채팅·파일·터미널·메모리·스킬·에이전트 모니터링을 한곳에서 제공합니다.