Search iThub

Search tools, categories and collections. Type at least two characters.

Explore all tools
↑ ↓ to explore resultsEnter to open · Esc to close

openGym

Self-hosted workout and body-weight tracking with passkeys and offline logging

Visit website Save

Self-hosted tracker for routines, sets and body weight, with a browser app, iPhone, Apple Watch and Android apps, log imports, sync and passkeys.

Pricing
Open source
Deployment
Self-hosted
Platforms
Web, iOS, Android
19,965stars2,664forks
19views
Updated

What is openGym?

openGym is an open-source, self-hosted workout and body-weight tracker for people who want to own their training history. It combines routine planning, guided sessions, exercise media, progress charts and data import in a phone-friendly application. For a developer or homelab operator, the central choice is where that history lives: in a local mobile app, or on a server that synchronizes several devices.

The standard self-hosted stack has two containers: a Node.js API and an nginx web service serving the React frontend and exercise media. Persistent account and profile data lives in the mounted data directory. The supported Compose workflow does not require a separate PostgreSQL or Redis installation. Prebuilt images are available for amd64 and arm64, and the default web port is 8080.

Browser profiles use passkeys and can synchronize with the server. The Android APK can run entirely locally without an account, or pair with a self-hosted instance. openGym is also on the App Store, for iPhone and Apple Watch, in every country.

The repository began in July 2026 and the latest release checked was v1.4.1. Current main-branch documentation can describe changes that are not yet in a selected container tag. The self-hosting guide covers setup and recovery; this profile also records the reviewed commit so an operator can compare it with the release actually deployed.

Inside the application

openGym screenshots

Explore the interface. Open a screenshot to view it at full size.

openGym interface preview from the official project
openGym screenshot 1

Source: official project assets. iThub editorial profile, October 15, 2026.

Source: official openGym project page.

Key capabilities

  • Routines and guided logging Build a weekly plan or a rotating routine, start a session with previous values available and record sets as you train. The project supports warm-ups, supersets, drop sets, rest-pause, timed work and cardio, together with rest timers and per-exercise notes.
  • Exercise media and custom movements Browse an illustrated exercise catalog by muscle and equipment, then add your own movements and media. Exercise animations are included in the distributed web image and Android package. Custom uploads add persistent files that need to be backed up with the training history.
  • Progress and body-weight history Review logged activity through charts, records, a year heatmap and body-weight trends. Muscle-volume and fatigue displays are calculations from recorded activity, not measured recovery or a medical diagnosis. Corrected workout entries can change the derived results.
  • Passkey profiles The self-hosted service supports per-profile data and WebAuthn sign-in. Passkeys require a secure browser origin, with localhost as the development exception. An instance can optionally enable password sign-in; account policy and invitations are operator choices rather than a required hosted subscription.
  • Offline work and synchronization A device keeps a local copy while the server is unreachable and can synchronize later. The project documents field-level merging when more than one device edits state. Test offline edits, conflicting routine changes and reconnect behavior before relying on several devices during the same session.
  • Imports and exports Import supported FitNotes, Strong and Hevy histories, plus Apple Health body-weight exports. Export application data as JSON and share routines as files or printable output. Import formats differ, so verify timestamps, units, exercise mapping and duplicate handling with a copy of the source history.
  • Android and browser access Use the published signed Android APK for local-only logging or connect it to your server with a pairing code. Browser access works across desktop and mobile devices; the App Store app covers iPhone and Apple Watch. Native desktop applications are not part of the documented distribution.
  • Documented API and optional AI The repository supplies an OpenAPI 3.1 HTTP specification and an optional local MCP reader. AI coaching is an opt-in feature with provider configuration and explicit approval of proposed changes. External AI use can send selected training data to that provider and may incur usage costs.
Advertisements

Where openGym fits

A personal training log under your control

Run one private instance for your own routines and weight history, then decide whether phone-only storage or server sync fits your use. Keeping the data yourself removes dependence on a third-party account, but it also makes device loss, server availability and backups your responsibility. Test the JSON export while the installation is still small.

A small shared instance

Passkey profiles and the optional admin dashboard can support several people using the same service. Set the intended registration policy and decide whether invitations are required. Verify that a second profile cannot read the first profile's state, and document account recovery before inviting other users onto a personal server.

Migrating an existing workout history

The import documentation describes the supported source formats. Trial an import with representative sessions before moving the full history. Check dates, kilograms versus pounds, warm-up flags and exercise names, then compare totals with the original app. Keep the untouched export so a failed mapping can be repeated without losing the source.

A phone app connected to a homelab

The Android app pairs with an already authenticated browser session rather than using the browser's passkey directly inside its WebView. The phone can retain offline changes and synchronize them later. Reverse proxies must pass API requests, bearer authorization and CORS preflights correctly; a proxy login page returned with HTTP 200 is not a successful API response.

Read-only analysis and optional assistance

The local MCP server gives a supported client read access to training information. A separate optional coach can draft or review routines through configured providers. Treat both as explicit data-access decisions. Estimates and generated suggestions describe software behavior; they do not establish a safe training prescription or replace a qualified practitioner's assessment.

Reviews of openGym

No reviews yet

Be the first to share your experience with openGym.

Loading review form…

Related to openGym

Compare openGym with these tools →