ZZYON Docs
Decisões

ADR-003 · Mac mini como produção 24/7

Por que rodamos agentes em hardware próprio em vez de cloud-only

Status: vigente Data: 2026-04 (decisão tomada na compra do Mac mini) Decisor: Rubens

Contexto

Os agentes ZZYON precisam:

  • Rodar Anthropic Scheduled Tasks (apenas via Claude Code, que precisa ambiente persistente com filesystem)
  • Hospedar Langfuse self-hosted (custos de hosted plan inviáveis pra volume esperado)
  • Manter Evolution API ativo + Cloudflare Tunnel (precisa endereçamento estável)
  • Rodar PM2 com Cláudio API exposta na rede interna (Tailscale)
  • Acessar Desktop com permissões TCC (XLSX gerados por SKILLs)

Cloud-only (Vercel + serverless) é ótimo pras torres Next.js mas não cabe agentes que precisam: filesystem persistente, processo longo, exposição em rede interna, integração com app desktop.

Decisão

Mac mini M-series como host 24/7 de produção dos agentes. MacBook Pro fica como ambiente de desenvolvimento. As duas máquinas conectadas via Tailscale, SSH passwordless. .env files referenciam IPs Tailscale, nunca localhost.

Alternativas consideradas

  • AWS EC2 / GCP Compute (Linux 24/7)

    • A favor: cloud nativo, escala fácil, SSH first-class
    • Contra: Anthropic Scheduled Tasks precisa Claude Code que precisa macOS (ou Linux com workarounds frágeis); custo mensal alto pra workload baixo; perde integração nativa com Apple Notes/Calendar/iMessage MCPs
  • Servidor dedicado em data center

    • A favor: SLA do datacenter, peering, fibra
    • Contra: investimento alto, mesmas limitações de macOS-only
  • Manter tudo em laptops das pessoas

    • A favor: zero custo extra
    • Contra: laptops dormem, vão pra reunião, sofrem com luz piscando — agente 24/7 morre toda hora

Consequências

Ganhos:

  • Custo fixo previsível: ~R$10k de hardware uma vez vs R$300/mês cloud por anos
  • Latência baixa entre agentes (Tailscale LAN-like)
  • Acesso direto ao Apple ecosystem MCPs (iMessage, Notes, Calendar) que no Linux não existem
  • Filesystem confiável pras SUPPLEMENT XLSX dos SKILLs RA
  • Tailscale resolve "como expor agente pra MacBook" sem VPN tradicional

Perdas:

  • SPOF físico: queda de luz/ISP local mata produção (mitigação: nobreak + 4G failover pra próxima fase)
  • Sem auto-scaling — se workload triplicar precisa upgrade manual
  • macOS TCC às vezes engasga (Desktop folder, Calendar) — toggle manual
  • Backup: precisa estratégia separada (Time Machine + offsite manual)

Em aberto:

  • Plano B se Mac mini falhar fisicamente: não temos hot-standby. Cold recovery é horas (recompras + setup). Aceitável hoje, problema se faturamento crescer.

Quando revisitar

  • Quando volume LLM/dia × custo Mac mini < custo cloud equivalente
  • Se Anthropic lançar Scheduled Tasks hosted (sem precisar Claude Code local)
  • Se Apple parar de vender Mac mini com specs adequadas (improvável)
  • Se algum ataque/problema físico ao endereço Joinville matar o uptime

On this page