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/2026SIGNUP BONUS
Sign up and get 5 xu to try the AI tools
Every new GitHot account gets 5 xu — enough to run the AI Repo Explainer, MCP Config Generator or Repo Health Check. Free, just an email or Google.
- 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.
- Windows: press the Windows key, type "PowerShell", then press Enter.
- macOS: press Command + Space, type "Terminal", then press Enter.
- Linux: press Ctrl + Alt + T.
- Copy a command from the guide, right-click inside the window you just opened to paste it (macOS: Command + V), then press Enter.
- 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:
| Way | You need | For whom |
|---|---|---|
| A. Try the demo in a browser | A computer or phone with a browser and internet | Just looking |
| B. Install the Android app | An Android phone | Real use, easiest |
| C. Run your own server | A computer with Docker, comfortable typing a few commands | Syncing 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)
- Open https://opengym.duarte-santos.ch/demo/
- 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
- 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.
- On a training day, today's workout appears by itself with last time's weights pre-filled.
- After each set, log reps and weight; the rest timer runs between sets.
- 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
| Sign | Cause | Fix |
|---|---|---|
| Android blocks the .apk | The phone does not yet allow installs from outside Google Play | Follow the prompt and allow it for the browser or file manager you used |
| "App not installed" or it will not open | Incomplete download or a very old phone | Download again from the official Releases page and retry |
docker: command not found or cannot connect to Docker | Docker is not installed or not running | Install Docker, start Docker Desktop, wait until it says it is running, rerun the command |
| http://localhost:8080 does not load | Containers still starting, or port 8080 is taken | Run docker compose ps; change WEB_PORT in .env and rerun docker compose up -d |
| Passkey prompt does not appear on a phone | Passkeys only work over HTTPS or on localhost | Use 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 thedatafolder next todocker-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.
Don't miss the next repo
Every new repo gets a video review, with its install guide right here.
HISTORY
Seen on GitHub Trending
- Oct 5#103,745