With most cloud-based apps trying their hardest to collect your precious data, self-hosted services have become a refuge for privacy-conscious users. Whether it’s a self-hosted Nextcloud instance, a Jellyfin-based media server, or a Firefly III budgeting server, there are a myriad of apps you can run locally on your hardware to keep your private information out of the clutches of giant corporations.

Then you’ve got obscure services like wger, a fitness tracking application you can self-host on your home lab. If that sounds intriguing, then read on! Here’s everything you need to know to manage your training regimen like a pro with wger.

👁 The app collection in YunoHost
Turn your old PC into a self-hosting battlestation with YunoHost

Want a simple server OS that's laden with apps and can run on practically any system? YunoHost is what you're looking for!

What’s wger, anyway?

And why should you use it?

Designed to help gym-goers and health enthusiasts stay on top of their workout game, wger is a service that provides detailed tracking facilities for fitness plans. The app lets you create training routines, where you can configure the number of reps and sets. The built-in workout list includes everything from simple calisthenics to advanced lifting and resistance training loads. Plus, you can check the target muscle groups for each exercise and fine-tune your workout plan per your training needs.

Likewise, wger also helps you keep tabs on your weight, and you can even upload your gym photos to your private server to track your weight gain (or loss) over longer periods. The app also doubles as a solid meal planner and features a daily calorie calculator to help you stick to a strict diet.

Deploying a wger instance

As with most self-hosting services, you can run wger as a Docker container on your home lab. While you can configure Docker Desktop on Windows 11, I recommend keeping things simple by deploying a Linux VM and setting up Docker Engine on it. Once you’ve configured Docker Engine, you can follow these steps to whip up a wger server:

  1. Launch the terminal app pre-installed on the Linux distro.
  2. (Optional) If your distro doesn’t include the git package, you can install it with the apt package manager.
    sudo apt install git -y
  3. Use the git clone command to download the wger repository.
    git clone https://github.com/wger-project/docker
  4. Switch to the newly-created docker folder with the cd command.
    cd docker
  5. Execute the docker compose command to get the wger container up and running.
    sudo docker compose up -d

Accessing the wger web UI

Once Docker has pulled the necessary images, it will deploy the wger container, and you can access it via a web interface. To do so,

  1. Type the IP address of your Docker machine into the web browser on any PC connected to the same network. If you want to access the wger container within the same system, you can replace the IP address with the localhost string.
  2. Inside the wger web UI, click on the Register button.
  3. Enter a Username, Email, and Password to create a local account for wger.

Creating a workout plan with wger

With that, you’ll arrive at the wger dashboard, where you can explore different tabs to monitor your exercise regimen. But if the wger UI seems overwhelming, you can follow these steps to create a training routine:

  1. Select Workouts from the Training tab before clicking on the + option.
  2. Inside the Workout page, press the Add Training Day button.
  3. Enter a Description, pick the Days for your exercise plan, and tap Save.
  4. Click on the + icon under the workout plan you just created.
  5. Choose the Exercise and modify the Unit (metric), Weight (of the equipment), RiR, and other settings before hitting Save.
  6. Repeat this process for other training days and muscle groups.

Stay in tip-top shape with wger

Besides the Workouts section, wger has a couple of other tabs you can check out to gain better insights on your muscle training plans. If you want to track your BMI, you can use the Weight and Gallery tabs. Meanwhile, the Ingredient Overview, Daily Calorie Calculator, and Nutritional Plan tabs help you keep an eye on your calorie consumption.