Det er svært at planlægge dit fitnessregime, og det er sværere at holde styr på det. Wger er en selv-hostet web-app, der hjælper dig med at spore dine mål, maksimere din masse, benchmarke dine biceps og udtænke din kost. Det er nemt at konfigurere og leveres med mobilapps til at synkronisere dine fremskridt på tværs af enheder.
Hvorfor selv være vært for en træningssporingswebapp på Raspberry Pi?
Hvis du er seriøs omkring at tage på i muskler, tabe dig eller på anden måde forbedre din krops ydeevne og æstetik, er det vigtigt at lave en plan og holde en plan og føre optegnelser.
Du skal vide, hvad der går ind i din krop, og de vitale kalorier, den indtager som brændstof; du skal sørge for, at din træning er afbalanceret og effektiv. Lige så vigtigt er det, at du skal måle, hvilke effekter din træning og diæter har. Er dine lår tykkere? Dine glutes strammere? Bevæger din vægt sig i den retning, du vil have den til?
Der er snesevis af apps, som vil hjælpe dig med at spore og registrere disse faktorer. De fleste indeholder dog annoncer og er enten baseret på en abonnementsbetalingsmulighed eller bruger freemium-modellen, med visse funktioner, der ikke er funktionelle, medmindre du betaler et engangsgebyr. Næsten alle høster dine data, så du kan spores af reklamefirmaer, selvom du sporer din muskelmasse.
Et andet alternativ er at være omhyggelig registreringer af din kost og træning i et Excel-regneark.
Wger er en fuldt udstyret træningsmanager, som du selv kan hoste på din Raspberry Pi. Det er gratis og open source, hvilket betyder, at du kan ændre det eller distribuere det på enhver måde, du vælger. Der er ingen funktioner låst bag betalingsvægge, og fordi det kører på hardware, du ejer, kan du være sikker på, at ingen heller sporer dig.
Sådan installeres Wger Workout Manager på din Raspberry Pi
Wger er en temmelig kraftig applikation, så vi foreslår, at du bruger en Raspberry Pi 4B hvis der er en tilgængelig for dig.
Følg vores guide til konfigurer din Raspberry Pi som en webserver, derefter opret forbindelse til Pi ved hjælp af Secure Shell (SSH).
Opdater og opgrader alle pakker, og klon derefter wger GitHub-lageret til en ny mappe:
git klon https://github.com/wger-project/docker.git wger
Skift til den nye mappe, og brug derefter nano-teksteditoren til at åbne Docker Compose-filen:
cd wger
nanodocker-komponer.yml
I skrivende stund mangler Docker Compose-filen et versionsdirektiv øverst i filen. Det betyder, at hvis du forsøger at hente Docker Compose, vil det ikke virke, og du vil se følgende fejl:
Ikke-understøttet konfigurationsmulighed for netværk: 'standard'
Ikke-understøttet konfigurationsmulighed for tjenester: 'nginx'
Ikke-understøttet konfigurationsmulighed for volumener: 'postgres-data'
Du skal angive en version af Docker Compose. Det er vigtigt at bruge en version før version 3, da vis syntaksunderstøttelse brugt i wger Docker Compose-filen blev fjernet i version 3 af Docker Compose-specifikationen, men derefter genindført i version 3.9 - som i øjeblikket ikke er tilgængelig for Raspberry Pi OS. Hvis du for eksempel angiver version 3.7, vil du se denne eller lignende fejlmeddelelser:
services.web.depends_on indeholder en ugyldig type, den skal være en matrix
Vi fandt ud af, at den mest pålidelige Docker Compose-version til at få wger til at fungere var 2.2. Indsæt følgende linje helt i starten af din Docker Compose-fil:
version: '2.2'
Nginx er inkluderet i wger Docker Compose-filen, og wger kræver, at den fungerer. Som standard lytter Nginx på port 80. Men hvis du bruger din Pi til at være vært for andre websteder og tjenester og fulgte vores guide til at konfigurere den som en server, har du allerede Apache, der lytter på port 80. Rul ned til nginx afsnittet, og find linjen nedenfor havne: som lyder 80:80. Skift dette til:
81:80
Gem og afslut nano med Ctrl + O derefter Ctrl + X. Få Docker Compose frem i løsrevet tilstand:
docker-komponere op -d
…og vent, mens Docker Compose downloader billeder og opsætter de nødvendige containere. Når processen er færdig, skal du køre:
docker-compose ps
…for at se status for containerne. Hver enkelt skal have status "Op (sund)".
Du kan nu besøge din wger-instans på din-pi-lokale-ip-adresse: 81. Du vil se et inspirerende baggrundsbillede af et stærkt muskuløst sæt arme, der slipper en vægtstang i en dis af sveddråber og kridtstøv, men du vil ikke være i stand til at registrere eller logge ind.
For at bruge et domænenavn til at få adgang til wger skal du besøge din registrators DNS-side og oprette en ny "A"-record. Indstil værten til "@", og værdien til din offentlige IP-adresse.
Tilbage i terminalen, naviger til Apache's websteder-tilgængelige mappe, og brug nano til at oprette en ny konfigurationsfil:
cd /etc/apache2/sites-available
sudonanowger.conf
Indsæt i den nye fil:
<VirtualHost *:80>
Server navndit-domæne.tld
ProxyPass / http://127.0.0.1:81/
ProxyPassReverse / http:/127.0.0.1:81/
ProxyPreserveHost On
VirtualHost>
Gem og afslut nano med Ctrl + O, derefter Ctrl + X. Aktiver konfigurationen, og genstart derefter Apache:
sudoa2ensitewger.conf
sudo service apache2 genstart
Du kan nu besøge din wger-instans med dit domænenavn fra enhver browser. Tryk på Tilmeld knappen øverst på siden, og indtast dit navn, din e-mailadresse og din adgangskode. Gør ikke andet, ellers vil du modtage en fejlmeddelelse, der lyder:
CSRF-bekræftelse mislykkedes. Anmodning afbrudt
Dette skyldes, at wger bruger Django som en database og kræver, at pålidelige kilder defineres i en separat miljøfil.
Tag dine containere ned, og brug derefter nano til at åbne denne fil:
docker-komponere ned
nano config/prod.env
Indstil "fra"-adressen for e-mails, og juster din tidszone. Se nu efter en linje, der begynder:
CSRF_TRUSTED_ORIGINS
Skift dette, så det indeholder dine webadresser såvel som Pi'ens loopback-adresse, og fjern derefter følgende linje:
X_FORWARDED_PROTO_HEADER_SET=Rigtigt
Hvis du ikke ønsker, at tilfældige personer på internettet får adgang til din wger-instans for at spore deres træning, skal du rulle længere ned til sektionen "Applikation" og indstille:
ALLOW_REGISTRATION=Falsk
ALLOW_GUEST_USERS=Falsk
Gem og afslut nano med Ctrl + O, derefter Ctrl + X.
Den sidste ting at gøre er at konfigurere TLS-certifikater og krypteringsnøgler for at sikre, at snoopere ikke kan bruge en man-in-the-middle (MITM) angreb at opsnappe din trafik.
sudo certbot
Vælg dit domænenavn på listen, og Certbot henter og implementerer TLS-certifikater og krypteringsnøgler. Genstart Apache igen, for at ændringerne træder i kraft:
sudo service apache2 genstart
Enhver forbindelse til dit wger-træningssted vil blive opgraderet til HTTPS.
Brug Wger på Raspberry Pi til at administrere din kondition
Efter alt det hårde arbejde med tastaturet, er du næsten klar til at gå i fitnesscenteret! Log ind på din konto ved hjælp af de legitimationsoplysninger, du har angivet tidligere, og du vil se et tomt dashboard med tre sektioner: "Træning", "Ernæringsplan" og "Vægt". Det er op til dig at indtaste dataene i hver af disse ved at bruge de grønne knapper i bunden af hver kolonne.
Du kan enten oprette poster manuelt eller klikke på menulinjen for hver kategori øverst på hver side og importere en CSV-fil med dine data.
Menuen til Uddannelse indeholder alt, der har med din træning at gøre, inklusive skemaer, kalender, galleri og mere. Klik på Træning, derefter Tilføj træning. Giv et navn til din træning, og marker derefter afkrydsningsfelterne for at vælge de dage, du vil udføre den. Når du klikker Gemme, vil du være i stand til at tilføje specifikke øvelser til din træningsrutine. Mens du skriver i feltet, vil du se forslag, der indeholder denne tekst.
Når du har valgt øvelserne, kan du bruge en skyder til at indstille antallet af gentagelser og tilføje detaljer som f.eks. vægtene. Gem træningen, og du vil se en oversigt, med de muskelgrupper, der skal trænes, fremhævet med rødt. Du kan tilføje noter til enhver træningssession ved at klikke på tandhjulet og vælge Ny vægtlog.
Under Ernæring, kan du tjekke dit BMI, lave ernæringsplaner og beregne dit daglige kalorieindtag. Der er ingen grund til at søge efter ingredienser: du vælger dine daglige måltider blandt mere end 78.000 produkter og ser næringsværdierne. Tilføj måltider til ernæringsplanen og hold overblikket over din kost i kalenderen.
Spor dine træningspas på farten
Der er ikke mange, der tager en bærbar computer med i fitnesscentret, og selvom wger vises godt gennem de fleste browsere, fungerer det bedre, hvis du bruger den dedikerede Wger app til Android. Appen er også tilgængelig på Google Play.
Når du har installeret appen på din Android-enhed, skal du åbne den på den sædvanlige måde og vælge Brug tilpasset server. Indtast dit brugernavn og din adgangskode, og indtast derefter URL'en på din server.
Wger-mobilappen fungerer på samme måde som webappen. Du kan få adgang til dine træningslogfiler, tilføje træningspas og indtaste dine madplaner.
Installer Wger på din Raspberry Pi: Succes
Wger er den perfekte løsning, hvis du bekymrer dig om privatlivets fred, og du vil planlægge seriøs træning og diæter, uden at dine data bliver solgt til tredjepart. Hvis dette ikke bekymrer dig, så overvej et af de mange kommercielle tilbud, der er tilgængelige på mobilappbutikker.