DuarteSantos8 / openGym
git clone https://github.com/DuarteSantos8/openGym.git
v1.4.1 · 10d ago
🔥 on GitHub Trending today
Self-hosted gym & body-weight tracker — plan routines, log workouts (supersets, warm-ups, cardio), see which muscles are trained, fatigued or detrained, import from FitNotes/Strong/Hevy, passkey login. Your data, your server.
—
stars, 24h
+3.6k
stars, 7 days · #25
+13k
stars, 30 days · #24
14k
★ total · +34% this week
1.8k
forks · 247 open issues
Star history starts 2026-10-20; the chart appears after the second daily snapshot.
LanguageJavaScript
LicenseAGPL-3.0
Created2026-07-18 (3mo ago)
Last pushtoday
Watchers32
OwnerUser
Seen on GitHub Trending
- 2026-10-20 — #5 monthly in javascript · +12,897 ★
- 2026-10-20 — #3 weekly in javascript · +3,621 ★
GitHub topics
bodyweightdockerfitnessfitness-trackergymhealthmcpnodejspasskeysprogressive-web-applicationspwareactself-hostedself-hostingvitewebauthnweightliftingworkout-tracker
Links
- GitHub: github.com/DuarteSantos8/openGym
- Homepage: https://opengym.ch
- Releases · Issues · Hacker News mentions
README excerpt
**A self-hosted gym and body-weight tracker you actually own.** Plan your week, run guided workouts, log every set and your body weight, on your phone, synced across your devices, behind your own passkey login. Website · Live demo · Android APK · Self-hosting guide · Roadmap · Changelog Home · today's workout and weight Guided workout · demos and sets Stats · heatmap, charts and PRs ## Why openGym Most workout apps keep your data on their servers, push you towards a subscription, or vanish when the company does. openGym runs on your own box, keeps your data in a folder you control, and is yours to fork. It still behaves like a modern app: installable on the home screen, passkey sign-in, works offline, syncs between your phone and your laptop. No account on someone else's server, no subscription, no ads, no telemetry. One `docker compose up` and it's running. The in-browser demo is the real app with example data, if you want to try it before installing anything. ## Features **Planning** - A routine per weekday over a library of **over 5,600 exercises** with animated demos, searchable and browsable by muscle on a body map. Filter by the equipment you own. - Four starter plans (Push/Pull/Legs, Upper/Lower, Full Body, 5×5) that load as ordinary, editable routines. - Move a session to another day without touching the weekly plan. The week starts on Monday or Sunday, your choice. - Or skip the weekdays altogether: a **rotation** (A, B, C, A, ...) where the next session is simply the next one you haven't done, however the week went. - Supersets, warm-up sets, drop sets and rest-pause, timed exercises (planks, hangs, carries), cardio by time and speed, rest time per exercise, planned deloads. - Your own exercises, with your own photo, GIF or short video. Location data is stripped on the device before upload. **Training** - Guided sessions: today's workout starts itself, weights are pre-filled from last time, a rest timer runs between sets, PRs are detected as you go. On a rest day it tells you when the next session is. - A quiet workout screen: one menu per exercise, the set number as the set's own menu, card or list view. Switches in Settings bring the old button rows back if you liked them. - Optional effort column as RIR or RPE, colour-coded, with a plain-language line per level. - Plate math for barbell, EZ bar, trap bar and Smith machine, worked out from the plates you own. - Bodyweight exercises know they carry no load: log reps, add a dip belt if you use one. - Per-side reps for lunges and single-arm work, the screen stays awake while you train, and a rest-timer alert can flash the screen for loud gyms. - Swipe a set left to delete it (with Undo) or right to copy it. Pyramid sets with their own reps and rest per set, and a scroll wheel for any rest time up to 15 minutes. **Progress** - Progression rules per routine or per exercise: linear, Greyskull LP, double progression through a visible rep range, triple progression (reps, th