← Home

REVIEWED & READY TO INSTALL

openGym

duartesantos8/opengym

Free, open-source (AGPL-3.0) gym and body-weight tracker: plan a routine per weekday, log every set with a rest timer, and see progress charts. 1,324 exercises with demos. Use the Android app (.apk), try the in-browser demo, or run your own Docker server. No subscription, no ads. Vietnamese is not among its interface languages.

STEP BY STEP

How to install openGym

The step-by-step guide is right on this page, written for people who have never installed anything from GitHub.

Updated 10/7/2026
GitHub preview image of openGym
GitHub stars
6,015
Language
JavaScript
Trending rank
#10
Added
10/7/2026

How to install openGym, step by step

Work from top to bottom. Each grey box is one command: copy the whole line, paste it into the terminal window and press Enter.

Never used a terminal? Read this first (1 minute)

A terminal is a window where you type commands for your computer. You do not need to understand them, just copy and paste them exactly.

  1. Windows: press the Windows key, type "PowerShell", then press Enter.
  2. macOS: press Command + Space, type "Terminal", then press Enter.
  3. Linux: press Ctrl + Alt + T.
  4. Copy a command from the guide, right-click inside the window you just opened to paste it (macOS: Command + V), then press Enter.
  5. Wait for the command to finish (the cursor blinks again on a new line) before running the next one.

Lines starting with # are notes; you do not need to copy them. If red error text appears, check the common errors section at the end of the guide.

1. What is openGym?

openGym is a free, open-source app for logging your gym workouts and body weight. You plan a routine for each weekday; when you start a session the app pre-fills the weights from last time, runs a rest timer between sets and shows charts of your progress. According to the project README, the library has 1,324 exercises with animated demos.

What sets it apart from typical workout apps: according to the project, your data stays on your own device or server, with no account on someone else's server, no subscription, no ads and no tracking. It is an alternative to workout loggers that charge a subscription for their full features.

Note on language: the app lists 17 languages, but the translation files in the source code do not include Vietnamese. The interface will be in English (or another language from the list). Exercise names are in English.

A good fit if:

  • You train at the gym and want a digital workout notebook with no sign-up and no payment.
  • You have an Android phone: there is a ready-to-install file, no server needed.
  • You want to try it first: there is an in-browser demo.

Not a fit if:

  • You use an iPhone and want a normal app install: Apple does not allow apps outside the App Store, and the project is not on the App Store yet (it is on the roadmap). On iPhone you have to self-host and add it to the home screen, which is more involved.
  • You need a fully Vietnamese app.

2. What you need

There are three ways to use it. Pick one:

WayYou needFor whom
A. Try the demo in a browserA computer or phone with a browser and internetJust looking
B. Install the Android appAn Android phoneReal use, easiest
C. Run your own serverA computer with Docker, comfortable typing a few commandsSyncing devices, several users

No account, no API key, no cost. The Android install file is about 16 MB (version 1.3.9). Way C also downloads about 140 MB of exercise images and animations on first start.

Only Way C needs Docker (software that runs apps in isolated "boxes"). Official download: https://docs.docker.com/get-docker/

3. Step-by-step install

Way A: Try it in the browser (nothing to install)

  1. Open https://opengym.duarte-santos.ch/demo/
  2. The app runs with example data. Tap through a workout.

This version runs entirely in your browser and is only for trying it out.

Way B: Install the Android app (recommended)

openGym is deliberately not on Google Play, so you download the install file (.apk) directly.

Step 1: Download the .apk. On your phone, open https://github.com/DuarteSantos8/openGym/releases/latest, scroll to Assets and tap the file named like openGym-1.3.9.apk (the version may be newer). Next to it is a .sha256 file for checking that the download was not altered; you can skip it.

Step 2: Allow the install. Open the downloaded file. Android asks whether to allow installing apps from this source. Allow it (menu names differ by phone brand), then tap Install.

Step 3: Open the app. On first launch the app asks how you want to use it. Choose to use it on this phone only (no server, no account); data stays in the app's private storage.

If it worked, you see the app's home screen with today's workout.

Way C: Run your own server on a computer (advanced)

For syncing several devices. Docker must be installed and running. Open a terminal (macOS/Linux) or PowerShell (Windows) and run:

git clone https://github.com/DuarteSantos8/openGym
cd openGym
cp .env.example .env
docker compose pull
docker compose up -d

git clone needs Git (a tool for downloading source code): https://git-scm.com/downloads. In Windows PowerShell cp works; if it fails, copy .env.example to .env in File Explorer.

The first start downloads about 140 MB of exercise media, so wait a little. Then open http://localhost:8080 and tap Create profile. Seeing the home screen means it worked.

Note: to use it from a phone with fingerprint/Face ID sign-in (passkeys) you need an HTTPS address on your own domain. That is outside this guide; see https://github.com/DuarteSantos8/openGym/blob/main/docs/SELF_HOSTING.md

4. First use

  1. Open the app and set up a routine: pick one of four starter plans (Push/Pull/Legs, Upper/Lower, Full Body, 5×5) or build your own.
  2. On a training day, today's workout appears by itself with last time's weights pre-filled.
  3. After each set, log reps and weight; the rest timer runs between sets.
  4. Open the stats screen for charts and personal records.

If you used FitNotes, Strong or Hevy, the app can import your old data.

5. Common problems and fixes

SignCauseFix
Android blocks the .apkThe phone does not yet allow installs from outside Google PlayFollow the prompt and allow it for the browser or file manager you used
"App not installed" or it will not openIncomplete download or a very old phoneDownload again from the official Releases page and retry
docker: command not found or cannot connect to DockerDocker is not installed or not runningInstall Docker, start Docker Desktop, wait until it says it is running, rerun the command
http://localhost:8080 does not loadContainers still starting, or port 8080 is takenRun docker compose ps; change WEB_PORT in .env and rerun docker compose up -d
Passkey prompt does not appear on a phonePasskeys only work over HTTPS or on localhostUse the standalone Android app, or set up HTTPS per the project's guide

6. Uninstall and update

  • Android app: uninstall like any app. Data in the app is lost, so export a backup first under Settings → Data. According to the project the app checks for updates itself.
  • Docker server: stop with docker compose down. Data lives in the data folder next to docker-compose.yml; backing up that folder is enough. For updating, see the "Updating" section of the project's self-hosting guide.

7. FAQ

Does it cost anything? No. Per the project FAQ: no subscription, no paid tier, no ads. There is an optional donation link.

Is my data sent anywhere? Per the project FAQ, the default install has no telemetry. In the Android app data stays in private storage. Only the optional "AI coach" (off by default) sends training data to the AI provider you configure.

Does it need internet? To download the install file, yes; the project says the app works offline.

Is there an iPhone app? Not on the App Store. See "Not a fit if" in section 1.

Was it written with AI? Per the project FAQ, it is developed with Claude Code, and the maintainer reviews and tests every release.

Written by GitHot and checked against the project's official documentation. If a step is wrong or unclear, message GitHot through the channels at the bottom of the page.

SEE WHY IT'S HOT

Watch the original review

Go back to the video that brought you here.

Watch on TikTok ↗

Don't miss the next repo

Every new repo gets a video review, with its install guide right here.

Follow on TikTok ↗

HISTORY

Seen on GitHub Trending

  1. Oct 5#103,745