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.


Mobile app

Get it on Google Play


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 https://wger.readthedocs.io or locally

in your code repository in the docs folder.

Please consult the commands’ help for further information and available



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 settings.py file before calling

bootstrap. You will need to create the database and user yourself.

git clone https://github.com/wger-project/wger.git
cd wger
pip install -r requirements.txt
python3 setup.py develop
wger create-settings
wger bootstrap
wger load-online-fixtures
python3 manage.py runserver

Log in as: admin, password adminadmin

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

python manage.py runserver

Command line options

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


  • 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.



Source: https://pythonawesome.com/self-hosted-floss-fitness-workout-nutrition-and-weight-tracker-written-with-django/