Código Aberto · Grátis
Dê nova vida ao seu tablet velho como monitor de homelab
RetroDash transmite seus dashboards do Grafana, K9s, terminais e muito mais para dispositivos Android e iOS antigos — com estética CRT autêntica.
Seus tablets velhos juntam poeira. Seu homelab precisa de olhos.
Arquitetura
Como funciona
Dois componentes, um ecossistema. O servidor renderiza, o app exibe. Seu dispositivo antigo não processa nada.
Seu Homelab
Bridge Server
Um servidor Go leve que roda no seu homelab. Usa ChromeDP para renderizar qualquer dashboard web em um navegador headless e transmite como MJPEG — todo o processamento pesado acontece aqui, não no tablet.
- Binário Go, ~15MB, roda em qualquer lugar
- Chrome headless via ChromeDP
- Streaming MJPEG (baixo consumo de banda)
- Múltiplas origens (Grafana, K9s, web, terminal)
- Configuração remota via REST API
Seu Tablet Velho
App RetroDash
Um visualizador ultraleve que recebe o stream MJPEG e exibe com efeitos CRT autênticos. Sem renderização, sem WebView, sem processamento pesado — só mostra a imagem.
- React Native 0.83, otimizado para hardware antigo
- Recomendado 1GB+ de RAM
- 3 temas de fósforo CRT (âmbar, verde, azul)
- Modo quiosque para displays fixos na parede
- Proteção inteligente de bateria
Bridge Server
Instale o Servidor
O bridge server roda no seu homelab e cuida de toda a renderização. Um comando para começar a transmitir.
Docker (recomendado)
Pull & Run
Imagem multi-arch (AMD64 + ARM64). Funciona em PCs, Macs e Raspberry Pi.
# Pull and run
docker run --rm \
--shm-size=256m \
-p 8080:8080 \
ghcr.io/cbenitezpy/retrodash-server:latest
# Open http://<your-ip>:8080 on your tablet
# Configure dashboards from the RetroDash app
- AMD64 (PCs Intel/AMD, Mac Intel)
- ARM64 (Apple Silicon, Raspberry Pi 3/4/5)
- Detecta sua arquitetura automaticamente
- Sem configuração prévia — configure pelo app
Docker Compose
Configuração em Produção
Para deploys contínuos com reinício automático.
services:
bridge:
image: ghcr.io/cbenitezpy/retrodash-server:latest
ports:
- "8080:8080"
shm_size: '256mb'
restart: unless-stopped
- Reinício automático em caso de falha
- Docker healthcheck incluído na imagem
- Recuperação de crashes (reinicia o Chrome automaticamente)
Kustomize (recomendado)
Deploy no K8s
Clone o repositório e aplique. Inclui probes de liveness/readiness, métricas Prometheus, memória compartilhada para o Chrome e PVC para persistência de origens.
git clone https://github.com/cbenitezpy/retrodash-server.git
cd retrodash-server
kubectl apply -k deploy/k8s/
# Verify pod is ready
kubectl get pods -n retrodash -w
- Funciona de imediato em modo standby
- Fácil de personalizar com overlays
- Compatível com ArgoCD e Flux
Helm
Chart OCI do Helm
Instale a partir do registro OCI do Helm. Os mesmos manifests do Kustomize, com templates Helm para personalização.
helm install retrodash-bridge \
oci://ghcr.io/cbenitezpy/charts/retrodash-bridge \
-n retrodash --create-namespace
- Probes de liveness + readiness incluídas
- Métricas Prometheus em
/metrics - PVC para persistência do origins.json
Endpoints da API
Acesso na Rede Local
Conecte seu tablet
Acessando pelo celular ou tablet
RetroDash transmite para dispositivos na sua rede local. kubectl port-forward só funciona a partir do localhost — exponha o serviço para sua LAN:
- Docker: já acessível em
http://<host-ip>:8080por qualquer dispositivo na LAN - Kubernetes Ingress: crie um Ingress apontando para o serviço (funciona com Traefik, nginx, etc.)
- Kubernetes LoadBalancer: use MetalLB ou kube-vip para obter um IP na LAN
- Kubernetes NodePort: acesse via
http://<node-ip>:<port>
Consulte o Guia de Deploy com exemplos completos de Ingress, LoadBalancer e flags do Helm.
Suporte a Dispositivos
Compatibilidade
RetroDash roda em dispositivos que a maioria dos apps já abandonou. Se liga, provavelmente funciona.
| Plataforma | Versão Mínima | Ano | RAM | Status |
|---|---|---|---|---|
| Android | 7.0 Nougat | 2016 | 1GB | ⚠ Básico |
| Android | 8.0 – 15 | 2017+ | 1GB+ | ✓ Suporte completo |
| iOS | 15.1 | 2021 | 2GB | ⚠ Básico |
| iOS | 16.0+ | 2022+ | 2GB+ | ✓ Suporte completo |
Capacidades
Recursos
Tudo que você precisa para transformar dispositivos antigos em telas dedicadas para o seu homelab.
Multi-Origem
Conecte Grafana, Prometheus, K9s, qualquer URL web ou terminais SSH. Troque entre eles como canais de TV.
Temas CRT
Três temas autênticos de fósforo — âmbar (P3), verde (P1) e azul (P7) — com scanlines, vinheta e efeitos de brilho.
Renderização no Servidor
O bridge server faz todo o trabalho pesado com ChromeDP. Seu tablet velho só exibe o stream — sem processamento nenhum.
Carregamento Inteligente
Proteção de bateria integrada que mantém seu dispositivo sempre ligado entre níveis seguros de carga. Evita o inchaço e prolonga a vida útil.
Modo Quiosque
Bloqueie o dispositivo no RetroDash com inicialização automática, tela cheia imersiva e override do botão voltar. Perfeito para displays fixos na parede.
Config Remota
Configure origens, qualidade e troca de canais pela REST API do bridge server. Sem precisar tocar no tablet após a configuração inicial.
Nativo no Kubernetes
Faça deploy em qualquer cluster Kubernetes com o chart oficial do Helm ou os manifests do Kustomize. Registro OCI, probes de liveness/readiness e PVC incluídos.
Probes de Saúde
Endpoints dedicados de liveness (/healthz) e readiness (/readyz) permitem que o Kubernetes reinicie o pod automaticamente se o browser travar.
Métricas Prometheus
Métricas personalizadas do app e estatísticas do runtime do Go expostas em /metrics. Scraping direto pelo Prometheus ou Grafana Agent.
Logs Estruturados
Logs em formato JSON com nível configurável. Funciona de imediato com Loki, Fluentd e qualquer agregador de logs do seu stack.
Imagens Multi-Arch
Imagens Docker para AMD64 e ARM64. Roda em servidores x86, Apple Silicon e Raspberry Pi sem nenhuma mudança de configuração.
Em Ação
Galeria
Setups reais de homelab rodando RetroDash em tablets reutilizados.
Planos
Preços Simples
Grátis para sempre no uso básico. O Pro desbloqueia a experiência completa.
Grátis
$0
- 1 origem (fonte de dashboard)
- Os 3 temas CRT
- Streaming MJPEG
- Ajustes básicos de qualidade
- Sem troca de múltiplas origens
- Sem modo quiosque
- Sem carregamento inteligente
Pro
$7.99 pagamento único
- Origens ilimitadas
- Os 3 temas CRT
- Troca automática de canais
- Qualidade adaptativa
- Modo quiosque + inicialização automática
- Proteção inteligente de bateria
- Configuração remota
Recursos
Guias & Documentação
Tudo que você precisa para colocar o RetroDash em funcionamento no seu homelab.
Guia de Início Rápido
Configure o bridge server e conecte seu primeiro dispositivo em menos de 5 minutos.
Configuração
Variáveis de ambiente, ajuste de qualidade, autenticação e resolução de DNS.
Origens & Troca de Canal
Adicione dashboards do Grafana e comandos de terminal. Troque entre eles como canais de TV.
Referência da API
Documentação completa da REST API: health, stream, touch relay e gerenciamento de origens.
Guia de Deploy
Configuração em produção para Raspberry Pi, dispositivos de baixo consumo e stacks de homelab.
Arquitetura
Design do sistema, hierarquia de componentes, modelo de concorrência e estrutura do projeto.
Dashboards Grafana
Dashboards Golden Signals prontos e otimizados para modo kiosk em tablets — sem scroll, prontos para CRT.
Código Aberto
Contribuir
RetroDash é open source e foi criado para a comunidade homelab. Toda contribuição é bem-vinda.
Desenvolvedores
Contribuições de Código
O bridge server é escrito em Go com 100% de cobertura de testes. Escolha uma issue, faça um fork do repo e abra um PR.
- Go 1.24+ com golangci-lint
- 100% de cobertura de testes obrigatória
- CI valida lint + testes automaticamente
- Builds multi-arch Docker (AMD64 + ARM64)
Comunidade
Reportar & Discutir
Encontrou um bug? Tem uma ideia de feature? Abra uma issue no GitHub. Cada feedback ajuda a melhorar o RetroDash.
- Relatórios de bug com passos para reproduzir
- Pedidos de novos recursos e ideias
- Melhorias na documentação
- Compartilhe seu setup de homelab
Dê uma nova vida ao seu tablet velho
Baixe o RetroDash de graça. Configure em minutos. Seu homelab vai agradecer.