Um celular com a tela quebrada virou servidor doméstico.
Este é o registro de como um Samsung Galaxy S21+ fora de uso passou a hospedar um site, uma API e um domínio próprio — e de todos os problemas reais que apareceram no caminho.
De aparelho quebrado a laboratório de estudo
A tela do S21+ parou de funcionar, mas o resto do aparelho continuava perfeito: processador, memória, rede, bateria. Em vez de deixar guardado, a ideia foi transformá-lo em um pequeno servidor doméstico.
A primeira decisão importante veio logo no início: em vez de tentar dar root ou trocar o sistema operacional, o Android ficou como está — sem root, com SELinux em modo Enforcing. Todo o trabalho de servidor acontece dentro do Termux, um ambiente Linux de usuário que roda sobre o próprio kernel do Android.
Isso manteve o aparelho estável e, ao mesmo tempo, deu acesso a um ambiente Linux completo: SSH, Python, NGINX, supervisor de serviços, tudo isso sem tocar no sistema base.
Da primeira porta aberta ao HTTPS válido
Cada etapa resolveu um problema criado pela etapa anterior. A ordem importa — é assim que um servidor de verdade evolui.
Três problemas reais (e o que eles ensinaram)
Um homelab de verdade não é só configuração bem-sucedida — é também diagnóstico. Estes foram os bugs mais instrutivos do projeto.
Arquitetura atual do servidor
Uma API que prefere dizer "não sei" a inventar um número
O Android 15 restringe o acesso a partes do /proc. Quando a API não consegue medir algo com confiança — como o uso de CPU — ela retorna null em vez de simular um valor.
O que já roda e o que ainda está em aberto
concluído
- Termux + estrutura ~/lab
- servidor Python + NGINX
- SSH por chave Ed25519 (sem senha)
- IP fixo via reserva DHCP
- runit supervisionando os serviços
- NAT/port forwarding 443 → 8443
- domínio homelabs21.duckdns.org
- DDNS automático a cada 5 min
- HTTPS válido via Let's Encrypt
- API de monitoramento + reverse proxy
- Fedora com VS Code, Git, Node.js
em aberto
- persistência completa após reboot
- corrigir falso positivo do monitor NGINX
- VPN para administração remota
- HSTS e vhost TLS padrão
- repositório Git + primeiro commit
- API em Node.js + SQLite
- sistema de comentários com moderação
- site como diário de estudos completo
- jogo "Entregue o Pacote"
- bloqueador de anúncios para a LAN
Duas máquinas, dois papéis
A decisão mais recente do projeto: separar onde se aprende de onde se serve.
Fedora
Onde o código nasce, é testado e versionado antes de ir para produção.
- VS Code + Git 2.55
- Node.js 24 + npm
- Insomnia e SQLite (planejados)
S21+
Onde o site, a API e o HTTPS realmente ficam no ar para o mundo.
- NGINX + site + /api/status
- DuckDNS + Let's Encrypt
- runit supervisionando tudo