wger
Free and open-source workout and fitness manager with self-hosting, cross-platform apps, and a powerful REST API.
Smart Download
Visit Project Homepage
No installer available yet — head to the source repository
Self-hosted, open-source fitness manager with apps, API, and no privacy trade-offs.
Core Features
- Custom workout routines with automatic weight progression
- Nutrition tracking via Open Food Facts database
- Progress photo gallery
- Built-in exercise wiki with community contributions
- Cross-platform apps (Android, iOS, Desktop via Flutter)
What It Can't Do
- •Self-hosting requires basic Docker/Linux knowledge; regular backups of database and media files are recommended; note API rate limits when querying Open Food Facts; initial load may be large due to exercise images; mobile apps need network access to your self-hosted server or to the official wger.de instance.
Use Cases
- Personal fitness enthusiasts who value privacy and customization
- Personal trainers managing multiple clients
- Small gyms wanting a self-hosted tracking solution
Detailed Introduction
wger (pronounced ˈvɛɡɐ) is a free and open-source workout and fitness manager that allows you to create custom workout routines with automatic weight progression, track diet plans and body measurements, log calories via the Open Food Facts database, and upload progress photos. It includes an exercise wiki, multi-user support, and basic gym management features. The project is self-hostable via Docker, has official Android and iOS apps, and is translated into many languages by the community. Its powerful REST API enables third-party integrations and automation. Licensed under AGPL-3.0.
Troubleshooting & FAQ (1)
TroubleshootingWhy does the wger API ignore ?name= or ?term= filters on /api/v2/exercise/ and return the full exercise catalog?
This is default Django REST Framework / django-filter behavior: unknown query parameters are silently ignored instead of rejected, so unsupported filters like ?name= or ?term= return the entire unfiltered list (and the first result is misleadingly always the same exercise). To search exercises by name, use the supported parameters: GET /api/v2/exerciseinfo/?name__search=leg%20press&language__code=en. Note that the old /api/v2/exercise/search/ endpoint was removed in wger 2.5 (see the 2.5 release notes) and now returns 404. If you are integrating an LLM agent or script, point it to the official wger MCP server (github.com/wger-project/mcp-server) or use the Python API client (github.com/wger-project/api-client), which is generated from the OpenAPI spec and validates parameters against a whitelist so unsupported filters fail instead of being ignored.
Tags
Getting Started
Download installer
Click the button above to download the installer for your system
Install the software
Double-click the downloaded installer and follow the prompts
Step 1: Install Docker and Docker Compose on your server
Step 2: Download the docker-compose.yml from the project's Docker repo
Step 3: Run 'docker compose up -d' in the terminal
- Step 1: Install Docker and Docker Compose on your server
- Step 2: Download the docker-compose.yml from the project's Docker repo
- Step 3: Run 'docker compose up -d' in the terminal
Checksum not available
This project has not published a SHA-256 checksum on its GitHub Release page
SHA256 Checksum
No checksum available
Download directly from GitHub Releases and verify file integrity yourself
All SHA-256 checksums on this platform are extracted from the project's official GitHub Release page, without any modification. You can independently verify them on the GitHub Releases page.
Open Source Transparency
View GitHub SourceUninstall Info
To remove the self-hosted instance: run 'docker compose down -v' in the project directory to stop containers and delete volumes, then delete the folder. If using the public wger.de service, simply delete your account or stop visiting.
No Extra Dependencies
Ready to use after download. No additional runtime required.
Having issues? Check the FAQ below
1 FAQ
Similar Projects
syncthing
A continuous file synchronization program that syncs files between devices securely and automatically, with no central server.
SearXNG
SearXNG is a free metasearch engine that combines results from over 70 search services while respecting your privacy. Self-host it to keep your data under your control.
rustdesk
An open-source remote desktop tool built in Rust, designed for self-hosting. Compared to TeamViewer, it offers full data control and zero-config out-of-the-box, making it a privacy-focused alternative.