2

Pitch: Transformei uma TV Box parada em um Homelab de Observabilidade

Faz algum tempo que tenho uma TV Box T95 Max Plus que usava para rodar emuladores com EmuELEC, mas estava parada.

TV Box T95 Max Plus

Esses dias, olhando para ela, pensei: "Poderia utilizar essa Box para rodar algo diferente?". Então, comecei a pesquisar sobre o que poderia ser feito com uma TV Box desse modelo e hardware — CPU Amlogic S905x3, 4GB RAM + 32GB eMMC + SD 128GB. Neste artigo, vou compartilhar minha saga tentando rodar esse projeto em um hardware bastante limitado.

Tive a grata surpresa de descobrir que seria possível rodar uma distro Linux adaptada para esse tipo de hardware. Com isso em mente, encontrei o Armbian

Mas, ao gravar a imagem no SD, não tive sucesso. Após mais um tempo de pesquisa, encontrei uma imagem do projeto Ophub e com ela tive sucesso na instalação e configuração. Outro detalhe é que preferi fazer todo o processo no cartão SD pela facilidade de gravar as imagens e não correr o risco de perder o Android original da Box.

Depois disso, pensei em instalar o Docker e rodar o Grafana para criar a observabilidade de uma API em formato de 'Homelab'.

O Projeto e os Desafios de Hardware

Diferente de programar em um ambiente com bom hardware (ao qual nós devs normalmente temos acesso), ao começar a implementar esse projeto, tive diversas dificuldades devido às limitações da TV Box. Tive que observar com cuidado o uso de CPU e memória de cada container (Grafana, Prometheus, etc.) para garantir que tudo rodasse sem travar.

A CPU aguentou bem o tranco, mas precisei limitar de forma rígida o uso de RAM de cada serviço. Para resolver isso, defini a configuração mem_limit para cada container diretamente no arquivo docker-compose.yml, como no exemplo abaixo:

services:
  grafana:
    ...
    mem_limit: 384m
  prometheus:
    ...
    mem_limit: 512m

Deixei todo o processo de configuração e os arquivos completos documentados no meu GitHub.

Conclusão

Dashboard do Grafana com métricas da API

Ao fim, consegui ver todo o processo de fato funcionando na TV Box. O Docker Compose rodou liso a observabilidade de uma API de testes. Foi uma experiência incrível!

Logo pensei em outras coisas para fazer: dada a flexibilidade do Linux, talvez exibir esse Grafana em um monitor portátil com outras informações.

Gostaria de ver mais Homelabs como este? Deixa um comentário. O código e as instruções estão no repositório do projeto https://github.com/kevinjh07/homelab-observability-box. Se ele for útil, considere deixar uma estrela.

Carregando publicação patrocinada...