Repolode
DuarteSantos8

DuarteSantos8/openGym

루틴 계획, 세트 기록, 데이터 자체 보관을 지원하는 셀프 호스팅 헬스장·체중 기록 앱입니다.

대체할 수 있는 제품:StrongHevyFitNotes

스타
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. 1

    저장소를 클론합니다

    git clone https://github.com/DuarteSantos8/openGym
  2. 2

    프로젝트 폴더로 이동합니다

    cd openGym
  3. 3

    환경 변수 예제 파일을 복사합니다

    cp .env.example .env
  4. 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 통계는 매일 갱신됩니다.

관련 프로젝트