Self-Host Wger auf Raspberry Pi, um Ihre Workouts und Gewinne zu planen und zu verfolgen

Self-Host Wger auf Raspberry Pi, um Ihre Workouts und Gewinne zu planen und zu verfolgen

Die Planung Ihres Fitnessprogramms ist schwierig, und es ist schwieriger, den Überblick zu behalten. Wger ist eine selbst gehostete Web-App, die Ihnen hilft, Ihre Ziele zu verfolgen, Ihre Masse zu maximieren, Ihren Bizeps zu bewerten und Ihre Ernährung zu entwickeln. Es ist einfach einzurichten und wird mit mobilen Apps geliefert, um Ihren Fortschritt auf allen Geräten zu synchronisieren.

Warum selbst eine Workout-Tracking-Web-App auf Raspberry Pi hosten?

stark bemuskelter kerl in einer superman-weste, der übung macht

Wenn Sie ernsthaft Muskeln aufbauen, Gewicht verlieren oder anderweitig die Leistung und Ästhetik Ihres Körpers verbessern möchten, ist es wichtig, einen Plan zu erstellen und einen Plan zu führen und Aufzeichnungen zu führen.

Sie müssen wissen, was in Ihren Körper gelangt und welche lebenswichtigen Kalorien er als Brennstoff verbraucht. Sie müssen sicherstellen, dass Ihr Training ausgewogen und effektiv ist. Genauso wichtig ist, dass Sie messen müssen, welche Auswirkungen Ihr Training und Ihre Ernährung haben. Sind deine Oberschenkel dicker? Deine Gesäßmuskeln straffer? Bewegt sich Ihr Gewicht in die gewünschte Richtung?

Es gibt Dutzende von Apps, die Ihnen helfen, diese Faktoren zu verfolgen und aufzuzeichnen. Die meisten enthalten jedoch Werbung und basieren entweder auf einer Abonnementzahlungsoption oder verwenden das Freemium-Modell, wobei bestimmte Funktionen nicht funktionieren, es sei denn, Sie zahlen eine einmalige Gebühr. Fast alle sammeln Ihre Daten, sodass Sie von Werbefirmen verfolgt werden können, während Sie Ihre Muskelmasse verfolgen.

Eine andere Alternative besteht darin, Ihre Ernährung und Ihr Training in einer Excel-Tabelle akribisch aufzuzeichnen.

Wger ist ein voll ausgestatteter Trainingsmanager, den Sie selbst auf Ihrem Raspberry Pi hosten können. Es ist kostenlos und Open Source, was bedeutet, dass Sie es auf beliebige Weise ändern oder verteilen können. Es gibt keine Funktionen, die hinter Paywalls gesperrt sind, und da es auf Ihrer eigenen Hardware läuft, können Sie sicher sein, dass Sie auch niemand verfolgt.

So installieren Sie den Wger Workout Manager auf Ihrem Raspberry Pi

Wger ist eine ziemlich kräftige Anwendung, daher empfehlen wir Ihnen, einen Raspberry Pi 4B zu verwenden, wenn Ihnen einer zur Verfügung steht.

Befolgen Sie unsere Anleitung, um Ihren Raspberry Pi als Webserver einzurichten, und verbinden Sie sich dann mit Secure Shell (SSH) mit dem Pi.

Aktualisieren und aktualisieren Sie alle Pakete und klonen Sie dann das wger ​​GitHub-Repository in ein neues Verzeichnis:

git clone https://github.com/wger-project/docker.git wger

Wechseln Sie in das neue Verzeichnis und verwenden Sie dann den Nano-Texteditor, um die Docker Compose-Datei zu öffnen:

cd wger
nano docker-compose.yml

Zum Zeitpunkt des Schreibens fehlt der Docker Compose-Datei eine Versionsanweisung am Anfang der Datei. Das bedeutet, dass es beim Versuch, Docker Compose aufzurufen, nicht funktioniert und die folgenden Fehler angezeigt werden:

Nicht unterstützte Konfigurationsoption für Netzwerke: ‚default

Nicht unterstützte Konfigurationsoption für Dienste: „nginx

Nicht unterstützte Konfigurationsoption für Volumes: „postgres-data

Sie müssen eine Version von Docker Compose angeben. Es ist wichtig, eine Version vor Version 3 zu verwenden, da bestimmte Syntaxunterstützung, die in der wger ​​Docker Compose-Datei verwendet wurde, in Version 3 der Docker Compose-Spezifikation entfernt, aber dann in Version 3.9 wieder eingeführt wurde – die derzeit nicht für Raspberry Pi OS verfügbar ist. Wenn Sie beispielsweise die Version 3.7 angeben, erhalten Sie diese oder ähnliche Fehlermeldungen:

