Este guia mostra como transformar um celular Android sem uso em um pequeno servidor doméstico com postmarketOS, com base em um caso de hospedagem de páginas web usando um Fairphone 2 de 2015. O objetivo é reduzir o lixo eletrônico e incentivar a reutilização. No fim, você terá um pequeno servidor doméstico capaz de executar serviços básicos.
O que você vai precisar
- Um celular Android sem uso
- Carregador e fonte de energia
- Conexão Wi‑Fi
- Um computador rodando Linux (nativo ou máquina virtual)
Etapa 1: instalar o postmarketOS
Primeiro, instale o postmarketOS no celular. Verifique na página de dispositivos se o seu aparelho é bem suportado e mantenha essa página aberta durante toda a instalação.
Depois de instalar o pmbootstrap, gere a imagem e faça o flash.
Gerar a imagem:
- Atualizar as portas e inicializar as informações do dispositivo:
$ pmbootstrap pull $ pmbootstrap init- No codinome do dispositivo, informe o que está listado na página do aparelho.
- Para a interface, escolha
console(opção mínima) oufbkeyboard(com teclado na tela).
- Gerar a imagem:
$ pmbootstrap install
Fazer o flash da imagem:
- Veja na página do dispositivo como inicializar em modo de flash (geralmente ligando o aparelho enquanto mantém pressionado o botão de "volume down").
- Conecte o celular ao computador e inicialize em modo de flash.
- Siga as instruções da seção "Installation" na página do dispositivo.
- Fazer flash do sistema de arquivos raiz:
$ pmbootstrap flasher flash_rootfs - Reinicie o aparelho e verifique se o postmarketOS inicia corretamente.
Etapa 2: configurar o servidor
Faça login no celular com postmarketOS instalado. O nome de usuário e a senha padrão são user / 147147.
- Fazer login por SSH com o celular conectado ao computador:
$ ssh user@172.16.42.1 - Conectar à rede Wi‑Fi:
$ nmcli device wifi connect your_wifi_network --ask
Agora o servidor local no celular está pronto. Comando para verificar o endereço IP local do aparelho:
$ ip -4 addr show wlan0 | grep inet | awk '{print $2}' | cut -d'/' -f1
(geralmente no formato 192.168.1.x). Deixe o celular conectado em um local seguro e acesse via Wi‑Fi:
ssh user@192.168.1.x
Etapa 3: servir uma página web
Configure um servidor web para hospedar uma página HTML simples.
- Criar o diretório
/var/www/html/:sudo mkdir -p /var/www/html/ - Escrever um arquivo HTML simples Hello World:
$ sudo sh -c 'echo "<h1>hello world</h1>" > /var/www/html/index.html' - Adicionar uma regra do nftables para permitir pacotes de entrada na porta 80 (no arquivo
/etc/nftables.d/99_http.nft):inet filter input tcp dport 80 ct state new accept - Reiniciar o nftables:
$ sudo systemctl restart nftables - Iniciar o servidor web:
$ httpd -h /var/www/html/ - Testar: verificar com curl no computador:
(o texto$ curl 192.168.1.x<h1>hello world</h1>será exibido). Verifique também digitando o endereço IP no navegador de um dispositivo conectado à mesma rede Wi‑Fi. (O servidor HTTP não reinicia automaticamente após reboot.)
Extra: acesso remoto
Por segurança, não abra a porta SSH 22 para a internet; em vez disso, configure o acesso VPN no roteador (a maioria oferece suporte pela interface web). Depois de se conectar à VPN, acesse por SSH a partir da rede local. Se você abrir a porta 22 para a internet, desative o login por senha e configure chaves SSH.
Extra: manutenção
Atualizar pacotes:
$ sudo apk update
$ sudo apk upgrade
Próximos passos
Na seção avançada (ainda em construção), você aprenderá a configurar domínio e HTTPS, além de como manter o servidor HTTP ativo após reinicializações.
Este guia foi criado por Louis Merlin sob a licença CC BY-NC-SA 4.0.
4 comentários
Eu gosto desse tipo de coisa.
Para começar de forma leve, algo como o Termux já dá conta. Dá para usar até para subir um Grafana num tablet sem uso.
Mas o Android OS reage de forma hostil quando funciona como servidor.
Tomando como base um Note10 que foi restaurado para o padrão de fábrica em 2024,
se os processos-filho passam de 6, ele mata.
Mesmo ficando em estado ocioso por muito tempo, ele também mata.
Isso acontece mesmo desativando todas as otimizações relacionadas à bateria.
Sem tocar na tela, só consegui manter rodando por no máximo 72 horas; depois disso desisti.
Você já tentou desativar o phantom process killer?
Será que a bateria aguenta bem?
Vai acabar estufando, né