Open-source gym management software: read the licence first

In November 2026 there are three open-source-ish projects worth a gym owner's time, and they do very different jobs. GYM One is the best known (a PHP app with members, passes and a class schedule), but its own licence forbids rebranding or bundling it and lets the author change the terms at any time, so it isn't open source in the usual sense. Openfront Gym is MIT-licensed and has the most complete feature set, including class waitlists and Stripe memberships, but it had 8 commits and 1 star when I checked, and its one-click deploy template dates from late October 2026. wger is a solid AGPL-3.0 workout tracker with no class booking or billing. If what you need is selling classes from your own site, our MIT template Tensile does that on top of Opencals, which is hosted and not open source.
A gym owner usually types this search after the renewal email. Per-member pricing went up again, the add-ons for the app and the booking widget went up with it, and someone says there must be a free version you just install on a server.
I went through what actually comes up for "open source gym management software" on 5 November 2026: the directory lists, the GitHub results, and the projects that ship something a gym could run. Then I read each one's README, licence file and setup instructions, because with gym software the licence turned out to matter more than the feature list.
GYM One calls itself open source. Its licence says otherwise
GYM One is the project most of the search results point to, and Google even suggests its name after "open source gym management software". It's a PHP and MySQL app by Mayer Bálint, with 209 stars, 60 forks and 72 commits on its main repository when I looked.
The feature list fits a small gym well. Member records with membership status, expiry dates and attendance. "Tickets" for day passes and monthly memberships at different prices. A class schedule that members can sign up to online. Payment tracking and revenue reports in an admin panel. Its README says GYM One is "open-source gym management software", and the project site calls it "completely free and open source".
Then read the LICENSE file. It isn't MIT, GPL or any standard licence. It's a custom "GYM One License Agreement", version 1.0 from 27 June 2025, and a few of its clauses matter if you're choosing software for a business:
- You can't bundle it or rebrand it. The licensee "is not permitted to distribute the Software as part of or integrated into any other software. The Software must remain distinct and separate from other software products and cannot be sublicensed or rebranded."
- The author can change the terms. "The Licensor reserves the right to update or modify this Agreement at any time", and "continued use of the Software after any changes to the Agreement constitutes acceptance of the revised terms."
- Contributions change hands. Code or translations you submit "shall become the property of GYM One".
- Disputes go to Budapest. The agreement is governed by Hungarian law.
Using it in your own gym, commercially, is allowed. But a licence that forbids rebranding and bundling, and that the author can rewrite while you're using it, isn't an open-source licence in the OSI sense, whatever the README calls it. If you're a developer hoping to build a branded product for several gyms on top of it, that's a stop sign.
Two smaller things before installing it. The main README says PHP 7.4 or higher, while the separate installer repository you're told to use (version 1.3.0) says PHP 8.1 or higher, so go with the installer. And I couldn't find which payment gateways it supports: the README mentions setting up "payment integration for online transactions" without naming one.
Pick GYM One if you run one gym, you're happy to run it under its own name on a cheap PHP host, and you've read the licence.
Openfront Gym does the most, on eight commits
Openfront Gym is the opposite trade. It's MIT-licensed (the LICENSE file says so plainly), and on paper it covers more of a gym than anything else here:
- Class types, recurring schedules, capacity checks, bookings, cancellations and waitlists.
- Membership tiers, subscriptions, payment records and class-credit ledgers.
- Stripe for membership checkout, a billing portal, subscription changes, refunds and signed webhooks.
- Member QR codes, front-desk check-in and a kiosk mode.
- Trainer availability, personal-training appointments, packages and workout logs, plus retail sales and stock.
It's built on Next.js 16, KeystoneJS 6 with a GraphQL API, Prisma and PostgreSQL, and deploys to Vercel or Railway. It comes from openship, which publishes about thirty "Openfront" apps from the same base, from a salon and a hotel to an airline and a sportsbook.
The catch is maturity. When I looked it had 8 commits and 1 star, its Railway template was created on 25 October 2026, and its package.json still names the package "weekday-keystone" at version 0.1.0. Payments and email are switched off by default (STRIPE_ENABLED=false, MAIL_ENABLED=false) until you add your own Stripe and mail settings, and production needs S3-compatible storage. None of that is a fault, it's just what a new project looks like. Thirty apps from one organisation is also a fair reason to ask how many people will be fixing bugs in the gym one next year.
Pick Openfront Gym if you have a developer, you need memberships and recurring billing in code you own, and you're willing to read the code before members' card details depend on it.
wger is a training log, not a front desk
wger shows up because it's the best-known open-source fitness app, and it's a good one: workout routines with progression rules, nutrition logging against Open Food Facts, body weight and measurements, an exercise wiki, a REST API, apps on Android, iOS, F-Droid and Flathub, and a Docker setup for self-hosting. It's AGPL-3.0.
Its README describes the gym side honestly as "basic gym management features" for multi-user installs. There's no class timetable to book, no memberships to sell and no payments. That's not a criticism; it's a different product. It makes sense next to whatever runs your bookings, if you want members logging their training on a server you control.
The GitHub results are mostly coursework
Search GitHub for "gym management system" and most of what comes back are PHP and MySQL projects written for a course, with READMEs that open with the assignment ("To Design and Develop the GYM MANAGEMENT SYSTEM..."). They're useful for learning how the tables fit together. I wouldn't put real members' names, phone numbers and payment records in one without reading every line, and most haven't been touched since they were handed in.
Booking, billing and licence, checked 5 November 2026
| Class booking | Memberships | Online payments | Licence | Signs of life | |
|---|---|---|---|---|---|
| GYM One | Class schedule with online sign-up | Passes and memberships tracked | Payment records; gateway not documented | Custom: no rebranding or bundling, terms can change | 72 commits, 209 stars, installer 1.3.0 |
| Openfront Gym | Yes, with capacity and waitlists | Tiers, subscriptions, class credits | Stripe, off by default | MIT | 8 commits, 1 star, deploy template from 25 Oct 2026 |
| wger | No | No | No | AGPL-3.0 | Apps on Google Play, App Store, F-Droid, Flathub |
| Tensile + Opencals | Yes, beds left per class, no waitlist | No | Card at booking, or pay at the desk | Template MIT, engine hosted | Template published Oct 2026 |
The last row is the one I build, and it isn't open source in the same sense. The next section says exactly where the line is.
Your class timetable on your own domain, with the engine rented
I build Opencals, so weigh this section accordingly. Opencals is not open source. It's a hosted booking and checkout engine. What is open source, under MIT, is the code around it: our Next.js templates, the storefront SDK and the agent skills.
For a studio or gym that sells classes, the template is Tensile (live demo). It's a complete studio site you can fork and rebrand: a weekly timetable showing how many places are left in each class, full classes marked Full with a link to the next one with space, private sessions and dated workshops, extras at checkout, and member accounts to move or cancel a booking. The place is held while the member pays by card, or they choose to pay at the desk. For courts rather than classes, VOLT does the same for a padel or squash club.
Here's what it doesn't do, and for a lot of gyms it's the deciding part. The template sells single classes, not memberships. There are no class packs, no recurring monthly plans and no waitlist in it. Memberships are in beta on our side, so if a monthly direct debit is how your gym makes its money, Openfront Gym or a hosted studio platform fits better today. And availability, payments and member data live in Opencals, not on your server.
Pricing, from our pricing page on 5 November 2026: $0.99 per booking with no monthly fee, or $14.98 a month including 300 bookings, then $0.20 each, with group classes as a $7.49 a month add-on on that plan. Every member in every class is a booking, so a gym passes 16 bookings a month in the first week and the monthly plan is the one to look at. The Tensile write-up prices out a 12-bed room running 30 classes a week at about $211 a month. A free development store runs every feature in test mode, but it can't take real payments.
Tensile: free studio class booking template
MIT-licensed Next.js site with places left per class, privates, workshops and member accounts.
VOLT: free padel club template
Court booking on your own domain for padel, tennis and squash clubs.
Mindbody alternatives
If self-hosting isn't the point: hosted studio platforms with packs, memberships and waitlists.
Personal trainer booking software
Ten tools priced for trainers who sell sessions and packages.
Open-source booking systems in 2026
The wider picture after Cal.com closed its source: rooms, desks, clinics and services.
Open-source salon software
The same question for salons: what's free, and where the deposit stops being free.
My pick for a single gym, and the limits of this check
If I ran a single gym today, wanted to self-host and needed recurring memberships, I'd give Openfront Gym a serious look with a developer next to me, and I'd check its commit history again in three months. If I wanted something simpler on shared PHP hosting and never planned to rebrand or resell it, GYM One works, once you've read and accepted its licence. wger goes alongside either if members want a training log.
I didn't install any of these for this article. Everything above comes from the projects' READMEs, licence files, package.json and deploy pages, read on 5 November 2026. I can't tell you how any of them copes with a January rush of new members or a failed card renewal, because I haven't run one through that. Openfront Gym in particular is changing quickly, so check the repository before you rely on a detail here.
Frequently Asked Questions
Get started
Ready to transform your service business?
Join 150+ businesses already using Opencals. Start on a free development store with every feature unlocked, and only pay once you go live.