services.web.depends_on enthält einen ungültigen Typ, es sollte ein Array sein

Wir haben festgestellt, dass die zuverlässigste Docker Compose-Version, um besser zum Laufen zu kommen, 2.2 war. Fügen Sie die folgende Zeile ganz am Anfang Ihrer Docker Compose-Datei ein:

version: '2.2'

Nginx ist in der Docker Compose-Datei von wger ​​enthalten, und wger ​​benötigt es, um zu funktionieren. Standardmäßig lauscht Nginx auf Port 80. Wenn Sie Ihren Pi jedoch zum Hosten anderer Websites und Dienste verwenden und unsere Anleitung zum Einrichten als Server befolgt haben, lauscht Apache bereits auf Port 80. Scrollen Sie nach unten zu nginx Abschnitt und suchen Sie die Zeile unter ports: die lautet 80:80 . Ändern Sie dies zu:

81:80

Speichern und beenden Sie nano mit Strg + O und dann Strg + X . Rufen Sie Docker Compose im getrennten Modus auf:

docker-compose up -d

…und warten Sie, während Docker Compose Images herunterlädt und die erforderlichen Container einrichtet. Führen Sie nach Abschluss des Vorgangs Folgendes aus:

docker-compose ps

…um den Status der Container zu sehen. Jeder sollte den Status „Up (gesund)“ haben.

Ausgabe von docker-compose ps im coolen Retro-Stil

Sie können jetzt Ihre wger-Instanz unter your-pi-local-ip-address:81 besuchen . Sie sehen ein inspirierendes Hintergrundbild von muskulösen Armen, die eine Langhantel in einem Schleier aus Schweißtropfen und Kreidestaub loslassen, aber Sie können sich nicht registrieren oder anmelden.

Um einen Domänennamen für den Zugriff auf wger ​​zu verwenden, besuchen Sie die DNS-Seite Ihres Registrars und erstellen Sie einen neuen „A“-Eintrag. Setzen Sie den Host auf „@“ und den Wert auf Ihre öffentliche IP-Adresse.

Navigieren Sie zurück im Terminal zum Verzeichnis „ sites-available “ von Apache und verwenden Sie nano, um eine neue Konfigurationsdatei zu erstellen:

cd /etc/apache2/sites-available
sudo nano wger.conf

Fügen Sie in der neuen Datei Folgendes ein:

<VirtualHost *:80>
ServerName your-domain.tld
ProxyPass / http://127.0.0.1:81/
ProxyPassReverse / http:/127.0.0.1:81/
ProxyPreserveHost On
</VirtualHost>

Speichern und beenden Sie nano mit Strg + O , dann Strg + X . Aktivieren Sie die Konfiguration und starten Sie dann Apache neu:

sudo a2ensite wger.conf
sudo service apache2 restart

Sie können Ihre wger-Instanz jetzt mit Ihrem Domainnamen von jedem Browser aus besuchen. Klicken Sie oben auf der Seite auf die Schaltfläche Registrieren und geben Sie Ihren Namen, Ihre E-Mail-Adresse und Ihr Passwort ein. Tun Sie nichts weiter, oder Sie erhalten eine Fehlermeldung, die lautet:

CSRF-Verifizierung fehlgeschlagen. Anfrage abgebrochen

Dies liegt daran, dass wger ​​Django als Datenbank verwendet und erfordert, dass vertrauenswürdige Quellen in einer separaten Umgebungsdatei definiert werden.

wger-Umgebungsdatei in nano

Fahren Sie Ihre Container herunter und verwenden Sie dann nano, um diese Datei zu öffnen:

docker-compose down
nano config/prod.env

Legen Sie die „Von“-Adresse für E-Mails fest und passen Sie Ihre Zeitzone an. Suchen Sie nun nach einer Zeile, die beginnt:

CSRF_TRUSTED_ORIGINS

Ändern Sie dies so, dass es Ihre Webadressen sowie die Loopback-Adresse des Pi enthält, und kommentieren Sie dann die folgende Zeile aus:

X_FORWARDED_PROTO_HEADER_SET=True

Wenn Sie nicht möchten, dass zufällige Personen im Internet auf Ihre wger-Instanz zugreifen, um ihre Workouts zu verfolgen, scrollen Sie weiter nach unten zum Abschnitt „Anwendung“ und legen Sie Folgendes fest:

ALLOW_REGISTRATION=False
ALLOW_GUEST_USERS=False

