The self-hosted workout tracker you actually own.
Self-hosted, mobile-first workout & nutrition tracking — a free, no-subscription alternative to Hevy and Strong. Your data stays on your server.
Demo login demo@lyftr.local /
password123 · resets hourly
Why self-host Lyftr?
A modern workout tracker that's yours — open, free, and running on your own server.
Self-hosted
Your data never leaves your server — no cloud account required.
Open source (MIT)
No black box. Read it, fork it, audit it, extend it.
Free forever
No subscription and no paywalled features. All of it, always.
Own your data
Everything lives in one SQLite file you fully control.
Mobile-first
A native Android app plus a fast, responsive web UI.
One-command deploy
Up and running with Docker in a couple of minutes.
Everything you track, in one place
800+ exercise library
Auto-seeded on first startup from free-exercise-db — no API key, no setup.
Program builder
Reusable workout templates you can start with one tap.
Guided active workout
Set-by-set flow so you always know what’s next.
Gym Mode + rest timer
Full-screen, one exercise at a time, with a built-in rest timer.
PRs & progression charts
Personal records, progression graphs, and a muscle diagram per exercise.
Dashboard
Volume trends, a consistency heatmap, and muscle-group balance.
Weight tracking
Log bodyweight and watch the trend graph — lbs or kg.
Nutrition tracking
Calories, macros, barcode scan, and food search.
Self-host in one command
No clone. No build. No Go install. Just Docker.
curl -o docker-compose.yml https://raw.githubusercontent.com/Cawlumm/lyftr/main/docker-compose.yml
curl -o .env https://raw.githubusercontent.com/Cawlumm/lyftr/main/.env.example
# set a strong JWT_SECRET (32+ chars) in .env, then:
docker compose up -d
Then open http://localhost and create your account.
Full guide in the self-hosting docs.
Runs on
Single SQLite file · minimal RAM · no external services.
Own your training data.
Try the demo now, or deploy your own instance in a couple of minutes.