openGym入門:トレーニングの記録を、自分のサーバーに残す

運動の記録を残したい一方で、どのサービスにデータを預けるかも考えたい。自分で運用するアプリを検討するなら、入力のしやすさと、バックアップ・認証を一緒に確認する必要があるで。

DuarteSantos8/openGymは、筋力トレーニングや体重を記録する自己ホスト型のアプリやで。この記事は公式README、導入案内、LICENSEを確認した紹介やで。実機での実行・性能比較は行ってへんで。

openGymでできること

セット、回数、重量、予定などを記録し、自分の環境で管理したい人に向いてるで。スマートフォンでの利用や端末間の同期、パスキーによるログインがREADMEで案内されてるで。運動プログラムの医学的な効果を保証するものやないで。

今回のゴールと環境

Dockerでアプリを起動し、架空のプロフィールと記録1件を保存して読み直す。

確認した範囲:2026年10月24日に公式READMEや導入資料を読み直して、以下の手順を具体化したで。この改訂でアプリのインストールから最終結果までを実機で通したわけやない。成功の目安は、手元で試すときのチェックとして使ってな。

準備

Windows 11 x64では、まずスタートからPowerShellを「管理者として実行」し、WSLが未導入ならwsl --installを実行してPCを再起動してな。Ubuntuのユーザー作成が出たら画面に沿って済ませるんや。既存のWSLはwsl --updateで更新できるで。MicrosoftのWSL案内も確認してな。

Docker Desktopの公式ページからx86_64用インストーラーを入手し、WSL 2を使う構成でインストールしてな。スタートからDocker Desktopを起動し、利用条件を確認してエンジンの起動を待つで。Dockerの対応OS・メモリなどの要件と商用利用条件も、同じ公式ページで確認してな。通常権限のPowerShellを開き直して次を実行するんや。

docker version
docker compose version
docker info --format '{{.OSType}}'

ClientとServerの情報、Composeのバージョン、最後にlinuxが表示されれば次へ進めるで。ServerにつながらへんならDocker Desktopの起動を確認してな。

Git公式のWindows用ページからx64 Setupをダウンロードし、インストーラーの案内に沿って入れてな。PowerShellを開き直し、git --versionでバージョンが出ることを確認するんや。

使い方

New-Item -ItemType Directory -Force "$env:USERPROFILE\github-practice\opengym" | Out-Null
Set-Location "$env:USERPROFILE\github-practice\opengym"
git clone https://github.com/DuarteSantos8/openGym.git
Set-Location openGym
Copy-Item .env.example .env
docker compose pull
docker compose up -d
docker compose ps
Invoke-RestMethod http://localhost:8080/api/health
  1. ヘルスチェックでokがTrueになることを確認し、ブラウザーでhttp://localhost:8080を開いてな。
  2. Create profileから練習用プロフィールを作り、表示されたパスキーの案内に従うで。実名や実際の体重はまだ入れんといてな。
  3. 運動の記録画面で、種目を1つ選んで架空のセットを保存するんや。入力する重量・回数は操作確認用やから、推奨する運動量やないで。
  4. ページを再読み込みし、保存した日付・種目・回数・重量が同じか確認するで。最後に停止して再開した後も読み直せるか確かめてな。

成功の目安:ヘルスチェックが通り、練習記録が再読み込み後も同じ値で見えることや。スマートフォンからLAN内のHTTPアドレスを開くだけでは、パスキーの条件を満たさへん。今回はDockerを動かしてるPCのlocalhostで試すで。

仕組みとデータの流れ

自分のPCブラウザー :8080DockerのWeb / API自分の保存データ入力・操作と結果出力・保存先
ブラウザーがDocker内のWebへ接続し、Web経由でAPIが記録を保存するで。APIが記録の永続データを管理する。今回の記録操作では外部LLMのAPIキーは使わへんで。構成を単純化した独自図解で、製品の画面や実行結果やないで。細かな通信や保存形式は設定で変わる。スマートフォンでは横へスクロールしてな。

トラブルシューティング

困ったこと確認すること
画面が開かないdocker compose psとdocker compose logs –tail 80で状態を見るで。8080が使われてへんか確認してな。
パスキーを作れないlocalhostで開いてるか確認してな。ほかの端末はHTTPSとドメインの設定が要るで。

終了と再開

同じopenGymフォルダーでdocker compose downを実行して停止するで。再開はdocker compose up -dや。データの保存先は公式ガイドとcompose設定で確認し、データ用フォルダーやボリュームを削除せんようにしてな。バックアップは公式ガイドのBackupsに沿って別に作るで。

公式READMEと最新の導入案内も確認してな。配布版や外部サービスの変更で、手順が変わることがあるで。

使い方の流れ

架空の練習記録。推奨する運動量ではありません。入力するセット種目:サンプル種目重量:20 kg回数:10 回保存した履歴サンプル種目20 kg × 10 回日付とセットを確認入力値が、そのまま履歴に残っているか確認する
入力から作業結果までの関係をまとめた独自図解やで。製品画面や実行結果を示したもんやないで。

作業のビフォーアフター

本記事が考える使い方の比較。実測した効果やないで。
これまでの作業導入後に目指す進め方
複数のメモにセットや日付が分散し、見返すときに探す。種目とセットの履歴をアプリにまとめ、自分の環境で管理する。

運動記録と個人情報

体重や運動履歴、ログイン情報を不用意に公開せんといてな。自己ホストは自動的に安全という意味やなくて、更新、HTTPS、認証、バックアップを自分で管理する必要があるで。

この記事の重量や回数は入力操作を説明する架空の例で、推奨する運動量やないで。元の記録を移す前に、値、単位、日付、履歴の表示が正しいかを少量で確認してな。

公式資料と利用条件

本体はAGPL-3.0ライセンスやで。特に改変版をネットワーク経由で提供する場合など、対応ソースの提供を含む原文の条件を確認してな。

確認日:2026年10月24日。掲載対象はHysen Labsの30日間スター純増CSV(2026年9月23日〜10月23日)の上位20件から、過去掲載を除いて選定したで。Hysen Labsが追跡するリポジトリ内の順位であり、GitHub全体を網羅するランキングやないで。集計は期間末と期間初のスター数の差分。データ提供:Hysen Labs(CC BY 4.0)。機能や条件は公式資料に基づく話やけど、実際の動作や生成結果を本記事で検証したものやないで。