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.

retrodash v1.0
CH 01
▶ AO VIVO
Grafana CPU
CH 02
▶ AO VIVO
K9s Pods
CH 03
SEM SINAL
Terminal
CH 04
▶ AO VIVO
Prometheus
CH 05
CONECTANDO
Uptime Kuma
CH 06
ERR
Home Asst.

Seus tablets velhos juntam poeira. Seu homelab precisa de olhos.

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

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
Endpoint Método Descrição
/ GET Web UI embutido — viewer CRT com lista de canais, troca e ajustes, sem instalar nada (react-native-web)
/stream GET Stream MJPEG — conecte o app aqui (ou VLC, ou o <img> do web UI)
/touch POST Repassa eventos de toque ao navegador headless
/api/origins GET / POST Lista ou cria fontes de origem (Grafana, terminais, etc.)
/api/origins/{id} GET / PUT / DELETE Obtém, atualiza ou exclui uma origem específica
/health GET Health check básico — retorna o status do servidor
/healthz GET Probe de liveness para Kubernetes — retorna 200 "ok"
/readyz GET Probe de readiness para Kubernetes — 200 quando o browser está pronto, 503 se não
/metrics GET Métricas Prometheus (métricas do app + runtime do Go)
📱

Conecte seu tablet

Acessando pelo celular, tablet ou navegador

RetroDash transmite para dispositivos na sua rede local. Dois caminhos — o app nativo ou o web UI embutido (sem instalar nada):

  • Qualquer browser na LAN: abra http://<host-ip>:8080/ — viewer CRT zero-install com lista de canais, troca e ajustes
  • App nativo (Android 7+ / iOS 15.1+): ideal para tablets em modo always-on
  • Docker: já acessível em http://<host-ip>:8080 por 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.

Ver no GitHub Registro de Containers

Compatibilidade

RetroDash roda em dispositivos que a maioria dos apps já abandonou. Se liga, provavelmente funciona.

"Se seu tablet liga, provavelmente funciona"

Android 7.0+ (2016) & iOS 15.1+ (2021) — dispositivos com 1GB+ de RAM

PlataformaVersão MínimaAnoRAMStatus
Android7.0 Nougat20161GB⚠ Básico
Android8.0 – 152017+1GB+✓ Suporte completo
iOS15.120212GB⚠ Básico
iOS16.0+2022+2GB+✓ Suporte completo

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.

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
Baixar

Guias & Documentação

Tudo que você precisa para colocar o RetroDash em funcionamento no seu homelab.

Dashboards Golden Signals prontos e otimizados para modo kiosk em tablets — sem scroll, prontos para CRT.

Ver Todos os Dashboards Ver Wiki Completa

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
Guia de Contribuição Issues Abertas

Dê uma nova vida ao seu tablet velho

Baixe o RetroDash de graça. Configure em minutos. Seu homelab vai agradecer.