Self-Host Wger na Raspberry Pi, aby planować i śledzić swoje treningi i zyski

Self-Host Wger na Raspberry Pi, aby planować i śledzić swoje treningi i zyski

Planowanie reżimu fitness jest trudne, a śledzenie go jest trudniejsze. Wger to samodzielnie hostowana aplikacja internetowa, która pomaga śledzić cele, maksymalizować masę, porównywać bicepsy i opracowywać dietę. Jest prosty w konfiguracji i zawiera aplikacje mobilne do synchronizacji postępów na różnych urządzeniach.

Dlaczego warto samodzielnie hostować aplikację internetową do śledzenia treningu na Raspberry Pi?

mocno umięśniony facet w kamizelce supermana podczas ćwiczeń

Jeśli poważnie myślisz o zdobyciu mięśni, utracie wagi lub poprawie wydajności i estetyki swojego ciała w inny sposób, ważne jest, aby sporządzić plan i zachować plan oraz prowadzić dokumentację.

Musisz wiedzieć, co trafia do twojego organizmu i ile kalorii zużywa jako paliwo; musisz upewnić się, że Twoje treningi są zrównoważone i efektywne. Co równie ważne, musisz mierzyć efekty swoich treningów i diet. Czy twoje uda są grubsze? Twoje pośladki są bardziej napięte? Czy Twoja waga porusza się w pożądanym kierunku?

Istnieją dziesiątki aplikacji, które pomogą Ci śledzić i rejestrować te czynniki. Większość jednak zawiera reklamy i albo opiera się na opcji płatności abonamentowej, albo korzysta z modelu freemium, z niektórymi funkcjami niefunkcjonalnymi, chyba że uiszczasz jednorazową opłatę. Prawie wszystkie z nich zbierają twoje dane, więc możesz być śledzony przez firmy reklamowe, nawet gdy śledzisz swoją masę mięśniową.

Inną alternatywą jest prowadzenie skrupulatnych zapisów diety i treningów w arkuszu kalkulacyjnym Excel.

Wger to w pełni funkcjonalny menedżer treningów, który możesz samodzielnie hostować na swoim Raspberry Pi. Jest darmowy i open source, co oznacza, że ​​możesz go modyfikować lub rozpowszechniać w dowolny sposób. Żadne funkcje nie są zablokowane za płatnymi zaporami, a ponieważ działa na sprzęcie, który posiadasz, możesz być pewien, że nikt Cię nie śledzi.

Jak zainstalować Wger Workout Manager na swoim Raspberry Pi

Wger to dość rozbudowana aplikacja, więc sugerujemy użycie Raspberry Pi 4B, jeśli jest dostępna.

Postępuj zgodnie z naszym przewodnikiem, aby skonfigurować Raspberry Pi jako serwer WWW, a następnie połącz się z Pi za pomocą Secure Shell (SSH).

Zaktualizuj i zaktualizuj wszystkie pakiety, a następnie sklonuj repozytorium wger ​​GitHub do nowego katalogu:

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

Przejdź do nowego katalogu, a następnie użyj edytora tekstu nano, aby otworzyć plik Docker Compose:

cd wger
nano docker-compose.yml

W chwili pisania tego tekstu w pliku Docker Compose brakuje dyrektywy wersji na górze pliku. Oznacza to, że jeśli spróbujesz uruchomić Docker Compose, nie zadziała i zobaczysz następujące błędy:

Nieobsługiwana opcja konfiguracji dla sieci: „domyślna

Nieobsługiwana opcja konfiguracji dla usług: „nginx

Nieobsługiwana opcja konfiguracji woluminów: „postgres-data

Musisz określić wersję Docker Compose. Konieczne jest użycie wersji wcześniejszej niż wersja 3, ponieważ niektóre funkcje obsługi składni używane w pliku wger ​​Docker Compose zostały usunięte w wersji 3 specyfikacji Docker Compose, a następnie ponownie wprowadzone w wersji 3.9 — która jest obecnie niedostępna dla systemu operacyjnego Raspberry Pi. Jeśli na przykład określisz wersję 3.7, zobaczysz ten lub podobny komunikat o błędzie:

services.web.depends_on zawiera nieprawidłowy typ, powinna to być tablica

Odkryliśmy, że najbardziej niezawodną wersją Docker Compose, dzięki której wger ​​działa, była wersja 2.2. Wstaw następujący wiersz na samym początku pliku Docker Compose:

version: '2.2'

Nginx jest zawarty w pliku wger ​​Docker Compose, a wger ​​wymaga go do działania. Domyślnie Nginx nasłuchuje na porcie 80. Jeśli jednak używasz swojego Pi do hostowania innych witryn i usług i postępujesz zgodnie z naszym przewodnikiem, aby skonfigurować go jako serwer, Apache już nasłuchuje na porcie 80. Przewiń w dół do nginx sekcji i znajdź linię poniżej ports: która brzmi 80:80 . Zmień to na:

81:80

Zapisz i wyjdź z nano za pomocą Ctrl + O , a następnie Ctrl + X. Uruchom Docker Compose w trybie odłączonym:

docker-compose up -d

…i poczekaj, aż Docker Compose pobierze obrazy i skonfiguruje niezbędne kontenery. Po zakończeniu procesu uruchom:

docker-compose ps

…by zobaczyć stan kontenerów. Każdy powinien mieć status „Up (zdrowy)”.

wyjście docker-compose ps w fajnym stylu retro

Możesz teraz odwiedzić swoją instancję wger ​​pod adresem your-pi-local-ip-address:81 . Zobaczysz inspirujący obraz tła z mocno umięśnionymi ramionami wypuszczającymi sztangę w oparach kropelek potu i pyłu kredowego, ale nie będziesz mógł się zarejestrować ani zalogować.

Aby użyć nazwy domeny w celu uzyskania dostępu do wger, odwiedź stronę DNS swojego rejestratora i utwórz nowy rekord „A”. Ustaw hosta na „@”, a wartość na swój publiczny adres IP.

Wróć do terminala, przejdź do katalogu dostępnych witryn Apache i użyj nano, aby utworzyć nowy plik konfiguracyjny:

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

W nowym pliku wklej:

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

Zapisz i wyjdź z nano za pomocą Ctrl + O , a następnie Ctrl + X . Aktywuj konfigurację, a następnie uruchom ponownie Apache:

sudo a2ensite wger.conf
sudo service apache2 restart

Możesz teraz odwiedzić swoją instancję wger ​​ze swoją nazwą domeny z dowolnej przeglądarki. Naciśnij przycisk Zarejestruj się u góry strony i wprowadź swoje imię i nazwisko, adres e-mail i hasło. Nie rób nic więcej, w przeciwnym razie pojawi się komunikat o błędzie o następującej treści:

Weryfikacja CSRF nie powiodła się. Żądanie przerwane

Dzieje się tak, ponieważ wger ​​używa Django jako bazy danych i wymaga zdefiniowania zaufanych źródeł w oddzielnym pliku środowiska.

plik środowiska wger ​​w nano

Opuść kontenery, a następnie użyj nano, aby otworzyć ten plik:

docker-compose down
nano config/prod.env

Ustaw adres „od” dla wiadomości e-mail i dostosuj strefę czasową. Teraz poszukaj linii, która zaczyna się:

CSRF_TRUSTED_ORIGINS

Zmień to, aby zawierało twoje adresy internetowe, a także adres sprzężenia zwrotnego Pi, a następnie odkomentuj następujący wiersz:

X_FORWARDED_PROTO_HEADER_SET=True

Jeśli nie chcesz, aby przypadkowe osoby w Internecie uzyskiwały dostęp do Twojej instancji wger ​​w celu śledzenia swoich treningów, przewiń w dół do sekcji „Aplikacja” i ustaw:

ALLOW_REGISTRATION=False
ALLOW_GUEST_USERS=False

Zapisz i wyjdź z nano za pomocą Ctrl + O , a następnie Ctrl + X .

