aboutsummaryrefslogtreecommitdiff
path: root/content/blog/2023-01-28-self-hosting-wger.md
diff options
context:
space:
mode:
authorChristian Cleberg <hello@cleberg.net>2024-07-28 19:46:20 -0500
committerChristian Cleberg <hello@cleberg.net>2024-07-28 19:46:20 -0500
commit2be43cc479dfd4cfb621f14381330c708291e324 (patch)
tree7ac50f99425c5524c0820360754045b80d1bafcc /content/blog/2023-01-28-self-hosting-wger.md
parentafe76ac7d7498b862abaa623790b91410e34574d (diff)
downloadcleberg.net-2be43cc479dfd4cfb621f14381330c708291e324.tar.gz
cleberg.net-2be43cc479dfd4cfb621f14381330c708291e324.tar.bz2
cleberg.net-2be43cc479dfd4cfb621f14381330c708291e324.zip
conversion from Zola to Weblorg
Diffstat (limited to 'content/blog/2023-01-28-self-hosting-wger.md')
-rw-r--r--content/blog/2023-01-28-self-hosting-wger.md142
1 files changed, 0 insertions, 142 deletions
diff --git a/content/blog/2023-01-28-self-hosting-wger.md b/content/blog/2023-01-28-self-hosting-wger.md
deleted file mode 100644
index 3f223a9..0000000
--- a/content/blog/2023-01-28-self-hosting-wger.md
+++ /dev/null
@@ -1,142 +0,0 @@
-+++
-date = 2023-01-28
-title = "Self-Hosting Wger Workout Manager"
-description = ""
-draft = false
-+++
-
-# Wger: The Self-Hosted Workout Manager
-
-[Wger Workout Manager](https://wger.de) is a fitness tracking tool for those who
-enjoy self-hosting their data. You can also register an account on their main
-website if you'd prefer to try without self-hosting.
-
-## Features
-
-I didn't see a full listing of features anywhere, so I compiled this list of my
-own after installing wger:
-
-1. Dashboard
-
- - Dashboard view of Workout Schedule, Nutrition Plan, Weight Graph, & last
- 5 Weight Logs
-
-2. Training
-
- - Workout Log
- - Workout Schedule
- - Calendar (shows weight logs and Bad/Neutral/Good days)
- - Gallery (shows images you upload)
- - Workout templates
- - Public templates
- - Exercises
-
-3. Nutrition
-
- - Nutrition plans
- - BMI calculator
- - Daily calories calculator
- - Ingredient overview
-
-4. Body Weight
-
- - Weight overview
-
-## Documentation
-
-In order to self-host wger, I opted to use the Docker version of the
-application. You can read the README within the
-[wger-project/docker](https://github.com/wger-project/docker) project on GitHub
-for information and installation instructions.
-
-## Installation
-
-To start the installation, I created a folder for wger and started creating the
-three necessary files:
-
-```sh
-mkdir ~/wger && mkdir ~/wger/config
-touch ~/wger/docker-compose.yml && \
-touch ~/wger/config/prod.env && \
-touch ~/wger/config/nginx.conf
-```
-
-Once you have the folders and files created, you will need to copy the contents
-of the `docker-compose.yml`, `prod.env`, and `nginx.conf` from the GitHub link
-above.
-
-A few notes to explain the changes I made to the default files:
-
-- I updated the `ALLOW_REGISTRAION` variable in `prod.env` to `False` after I
- created an account via my LAN connection, **before** I connected this app to
- a publicly-available domain.
-- I uncommented and updated `CSRF_TRUSTED_ORIGINS` to be equal to the public
- version of this app: `https://wger.example.com`.
-- I updated the port within `docker-compose.yml`, within the `nginx` block.
- The port I updated this to will be reflected in my nginx configuration file
- on the server (NOT the wger nginx.conf file).
-
-## Deploy
-
-Once all files are created and modified to your needs, simply start the
-container.
-
-```sh
-docker-compose up -d
-```
-
-You can now visit the website on your LAN by going to `localhost:YOUR_PORT` or
-by the server's IP, if you're not on the same machine that is running the
-container.
-
-If you wish to connect this app to a public domain name, you'll need to point an
-`A` DNS record from the domain to your server's public IP. You'll then need to
-create a configuration file for whichever web server or reverse proxy you're
-using.
-
-Wger's README suggests the following reverse proxy configuration for Nginx:
-
-```conf
-upstream wger {
- # This port should match the port in the `nginx` block of docker-compose.yml
- # If the container is running on this same machine, replace this with
- # server 127.0.0.1:8080
- server 123.456.789.0:8080;
-}
-
-server {
- listen 80;
- listen [::]:443 ssl;
- listen 443 ssl;
-
- location / {
- proxy_pass http://wger;
- proxy_set_header Host $http_host;
- proxy_set_header X-Real-IP $remote_addr;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_set_header X-Forwarded-Proto $scheme;
- proxy_redirect off;
- }
-
- server_name my.domain.example.com;
-
- ssl_certificate /path/to/https/certificate.crt;
- ssl_certificate_key /path/to/https/certificate.key;
-}
-```
-
-# Thoughts on Wger
-
-I'm still playing around with the app itself, but it seems to be a solid
-all-around workout manager, weight log, and food log.
-
-I like that the weight log graph is fluid and updates quickly. You can also
-import or export data in CSV format if you'd like to move your data elsewhere.
-
-The workout manager is slightly odd, as it requires you to enter sets and reps
-for each exercise when you enter it into the plan. Then, when you add a log
-entry for performing a workout, you then add what you actually performed, in
-terms of reps and weight.
-
-I haven't tried the food log yet and I likely will not, at least for a while. I
-have no need for a food log or calorie tracker at the moment.