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
/stream GET Stream MJPEG — conecte o app aqui
/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 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>: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.