Speichern und beenden Sie nano mit Strg + O , dann Strg + X .

Als letztes müssen Sie TLS-Zertifikate und Verschlüsselungsschlüssel einrichten, um sicherzustellen, dass Schnüffler keinen Man-in-the-Middle-Angriff (MITM) verwenden können, um Ihren Datenverkehr abzufangen.

sudo certbot

Wählen Sie Ihren Domänennamen aus der Liste aus, und Certbot ruft TLS-Zertifikate und Verschlüsselungsschlüssel ab und stellt sie bereit. Starten Sie Apache erneut, damit die Änderungen wirksam werden:

sudo service apache2 restart

Jede Verbindung zu Ihrer wger-Trainingsseite wird auf HTTPS aktualisiert.

Verwenden Sie Wger auf Raspberry Pi, um Ihre Fitness zu verwalten

Frau hockt mit Langhantel

Nach all der harten Arbeit mit der Tastatur sind Sie fast bereit, ins Fitnessstudio zu gehen! Melden Sie sich mit den zuvor angegebenen Anmeldeinformationen bei Ihrem Konto an und Sie sehen ein leeres Dashboard mit drei Abschnitten: „Training“, „Ernährungsplan“ und „Gewicht“. Es liegt an Ihnen, die Daten in jedes dieser Felder einzugeben, indem Sie die grünen Schaltflächen am Ende jeder Spalte verwenden.

Wger-Dashboard

Sie können Einträge entweder manuell erstellen oder oben auf jeder Seite auf die Menüleiste für jede Kategorie klicken und eine CSV-Datei mit Ihren Daten importieren.

Das Menü für Training enthält alles, was mit Ihrem Training zu tun hat, einschließlich Zeitpläne, Kalender, Galerie und mehr. Klicken Sie auf Workouts und dann auf Workout hinzufügen . Geben Sie Ihrem Training einen Namen und aktivieren Sie dann die Kontrollkästchen, um die Tage auszuwählen, an denen Sie es durchführen möchten. Sobald Sie auf Speichern klicken , können Sie bestimmte Übungen zu Ihrem Trainingsprogramm hinzufügen. Während Sie in das Feld tippen, werden Vorschläge angezeigt, die diesen Text enthalten.

wger Vorschläge für Crunch-Übungen

Wenn Sie die Übungen ausgewählt haben, können Sie mit einem Schieberegler die Anzahl der Wiederholungen einstellen und Details wie die beteiligten Gewichte hinzufügen. Speichern Sie das Training und Sie sehen eine Zusammenfassung, in der die zu trainierenden Muskelgruppen rot hervorgehoben sind. Sie können jeder Trainingseinheit Notizen hinzufügen, indem Sie auf das Zahnrad klicken und Neues Gewichtsprotokoll auswählen .

Beispiel für Wger-Workout

Unter Ernährung können Sie Ihren BMI überprüfen, Ernährungspläne erstellen und Ihre tägliche Kalorienzufuhr berechnen. Zutaten müssen nicht gesucht werden: Sie wählen Ihre täglichen Mahlzeiten aus über 78.000 Produkten aus und sehen die Nährwerte. Fügen Sie Mahlzeiten zum Ernährungsplan hinzu und behalten Sie im Kalender den Überblick über Ihre Ernährung.

Verfolgen Sie Ihr Training unterwegs

Nicht viele Leute nehmen einen Laptop mit ins Fitnessstudio, und obwohl wger ​​in den meisten Browsern gut angezeigt wird, funktioniert es besser, wenn Sie die dedizierte wger-App für Android verwenden . Die App ist auch bei Google Play verfügbar .

Nachdem Sie die App auf Ihrem Android-Gerät installiert haben, öffnen Sie sie wie gewohnt und wählen Sie Benutzerdefinierten Server verwenden aus . Geben Sie Ihren Benutzernamen und Ihr Passwort ein und geben Sie dann die URL Ihres Servers ein.

Die mobile wger-App funktioniert genauso wie die Web-App. Sie können auf Ihre Trainingsprotokolle zugreifen, Trainingseinheiten hinzufügen und Ihre Ernährungspläne eingeben.

Installieren Sie Wger auf Ihrem Raspberry Pi: Erfolg

Wger ist die perfekte Lösung, wenn dir Datenschutz wichtig ist und du ernsthafte Workouts und Diäten planen möchtest, ohne dass deine Daten an Dritte verkauft werden. Wenn Sie dies nicht betrifft, ziehen Sie eines der vielen kommerziellen Angebote in Betracht, die in mobilen App-Stores verfügbar sind.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert