Repo-lab
CLIツール

openGymとは?サブスクなしで使えるセルフホスト型筋トレ・体重トラッカー

⭐ 3,977 stars GitHub →
openGymはDocker一発で自鯖構築できる無料の筋トレ・体重トラッカーです。1,324種のエクササイズ、パスキー認証、自動プログレッション機能を備えたAGPL-3.0オープンソースの使い方を解説します。

GitHubで約4,000スターを獲得し急上昇中のオープンソースプロジェクト「openGym」。Docker一発で自分のサーバーに展開できる筋トレ・体重管理アプリで、データを完全に自己管理しながら本格的なトレーニングトラッキングができます。

openGymとは?セルフホスト型ジムトラッカーの概要

openGymは「あなたが本当に所有するジムトラッカー」をコンセプトとしたセルフホスト型フィットネスアプリです。毎月サブスクを払い続けるフィットネスアプリとは根本的に異なり、自分のサーバー(VPSやホームサーバー)にDockerで展開するだけで使えます。

主な特徴:

  • 1,324種のエクササイズライブラリ(アニメーションデモ付き)
  • パスキー認証(Face ID / Touch ID)でパスワード不要
  • PWA対応でスマートフォンのホーム画面に追加可能
  • AndroidのスタンドアロンAPKも提供
  • テレメトリなし・広告なし・サブスクなし
  • AGPL-3.0ライセンスで永久無料

React 19 + Node.jsで構築され、データはローカルのJSONファイルに保存されます。docker compose up の一行で起動できるシンプルな構成は、セルフホスト愛好家に刺さる設計です。

openGymのセルフホスト使い方 Docker Composeで始める

必要なもの

  • DockerとDocker Composeが動くサーバー(ローカルPCでも可)
  • HTTPS対応ドメイン(スマートフォンのパスキー利用時に必要)

基本的な起動手順

git clone https://github.com/DuarteSantos8/openGym
cd openGym
cp .env.example .env
docker compose pull   # ビルド済みイメージ取得(amd64 + arm64対応)
docker compose up -d

http://localhost:8080 を開いて「プロファイル作成」でスタートです。初回起動時にエクササイズのメディアファイル(約140MB)がダウンロードされます。

環境変数の設定(.env)

RP_ID=yourdomain.com          # パスキーをバインドするホスト名
ORIGIN=https://yourdomain.com # アプリのURL
WEB_PORT=8080                  # ポート番号
RP_NAME=openGym               # パスキープロンプトに表示される名前

スマートフォンから使いたい場合はHTTPS対応が必須です。Nginxのリバースプロキシを設定してLet's Encryptで証明書を取得するのが一般的です。

筋トレ記録アプリ 自鯖 無料でできること|主要機能の詳細

自動プログレッション機能

openGymの特徴的な機能が段階的なプログレッション管理です。以下のプログラムから選べます:

  • 線形プログレッション: 毎セッションごとに重量を増加
  • Greyskull LP: AMRAPトップセット、ダブルジャンプ、10%デロード付き
  • ダブルプログレッション: 指定レップレンジ内で成長を管理

セッション開始時に前回の重量が自動入力され、「なぜその重量なのか」が表示されます。ミスセットは自動検知してデロードをトリガーします。

推定1RM計算

最良セットから1RM(1回最大反復)を自動推定します。12レップ以上のセットは除外されるため、正確性が高いのが特徴です。独自のプログレス曲線と、任意のセット数に対するカリキュレーターも内蔵。

人気アプリからのデータ移行

既存のトレーニングログも取り込めます:

  • FitNotes(Android / iOS)
  • Strong
  • Hevy
  • Apple Health(体重データ)

インポート時にエクササイズ名をライブラリにマッチングし、未登録のものは自動でカスタムエクササイズとして追加されます。

その他の便利機能

機能 詳細
活動ヒートマップ GitHub風の年間トレーニング記録ビジュアライズ
マッスルマップ 全身図で鍛えた筋肉を部位ごとにハイライト
プッシュ通知 レストタイマー・トレーニングリマインダー
スーパーセット 複数エクササイズを連続で記録
有酸素運動 時間+速度で記録(重量×レップ数以外にも対応)
12言語対応 英語・独語・仏語・スペイン語・中国語・韓国語・ヒンディー語等

Strong・Hevyとの違い・なぜ今このツールか

Strong(月額$3.99〜)やHevy(月額$5.99)と比較したとき、openGymの最大の優位性はデータの完全自己管理永久無料です。

比較項目 openGym Strong Hevy
料金 永久無料 月額$3.99〜 月額$5.99
データ保存先 自分のサーバー クラウド クラウド
オフライン動作 ✅(PWA)
自動プログレッション
セルフホスト

Hevyやstrongなど既存アプリのデータをそのままインポートできる点も、乗り換えのハードルを下げています。GitHubで約4,000スターを集めた背景には、プライバシー意識の高まりとサブスクリプション疲れがあります。

こんな人に向いている

ホームジム運営・インフラエンジニア向けシナリオ:

  • バックエンドエンジニア: 既存のVPS(DigitalOcean・さくらVPS等)に追加デプロイ。他のDockerサービスと同居させてNginxでバーチャルホスト運用
  • ホームサーバー愛好家: Raspberry PiやSynology NASにDockerで展開。家族・友人と1台のインスタンスを共有してホームジム管理
  • Strong/Hevy解約を検討中のエンジニア: 有料フィットネスアプリを解約してself-hostedに移行。インポート機能で過去のログも引き継ぎ可能

管理者機能(ADMIN_UIDS設定時): 複数ユーザーの登録管理・招待コード制限・ユーザー別のトレーニング履歴閲覧が可能。小さなチームやジム向けにも使えます。

使う前に知っておきたいこと

ライセンス(AGPL-3.0)

改変してネットワークサービスとして提供する場合、改変版のソースコードも同ライセンスで公開する必要があります。個人・家族使用は制限なし。商用SaaSとして提供する場合は注意が必要です。

パスキーの制約

パスキー(Face ID/Touch ID)を使うにはHTTPS対応ドメインが必須です。localhost でのテストは可能ですが、スマートフォンから使う場合はリバースプロキシ+SSL証明書の設定が必要です。環境変数 RP_ID / ORIGIN の設定ミスがログインエラーの主因になりやすいため、ドキュメント(docs/SELF_HOSTING.md)を事前に確認してください。

iOSの制限

iOS向けはApp Storeからのインストール不可。Safari からPWAとしてホーム画面に追加するか、Xcodeで自分のデバイスにビルドする必要があります。Androidは .apk のサイドロードで対応。

コントリビューター数

現在コントリビューターは1名(Duarte Santos氏)。活発に開発中ですが、個人プロジェクトのため長期的なメンテナンスリスクは考慮してください。AGPLなのでフォークして継続することは可能です。

まとめ

openGymは、サブスクリプションなしで本格的なフィットネス管理をしたいエンジニアにとって、現時点で最も完成度の高いセルフホスト型筋トレトラッカーです。1,324種のエクササイズ、自動プログレッション、パスキー認証、FitNotes/Strong/Hevyからのインポートと、商用アプリに引けを取らない機能を揃えています。

docker compose up の一発で始められるシンプルさと、データを完全に自己管理できるプライバシー重視の設計は、セルフホスト文化と親和性が高く、今後もスター数の増加が見込まれます。

関連ツール・おすすめサービス

  • DigitalOcean — 開発者向けクラウド・App Platformでかんたんデプロイ
  • さくらVPS — 国内ホスティングでのセルフホストならこちら

この技術を学ぶ

CLIに興味を持った方には、Udemyのオンラインコースもおすすめです。

毎日更新のGitHubツール情報

LINEで受け取って最新情報をキャッチアップしよう

友達追加する(無料)

関連記事

この記事が役に立ったらシェアしてください