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?
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)”.
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.
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
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.
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.
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 .
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