Ostatnią rzeczą do zrobienia jest skonfigurowanie certyfikatów TLS i kluczy szyfrowania, aby upewnić się, że szpiedzy nie będą mogli użyć ataku typu man-in-the-middle (MITM) do przechwycenia ruchu.

sudo certbot

Wybierz nazwę swojej domeny z listy, a Certbot pobierze i wdroży certyfikaty TLS i klucze szyfrujące. Zrestartuj Apache jeszcze raz, aby zmiany odniosły skutek:

sudo service apache2 restart

Każde połączenie z Twoją witryną treningową wger ​​zostanie zaktualizowane do protokołu HTTPS.

Użyj Wger na Raspberry Pi, aby zarządzać swoją kondycją

kobieta w kucki ze sztangą

Po całej tej ciężkiej pracy z klawiaturą jesteś prawie gotowy do wyjścia na siłownię! Zaloguj się na swoje konto przy użyciu danych, które podałeś wcześniej, a zobaczysz pusty pulpit nawigacyjny z trzema sekcjami: „Trening”, „Plan odżywiania” i „Waga”. Do Ciebie należy wprowadzenie danych do każdej z nich, używając zielonych przycisków na dole każdej kolumny.

pulpit wgera

Możesz utworzyć wpisy ręcznie lub kliknąć pasek menu dla każdej kategorii u góry każdej strony i zaimportować plik CSV ze swoimi danymi.

Menu Trening zawiera wszystko, co dotyczy Twoich treningów, w tym harmonogramy, kalendarz, galerię i inne. Kliknij Treningi , a następnie Dodaj trening . Nadaj nazwę swojemu treningowi, a następnie zaznacz pola wyboru, aby wybrać dni, w które chcesz to zrobić. Gdy klikniesz Zapisz , będziesz mieć możliwość dodania określonych ćwiczeń do swojej rutyny treningowej. Podczas wpisywania w polu zobaczysz sugestie zawierające ten tekst.

Wger sugestie dotyczące crunchu

Po wybraniu ćwiczeń możesz użyć suwaka, aby ustawić liczbę powtórzeń i dodać szczegóły, takie jak ciężar. Zapisz trening, a zobaczysz podsumowanie z grupami mięśni, które mają być trenowane, podświetlonymi na czerwono. Możesz dodawać notatki do dowolnej sesji treningowej, klikając koło zębate i wybierając Nowy dziennik wagi .

przykładowy trening wger

W sekcji Odżywianie możesz sprawdzać swoje BMI, tworzyć plany żywieniowe i obliczać dzienne spożycie kalorii. Nie musisz szukać składników: wybierasz swoje codzienne posiłki spośród ponad 78 000 produktów i widzisz wartości odżywcze. Dodaj posiłki do planu żywieniowego i prowadź przegląd swojej diety w kalendarzu.

Śledź swoje treningi w ruchu

Niewiele osób zabiera laptopa na siłownię i chociaż wger ​​wyświetla się dobrze w większości przeglądarek, działa lepiej, jeśli używasz dedykowanej aplikacji wger ​​na Androida . Aplikacja jest również dostępna w Google Play .

Po zainstalowaniu aplikacji na urządzeniu z Androidem otwórz ją w zwykły sposób i wybierz Użyj niestandardowego serwera . Wprowadź swoją nazwę użytkownika i hasło, a następnie wprowadź adres URL swojego serwera.

Aplikacja mobilna wger ​​działa tak samo jak aplikacja internetowa. Możesz uzyskać dostęp do dzienników treningów, dodawać treningi i wprowadzać plany posiłków.

Zainstaluj Wger na swoim Raspberry Pi: Sukces

Wger to idealne rozwiązanie, jeśli zależy Ci na prywatności i chcesz planować poważne treningi i diety bez sprzedawania Twoich danych osobom trzecim. Jeśli Cię to nie dotyczy, rozważ jedną z wielu ofert komercyjnych dostępnych w sklepach z aplikacjami mobilnymi.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *