Self-Host Wger no Raspberry Pi para planejar e acompanhar seus treinos e ganhos

Self-Host Wger no Raspberry Pi para planejar e acompanhar seus treinos e ganhos

Planejar seu regime de condicionamento físico é difícil e acompanhá-lo é mais difícil. Wger é um aplicativo da web auto-hospedado para ajudá-lo a rastrear seus alvos, maximizar sua massa, comparar seus bíceps e planejar sua dieta. É simples de configurar e vem com aplicativos móveis para sincronizar seu progresso entre os dispositivos.

Por que auto-hospedar um aplicativo da Web de rastreamento de treino no Raspberry Pi?

cara fortemente musculoso em um colete super-homem fazendo exercício

Se você leva a sério ganhar músculos, perder peso ou melhorar o desempenho e a estética do seu corpo, é importante fazer um plano, manter um plano e manter registros.

Você precisa saber o que entra em seu corpo e as calorias vitais que ele consome como combustível; você precisa ter certeza de que seus treinos são equilibrados e eficazes. Tão importante quanto isso, você precisa medir os efeitos que seus treinos e dietas estão tendo. Suas coxas são mais grossas? Seus glúteos mais apertados? Seu peso está se movendo na direção que você deseja?

Existem dezenas de aplicativos que o ajudarão a rastrear e registrar esses fatores. A maioria, no entanto, contém anúncios e é baseada em uma opção de pagamento por assinatura ou usa o modelo freemium, com certos recursos não funcionais, a menos que você pague uma taxa única. Quase todos eles coletam seus dados, para que você possa ser rastreado por empresas de publicidade enquanto monitora sua massa muscular.

Outra alternativa é manter registros meticulosos de sua dieta e exercícios em uma planilha do Excel.

O Wger é um gerenciador de exercícios completo que você pode hospedar no seu Raspberry Pi. É gratuito e de código aberto, o que significa que você pode modificá-lo ou distribuí-lo da maneira que desejar. Não há recursos bloqueados por paywalls e, como está sendo executado no hardware que você possui, você pode ter certeza de que ninguém está rastreando você também.

Como instalar o Wger Workout Manager no seu Raspberry Pi

Wger é um aplicativo bastante robusto, então sugerimos que você use um Raspberry Pi 4B se houver um disponível para você.

Siga nosso guia para configurar seu Raspberry Pi como um servidor da Web e, em seguida, conecte-se ao Pi usando o Secure Shell (SSH).

Atualize e atualize todos os pacotes e, em seguida, clone o repositório wger ​​GitHub para um novo diretório:

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

Mude para o novo diretório e use o editor de texto nano para abrir o arquivo Docker Compose:

cd wger
nano docker-compose.yml

No momento da redação, o arquivo Docker Compose não possui uma diretiva de versão na parte superior do arquivo. Isso significa que, se você tentar abrir o Docker Compose, não funcionará e verá os seguintes erros:

Opção de configuração não suportada para redes: ‘default

Opção de configuração não suportada para serviços: ‘nginx

Opção de configuração não suportada para volumes: ‘postgres-data

Você precisará especificar uma versão do Docker Compose. É essencial usar uma versão anterior à versão 3, pois determinado suporte de sintaxe usado no arquivo wger ​​Docker Compose foi removido na versão 3 da especificação Docker Compose, mas reintroduzido na versão 3.9, que atualmente não está disponível para o Raspberry Pi OS. Se você especificar a versão 3.7, por exemplo, verá esta ou outras mensagens de erro semelhantes:

services.web.depends_on contém um tipo inválido, deve ser uma matriz

Descobrimos que a versão mais confiável do Docker Compose para fazer o wger ​​funcionar era a 2.2. Insira a seguinte linha no início do seu arquivo Docker Compose:

version: '2.2'

O Nginx está incluído no arquivo wger ​​Docker Compose e o wger ​​requer que ele funcione. Por padrão, o Nginx escuta na porta 80. No entanto, se você estiver usando seu Pi para hospedar outros sites e serviços e seguiu nosso guia para configurá-lo como um servidor, você já tem o Apache escutando na porta 80. Role para baixo até o nginx seção e localize a linha abaixo de ports: onde se lê 80:80 . Altere isso para:

81:80

Salve e saia do nano com Ctrl + O e depois Ctrl + X . Abra o Docker Compose no modo desanexado:

docker-compose up -d

…e aguarde enquanto o Docker Compose baixa as imagens e configura os contêineres necessários. Quando o processo estiver concluído, execute:

docker-compose ps

…para ver o status dos contêineres. Cada um deve ter o status “Up (saudável)”.

saída do docker-compose ps no termo retrô legal

Agora você pode visitar sua instância wger ​​em your-pi-local-ip-address:81 . Você verá uma imagem de fundo inspiradora de um conjunto de braços fortemente musculosos liberando uma barra em uma névoa de gotas de suor e pó de giz, mas não poderá se registrar ou fazer login.

Para usar um nome de domínio para acessar o wger, visite a página DNS do seu registrador e crie um novo registro “A”. Defina o host como “@” e o valor como seu endereço IP público.

De volta ao terminal, navegue até o diretório de sites disponíveis do Apache e use o nano para criar um novo arquivo de configuração:

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

No novo arquivo, cole:

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

Salve e saia do nano com Ctrl + O , depois Ctrl + X . Ative a configuração e reinicie o Apache:

sudo a2ensite wger.conf
sudo service apache2 restart

Agora você pode visitar sua instância wger ​​com seu nome de domínio em qualquer navegador. Clique no botão Registrar na parte superior da página e digite seu nome, endereço de e-mail e senha. Não faça mais nada, ou você receberá uma mensagem de erro que diz:

A verificação CSRF falhou. Solicitação abortada

Isso ocorre porque o wger ​​usa o Django como um banco de dados e requer que as fontes confiáveis ​​sejam definidas em um arquivo de ambiente separado.

arquivo de ambiente wger ​​em nano

Desative seus contêineres e use o nano para abrir este arquivo:

docker-compose down
nano config/prod.env

Defina o endereço “de” para e-mails e ajuste seu fuso horário. Agora procure uma linha que começa:

CSRF_TRUSTED_ORIGINS

Altere isso para que contenha seus endereços da Web, bem como o endereço de loopback do Pi e, em seguida, descomente a seguinte linha:

X_FORWARDED_PROTO_HEADER_SET=True

Se você não deseja que pessoas aleatórias na Internet acessem sua instância wger ​​para rastrear seus treinos, role para baixo até a seção “Aplicativo” e defina:

ALLOW_REGISTRATION=False
ALLOW_GUEST_USERS=False

Salve e saia do nano com Ctrl + O , depois Ctrl + X .

A última coisa a fazer é configurar certificados TLS e chaves de criptografia para garantir que bisbilhoteiros não possam usar um ataque man-in-the-middle (MITM) para interceptar seu tráfego.

sudo certbot

Selecione seu nome de domínio na lista e o Certbot buscará e implantará certificados TLS e chaves de criptografia. Reinicie o Apache mais uma vez para que as alterações entrem em vigor:

sudo service apache2 restart

Qualquer conexão com seu site de treino wger ​​será atualizada para HTTPS.

Use o Wger no Raspberry Pi para gerenciar seu condicionamento físico

mulher agachada com barra

Depois de tanto trabalho com o teclado, você está quase pronto para ir para a academia! Faça login em sua conta usando as credenciais fornecidas anteriormente e você verá um painel vazio com três seções: “Treino”, “Plano de nutrição” e “Peso”. Cabe a você inserir os dados em cada um deles, usando os botões verdes na parte inferior de cada coluna.

painel wger

Você pode criar entradas manualmente ou clicar na barra de menu de cada categoria na parte superior de cada página e importar um arquivo CSV com seus dados.

O menu de Treino contém tudo o que tem a ver com os seus treinos, incluindo horários, calendário, galeria e muito mais. Clique em Exercícios e em Adicionar Exercício . Dê um nome ao seu treino e marque as caixas de seleção para selecionar os dias em que deseja fazê-lo. Depois de clicar em Salvar , você poderá adicionar exercícios específicos à sua rotina de exercícios. Conforme você digita na caixa, você verá sugestões que contêm este texto.

sugestões wger ​​para exercício de trituração

Depois de selecionar os exercícios, você pode usar um controle deslizante para definir o número de repetições e adicionar detalhes como os pesos envolvidos. Salve o treino e você verá um resumo, com os grupos musculares a serem treinados destacados em vermelho. Você pode adicionar notas a qualquer sessão de treino clicando na engrenagem e selecionando Novo registro de peso .

exemplo de treino wger

Em Nutrição , você pode verificar seu IMC, criar planos nutricionais e calcular sua ingestão calórica diária. Não há necessidade de procurar ingredientes: você escolhe suas refeições diárias entre mais de 78.000 produtos e vê os valores nutricionais. Adicione refeições ao plano nutricional e mantenha uma visão geral de sua dieta no calendário.

Acompanhe seus treinos em qualquer lugar

Poucas pessoas levam um laptop para a academia e, embora o wger ​​seja bem exibido na maioria dos navegadores, funciona melhor se você usar o aplicativo wger ​​dedicado para Android . O aplicativo também está disponível no Google Play .

Depois de instalar o aplicativo em seu dispositivo Android, abra-o normalmente e escolha Usar servidor personalizado . Insira seu nome de usuário e senha e, em seguida, insira a URL do seu servidor.

O aplicativo móvel wger ​​funciona da mesma forma que o aplicativo da web. Você pode acessar seus registros de treinamento, adicionar exercícios e inserir seus planos de refeições.

Instale o Wger no seu Raspberry Pi: sucesso

O Wger é a solução perfeita se você se preocupa com a privacidade e deseja planejar exercícios e dietas sérias sem que seus dados sejam vendidos a terceiros. Se isso não for do seu interesse, considere uma das muitas ofertas comerciais disponíveis nas lojas de aplicativos móveis.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *