A Gym Tracker You Actually Own
You've probably tried a workout app at some point. Maybe it was great for a while, until the subscription kicked in or the company got acquired and your years of logged lifts disappeared into a server you never controlled. openGym takes the opposite approach: it's a gym tracker you host yourself, with no account on someone else's server, no subscription, and no ads.
What It Does
openGym is a self-hosted workout tracking app that runs on your own hardware. You spin it up with a single docker compose up, and it behaves like a modern app despite living on your box. It's installable on your phone's home screen, supports passkey sign-in, works offline, and syncs between your phone and laptop. Your data stays in a folder you control, and the whole thing is yours to fork.
The feature set is genuinely substantial. On the planning side, you get a routine per weekday built over a library of more than 5,600 exercises with animated demos that are searchable and browsable. It's available on iOS through the App Store and on Android via an APK download from the releases page. The project ships under the AGPL-3.0 license and includes a test suite wired up through GitHub Actions.
Why It's Cool
-
Your data stays put. Most fitness apps treat your workout history as their asset. openGym inverts that—the data lives in a folder you own, on a server you run. If the project ever stops being maintained, you still have everything, and you have the source to keep it working.
-
It doesn't feel like a compromise. Self-hosted tools often come with a "good enough, I guess" tax: clunky interfaces, missing mobile support, no offline mode. openGym claims the opposite—installable on the home screen, passkeys instead of passwords, offline support, and sync across devices. That's the feature checklist of a polished commercial app, not a weekend script.
-
The exercise library is real. Over 5,600 exercises with animated demos, searchable and browsable, is a lot of groundwork. Building that library is tedious work most solo projects skip, and it's the kind of thing that makes or breaks whether a tracker is actually usable day to day.
-
You can try before you commit. There's a live in-browser demo running the real app with example data. No install, no signup—just poke around and see if it fits how you train. That's a confident move for a self-hosted project.
-
One command to run it. Docker Compose means the deployment story is short. For a self-hosted app aimed at regular people rather than sysadmins, that matters.
How to Try It
The fastest way to get a feel for it is the demo:
- Open the live demo in your browser. It's the actual app with sample data.
If you like what you see, there are a few ways to run it for real:
- Self-host with Docker. Follow the self-hosting guide in the repo, which walks through the
docker compose upsetup. - Install on iOS from the App Store.
- Install on Android by grabbing the latest APK from the releases page.
The repo also links a roadmap and changelog, so you can see where the project is headed and what's already shipped. If you want to get involved or just lurk, there's a Discord community linked from the README.
Final Thoughts
openGym is for people who lift regularly and have gotten tired of renting access to their own training history. If you already run a home server or a small VPS and you're comfortable with Docker, the setup cost is low and the payoff—a modern-feeling tracker with no recurring bill—is obvious. If you've never self-hosted anything, the one-command deploy and the demo lower the barrier considerably, though you'll still be maintaining a server. It's a well-scoped project doing a specific thing properly, and that's worth a look.
Follow @githubprojects for more developer tools and open source projects.