Skip to main content

FLOSS workout, fitness and weight manager/tracker written with Django

Project description


wger (ˈvɛɡɐ) Workout Manager is a free, open source web application that help you manage your personal workouts, weight and diet plans and can also be used as a simple gym management utility. It offers a REST API as well, for easy integration with other projects and tools.

For a live system, refer to the project's site:

Workout plan


These are the basic steps to install and run the application locally on a Linux system. There are more detailed instructions, other deployment options as well as an administration guide available at or locally in your code repository in the docs folder.

Please consult the commands' help for further information and available parameters.


If you want to host your own instance, take a look at the provided docker compose file. This config will persist your database and uploaded images:


If you just want to try it out:

    docker run -ti --name wger.apache --publish 8000:80 wger/apache

Then just open http://localhost:8000 and log in as admin, password adminadmin

Please note that this image will overwrite your data when you pull a new version, it is only intended as an easy to setup demo

Development version


We provide a docker compose file that sets everything up for development and persists the database on a volume. From the root folder just call

docker-compose -f extras/docker/compose/docker-compose.yml up

For more info, check the README in wger/extras/docker/compose.

Local installation (git)

Note: You can safely install from master, it is almost always in a usable and stable state.

Install the necessary packages

sudo apt-get install python3-dev nodejs npm git
sudo npm install -g yarn sass

Make a virtualenv where we will install the python packages

python3 -m venv venv-wger
source venv-wger/bin/activate

Start the application. This will download the required JS and CSS libraries and create a SQlite database and populate it with data on the first run. If you want to use another database, edit the file before calling bootstrap. You will need to create the database and user yourself.

git clone
cd wger
pip install -r requirements.txt
python3 develop
wger create-settings
wger bootstrap
wger load-online-fixtures
python3 runserver

Log in as: admin, password adminadmin

After the first run you just start django's development server::

python runserver

Command line options

You can get a list of all available commands by calling wger without any arguments:

  • bootstrap Performs all steps necessary to bootstrap the application
  • config-location Returns the default location for the settings file and the data folder
  • create-or-reset-admin Creates an admin user or resets the password for an existing one
  • create-settings Creates a local settings file
  • load-fixtures Loads all fixtures
  • migrate-db Run all database migrations
  • start Start the application using django's built in webserver

To get help on a specific command: wger <command> --help.


Feel free to contact us if you found this useful or if there was something that didn't behave as you expected. We can't fix what we don't know about, so please report liberally. If you're not sure if something is a bug or not, feel free to file a bug anyway.


All the code and the content is available on github:


The application is licensed under the Affero GNU General Public License 3 or later (AGPL 3+).

The initial exercise and ingredient data is licensed additionally under one of the Creative Commons licenses, see the individual exercises for more details.

The documentation is released under a CC-BY-SA: either version 4 of the License, or (at your option) any later version.

Some images were taken from Wikipedia, see the SOURCES file in their respective folders for more details.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for wger, version 2.0
Filename, size File type Python version Upload date Hashes
Filename, size wger-2.0-py2.py3-none-any.whl (6.4 MB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size wger-2.0.tar.gz (6.1 MB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page