Infraestrutura
Como escolher VPS para Home Assistant em produção
Aprenda a dimensionar VPS para Home Assistant, usar Docker, proteger o acesso remoto, planejar backups e reduzir falhas em automações críticas domésticas.
Resposta direta
Uma VPS para Home Assistant em produção deve começar com 2 vCPUs, 4 GB de RAM, 40 a 80 GB de armazenamento SSD e backup externo. O Home Assistant Container roda bem com Docker, mas o servidor remoto não enxerga automaticamente dispositivos Zigbee, Bluetooth, USB ou equipamentos descobertos por broadcast na rede doméstica. Para integrar esses recursos, é necessário manter um gateway local, como Zigbee2MQTT, ESPHome ou um broker MQTT, e conectar as duas redes por uma VPN privada. O acesso à interface deve usar HTTPS por proxy reverso, Cloudflare Tunnel ou VPN, sem exposição direta da porta 8123 à internet.
Essa arquitetura funciona melhor quando o objetivo é manter a interface, o banco de dados e automações baseadas em APIs em um datacenter. Integrações com serviços como previsão do tempo, Telegram, Google Calendar, webhooks e dispositivos com API pública continuam operando mesmo se um computador doméstico for desligado. Já fechaduras, sensores de presença e iluminação local precisam de um caminho confiável entre a casa e a VPS.
Também é preciso ajustar a expectativa sobre alta disponibilidade. Uma VPS facilita snapshots, monitoramento externo e substituição do servidor, mas não torna o Home Assistant ativo em dois nós. A disponibilidade real depende da instância, do banco, da conectividade residencial e do gateway local. Antes de migrar, teste o que acontece quando a internet da residência cai. Automações essenciais, como acender luzes ou controlar uma bomba, devem continuar funcionando localmente sempre que possível.
Resumo rápido
- Uma configuração inicial equilibrada usa 2 vCPUs, 4 GB de RAM e pelo menos 40 GB de SSD.
- O Home Assistant Container não inclui o Supervisor nem a loja de add-ons do Home Assistant OS.
- Zigbee, Bluetooth e dispositivos USB exigem hardware local ou encaminhamento específico, não aparecem magicamente na VPS.
- A porta 8123 não deve ficar aberta para toda a internet sem proxy, TLS, autenticação e restrições adicionais.
- Cloudflare Tunnel simplifica a publicação HTTPS, enquanto WireGuard oferece acesso privado à rede.
- O diretório
/configprecisa de cópias externas, versionadas e testadas em restaurações periódicas. - Alta disponibilidade prática começa com recuperação automatizada, monitoramento e documentação, não com dois containers ativos.
Uma VPS pequena pode processar milhares de mudanças de estado por dia, mas a quantidade isolada de entidades diz pouco. Uma câmera gerando imagens, uma retenção longa no banco SQLite ou dezenas de automações executadas a cada segundo consomem mais recursos que cem sensores atualizados a cada cinco minutos. O dimensionamento deve observar uso de memória, carga de CPU, crescimento do banco e latência das integrações durante pelo menos sete dias.
O desenho mais seguro costuma ser híbrido. A VPS executa o Home Assistant, recebe HTTPS e mantém o histórico, enquanto um equipamento local de baixo consumo cuida dos rádios e das respostas que não podem depender da internet. Um Raspberry Pi, mini PC ou roteador compatível pode hospedar WireGuard, Mosquitto e Zigbee2MQTT. Se a residência perder a conexão externa, rotinas básicas permanecem no gateway ou nos próprios dispositivos, e o painel remoto volta a sincronizar quando o link retorna.
Quando hospedar o Home Assistant em uma VPS faz sentido
O que muda fora da rede doméstica
Hospedar o Home Assistant em uma VPS é interessante quando o sistema depende principalmente de integrações HTTP, webhooks, MQTT e serviços de internet. Um usuário que monitora três imóveis, por exemplo, pode receber telemetria de cada local por MQTT sobre TLS e concentrar painéis e alertas em uma única instância. Outro cenário é o laboratório de desenvolvimento que precisa de endereço estável para testar integrações, callbacks OAuth e automações sem manter um computador ligado em casa.
O ponto delicado está na descoberta local. Protocolos baseados em multicast, broadcast ou acesso físico não atravessam a internet como uma requisição HTTPS comum. Chromecast, HomeKit, mDNS, SSDP, Bluetooth e adaptadores USB podem exigir configuração avançada ou permanecer indisponíveis na VPS. Criar uma VPN entre a residência e o servidor ajuda no tráfego IP, mas não garante que todos os pacotes multicast atravessem a ligação. Repetidores de mDNS aumentam a complexidade e podem ampliar a superfície de rede.
Uma abordagem previsível mantém as funções físicas perto dos dispositivos. Imagine 25 sensores Zigbee e oito interruptores. O coordenador USB fica conectado a um mini PC local executando Zigbee2MQTT. Esse serviço publica estados em um broker MQTT acessível somente pela VPN. A VPS consome os tópicos, registra o histórico e envia comandos. Se a latência entre casa e datacenter for 30 ms, a experiência pode ser aceitável; se o link oscilar ou superar 200 ms, interruptores controlados apenas pela nuvem começam a parecer lentos.
Home Assistant Container ou Home Assistant OS
Em Docker, a opção adequada é o Home Assistant Container. Ela entrega o núcleo da aplicação, mas não oferece o Supervisor nem o gerenciamento integrado de add-ons associado ao Home Assistant OS. Mosquitto, PostgreSQL, MariaDB, Node-RED e proxies precisam ser administrados como serviços separados. Isso dá controle ao operador, mas exige atualização, logs, backup e segurança para cada componente.
Executar Home Assistant OS dentro de uma máquina virtual hospedada em uma VPS depende de virtualização aninhada, acesso ao hipervisor e compatibilidade do provedor. Na maioria dos casos, não é a alternativa mais simples. Quem ainda está decidindo como organizar containers pode consultar o conteúdo sobre VPS para Docker, especialmente para entender volumes persistentes, redes e atualizações sem perda de dados.
CPU, RAM, disco e rede para produção
Dimensionamento por carga
Para uma instalação pequena, 2 vCPUs e 4 GB de RAM oferecem margem para o Home Assistant Container, proxy reverso, agente de monitoramento e um banco moderado. Um ambiente de testes pode funcionar com 1 vCPU e 2 GB, mas atualizações, compilação de dependências e consultas ao histórico tendem a disputar memória. Swap de 1 a 2 GB ajuda a evitar encerramento abrupto durante um pico, porém não substitui RAM, porque o acesso ao disco é muito mais lento.
Instalações com Node-RED, Mosquitto, banco externo e 100 a 300 entidades devem considerar 4 vCPUs e 8 GB. Câmeras mudam a conta rapidamente. O Home Assistant não deve ser tratado como plataforma principal de gravação de vídeo na mesma VPS sem dimensionamento específico. Duas câmeras enviando snapshots frequentes podem consumir armazenamento, CPU e banda muito acima do esperado para sensores de temperatura.
| Perfil | CPU e RAM sugeridas | Disco inicial | Banco e retenção | Uso típico |
|---|---|---|---|---|
| Laboratório | 1 vCPU e 2 GB | 30 GB SSD | SQLite, 7 dias | Testes, até 50 entidades, sem vídeo |
| Casa conectada | 2 vCPUs e 4 GB | 60 GB SSD | SQLite ajustado ou PostgreSQL, 14 a 30 dias | 50 a 200 entidades, MQTT e webhooks |
| Produção ampliada | 4 vCPUs e 8 GB | 100 GB SSD | PostgreSQL dedicado, retenção planejada | Vários locais, Node-RED e histórico intenso |
| Telemetria pesada | 4 a 8 vCPUs e 16 GB | 160 GB ou mais | PostgreSQL com métricas acompanhadas | Centenas de entidades e alta frequência |
Banco de dados e retenção do histórico
O Recorder pode fazer o banco crescer por eventos que não têm utilidade histórica. Sensores de sinal, relógios e entidades atualizadas a cada poucos segundos geram muitas linhas. Excluir entidades ruidosas e definir purge_keep_days reduz escrita e simplifica backups. Uma instalação com 150 entidades pode ocupar poucos gigabytes ou dezenas deles, dependendo da frequência e da retenção. Por isso, monitore o crescimento semanal em vez de confiar apenas no número de dispositivos.
SSD atende a maioria das casas conectadas. NVMe pode reduzir latência em bancos com muitas gravações, mas não corrige consultas mal planejadas, retenção excessiva ou falta de memória. Reserve de 20% a 30% do disco para atualizações, logs e operações temporárias. Na rede, 100 Mbps costuma bastar sem vídeo. O fator mais sensível é estabilidade: perda de pacotes entre a residência e a VPS pode atrasar MQTT e produzir estados indisponíveis mesmo quando a banda nominal parece alta.
Como instalar o Home Assistant com Docker
Preparação do servidor
Use uma distribuição com suporte ativo, como Ubuntu Server ou Debian, atualize os pacotes e instale Docker Engine pelo repositório oficial. Crie um usuário administrativo sem login direto de root, use chave SSH e restrinja o firewall antes de publicar qualquer serviço. O diretório persistente pode ficar em /opt/homeassistant/config, com permissões limitadas ao usuário responsável pelo container.
Um arquivo Compose básico pode ser organizado assim:
services:
homeassistant:
container_name: homeassistant
image: ghcr.io/home-assistant/home-assistant:stable
volumes:
- /opt/homeassistant/config:/config
- /etc/localtime:/etc/localtime:ro
restart: unless-stopped
ports:
- 127.0.0.1:8123:8123
environment:
- TZ=America/Sao_Paulo
O vínculo com 127.0.0.1 impede acesso direto à porta 8123 pela interface pública. Um proxy reverso no mesmo servidor encaminha HTTPS para esse endereço. Se a implantação usar Cloudflare Tunnel como container, ambos podem compartilhar uma rede Docker interna e a publicação local pode ser removida. Credenciais, tokens e segredos devem ficar em variáveis protegidas, arquivos com permissão restrita ou no mecanismo de secrets disponível, nunca dentro de um repositório público.
Depois de salvar o arquivo, execute docker compose pull e docker compose up -d. Confira o estado com docker compose ps e acompanhe a inicialização por docker compose logs -f homeassistant. Se o processo reiniciar repetidamente, verifique permissões de /config, memória disponível e mensagens de migração do banco. Não apague o volume para tentar corrigir o problema, pois ele contém configurações, automações e credenciais.
Arquivo Compose e limites operacionais
Em uma VPS compartilhada, limites evitam que um vazamento de memória derrube todos os serviços. A implementação exata depende do modo do Docker Compose e do orquestrador usado. O operador pode acompanhar consumo com docker stats, free -h, df -h e docker system df. Alertas práticos incluem RAM acima de 85% por 15 minutos, disco acima de 80%, carga sustentada maior que o número de vCPUs e reinícios inesperados do container.
Atualizações devem ser graduais. Faça backup, registre a versão atual, leia mudanças incompatíveis e só então baixe a nova imagem. Um exemplo seguro é atualizar primeiro uma instância de homologação restaurada a partir de dados anonimizados. Em produção, mantenha a imagem anterior disponível para rollback, mas entenda que migrações de banco podem impedir retorno simples. Evite a tag latest em automações cegas e prefira uma política de manutenção com janela definida.
Acesso remoto seguro sem expor a porta 8123
Proxy reverso, túnel ou VPN
Há três caminhos comuns. O proxy reverso com Nginx, Caddy ou Traefik fornece HTTPS em um domínio próprio e encaminha requisições para o container. Ele exige portas 80 e 443 públicas, certificados válidos e configuração correta dos cabeçalhos de proxy confiável. O Cloudflare Tunnel estabelece uma conexão de saída a partir da VPS, reduzindo a necessidade de abrir portas de entrada. Já uma VPN como WireGuard limita o painel aos dispositivos autenticados, opção adequada para quem não precisa disponibilizar a interface publicamente.
Para acesso familiar simples, um túnel pode combinar domínio, TLS e políticas de identidade. O artigo sobre Cloudflare Tunnel e acesso seguro detalha essa arquitetura. Antes de adotar o serviço, confirme se integrações, aplicativos móveis, webhooks e conexões WebSocket funcionam com as políticas escolhidas. Uma regra que solicita autenticação interativa em toda requisição pode interromper callbacks de terceiros.
Uma VPN é mais fechada e previsível. O telefone se conecta ao WireGuard e acessa o Home Assistant pelo endereço privado. A mesma ligação pode transportar MQTT entre o gateway residencial e a VPS. Quem pretende unir redes ou limitar o painel a dispositivos autorizados encontra uma base prática no guia de VPS para VPN privada no Brasil. Ainda assim, não encaminhe toda a rede doméstica sem necessidade. Rotas menores, como uma sub-rede específica ou apenas os endereços do broker, reduzem o impacto de uma configuração errada.
Firewall e autenticação
No firewall, permita SSH somente a partir de IPs administrativos ou pela VPN. Se houver proxy público, libere 443 e mantenha 8123 fechada externamente. Desative autenticação SSH por senha depois de validar as chaves, aplique atualizações de segurança e use proteção contra tentativas repetidas. Dentro do Home Assistant, ative autenticação multifator para contas administrativas e crie usuários separados para moradores.
Não reutilize tokens de longa duração entre integrações. Se um token do Node-RED vazar, revogue apenas aquela credencial. Logs também merecem cuidado, pois URLs, nomes de entidades e mensagens podem revelar hábitos da residência. Defina rotação, limite a retenção e evite enviar registros completos a plataformas externas sem avaliar os dados expostos.
Backup, monitoramento e alta disponibilidade
Cópias consistentes e restauração
Um snapshot da VPS não substitui o backup da aplicação. O snapshot pode capturar o banco durante uma gravação, permanecer na mesma conta do servidor e ser perdido junto com ela. A estratégia mais segura combina backup lógico ou nativo do Home Assistant, cópia do diretório /config e exportação consistente do banco quando ele estiver separado. Guarde pelo menos uma cópia fora do provedor e proteja o conteúdo com criptografia.
Uma política simples pode manter sete cópias diárias, quatro semanais e seis mensais. Para copiar arquivos do container, prefira interromper gravações ou usar o mecanismo de backup compatível com a versão instalada. Copiar um SQLite ativo com uma ferramenta genérica pode produzir uma imagem inconsistente. Com PostgreSQL, use pg_dump ou ferramenta equivalente, valide o código de saída e compacte o resultado antes do envio para um armazenamento externo.
O teste de restauração é o que transforma arquivos em backup confiável. A cada trimestre, crie uma VPS temporária, instale a mesma versão do Docker, restaure /config e o banco, depois confirme login, automações e integrações. Meça o tempo. Se a recuperação leva três horas, documente esse RTO. Se a última cópia válida tem até 24 horas, o RPO real é de um dia, o que pode significar perder alterações recentes e parte do histórico.
Monitore o sistema de fora da própria VPS. Um serviço externo pode verificar o endpoint HTTPS a cada minuto. No servidor, acompanhe reinícios, uso de disco, RAM, expiração de certificados e sucesso dos backups. Dentro da residência, monitore também a VPN e o gateway MQTT. Um painel online não confirma que sensores físicos estão alcançáveis.
O que alta disponibilidade significa neste cenário
O Home Assistant não deve ser colocado em dois containers ativos apontando para o mesmo diretório /config. Essa tentativa pode causar concorrência, duplicar automações e corromper dados. Uma estratégia mais realista usa recuperação rápida: infraestrutura documentada, imagem Docker fixada, banco restaurável, DNS com TTL controlado e uma segunda região preparada para receber os dados.
No modo ativo-passivo, somente uma instância executa automações. A secundária permanece desligada ou isolada até a promoção. O processo precisa impedir duas instâncias simultâneas, principalmente quando comandos controlam alarmes, portões ou climatização. Mesmo com failover da VPS, a internet residencial ainda é um ponto único de falha. Automações de segurança e controle físico devem ter lógica local, temporizadores próprios ou funcionamento manual independente do servidor remoto.
Recomendações por perfil
Dev solo e laboratório
Para aprender, desenvolver integrações ou validar callbacks, comece com 1 vCPU, 2 GB de RAM e 30 GB de SSD. Use Home Assistant Container, banco SQLite com retenção curta e acesso exclusivamente por VPN. Essa configuração atende algumas dezenas de entidades simuladas, APIs externas e testes de automação. Evite conectar fechaduras ou sistemas de segurança enquanto a arquitetura ainda estiver mudando.
O fluxo ideal inclui Compose versionado sem segredos, backup diário de /config e uma atualização manual por mês. Monitore disco e memória, pois uma VPS pequena tem pouca margem durante migrações. Se o consumo permanecer acima de 1,5 GB ou houver swap constante, avance para 4 GB em vez de tentar compensar com ajustes agressivos.
Casa conectada com serviços remotos
Para uma residência com 50 a 200 entidades, adote 2 vCPUs, 4 GB de RAM e 60 GB de SSD. Mantenha Zigbee2MQTT, Bluetooth e automações essenciais em um mini PC local. Ligue o gateway à VPS por WireGuard e permita somente MQTT sobre TLS ou endereços definidos. O Home Assistant remoto pode cuidar de painéis, notificações, integrações web e histórico de 14 a 30 dias.
Use proxy HTTPS ou túnel para o aplicativo móvel, autenticação multifator nas contas administrativas e monitoramento externo. Programe backups diários para outro provedor e faça uma restauração trimestral. Se houver câmeras, grave o vídeo localmente em um NVR. Envie ao Home Assistant apenas eventos, miniaturas ou streams sob demanda para não transformar a VPS em um gargalo de armazenamento.
Produção e automações críticas
Para vários imóveis, telemetria intensa ou serviços compartilhados, comece com 4 vCPUs, 8 GB de RAM e 100 GB de SSD, ajustando após medir sete a trinta dias de carga. Separe PostgreSQL quando o histórico crescer, aplique retenção por classe de entidade e monitore consultas lentas. Mosquitto, proxy e Home Assistant podem continuar em containers distintos, cada um com logs, atualização e backup próprios.
Defina responsáveis, janela de manutenção, RTO e RPO. Um exemplo realista é RTO de 60 minutos e RPO de 24 horas, desde que o gateway local mantenha luzes, sensores e controles básicos durante a falha. Para reduzir indisponibilidade, prepare uma segunda VPS sem ativá-la, replique backups criptografados e documente a troca de DNS. Não prometa disponibilidade contínua apenas porque o provedor usa infraestrutura cloud.
A escolha entre VPS tradicional, Cloud Server e cloud instance deve considerar recuperação, localização, snapshots, console fora de banda e facilidade de redimensionamento. Recursos, localidades, armazenamento e políticas de backup mudam por provedor e plano. Confirme essas informações nas páginas oficiais antes da contratação. Para este workload, previsibilidade operacional, latência estável e restauração testada pesam mais que uma diferença pequena de preço mensal.
Perguntas frequentes
O Home Assistant funciona bem em uma VPS sem hardware local?
Funciona bem para integrações baseadas em internet, webhooks, APIs públicas, notificações e dispositivos que já oferecem conectividade IP acessível. A limitação aparece em Zigbee, Bluetooth, USB, mDNS e equipamentos disponíveis apenas na rede doméstica. Nesses casos, mantenha um gateway local executando Zigbee2MQTT, ESPHome, Mosquitto ou componentes equivalentes. A VPS se conecta ao gateway por WireGuard ou outra VPN. Automações que precisam continuar durante uma queda de internet devem permanecer no local, pois o servidor remoto ficará temporariamente sem acesso aos dispositivos.
Quanta RAM uma VPS para Home Assistant precisa?
Uma instalação pequena pode funcionar com 2 GB de RAM, mas 4 GB é um ponto inicial mais seguro para produção. Essa capacidade acomoda o Home Assistant Container, um proxy reverso e monitoramento sem depender constantemente de swap. Se a mesma VPS executar PostgreSQL, Mosquitto, Node-RED e outras ferramentas, 8 GB oferece margem melhor. Câmeras, histórico extenso e entidades atualizadas em alta frequência aumentam o consumo. A decisão deve considerar métricas de sete a trinta dias, especialmente memória disponível, reinícios do container, swap e duração das consultas ao histórico.
É seguro deixar a porta 8123 aberta na internet?
Não é recomendável expor a porta 8123 diretamente para toda a internet. Use um proxy reverso com HTTPS, um Cloudflare Tunnel ou uma VPN como WireGuard. No firewall, mantenha 8123 restrita ao endereço local ou à rede Docker, liberando apenas o serviço responsável pelo acesso seguro. Ative autenticação multifator nas contas administrativas, instale atualizações e separe usuários. Também limite o SSH a chaves e endereços confiáveis. Webhooks públicos podem exigir regras específicas, mas não precisam tornar toda a interface administrativa acessível sem camadas adicionais de proteção.
Home Assistant Container tem add-ons e Supervisor?
Não. O Home Assistant Container entrega o núcleo da aplicação em uma imagem Docker, sem Supervisor e sem a loja integrada de add-ons do Home Assistant OS. Serviços como Mosquitto, Node-RED, PostgreSQL, MariaDB e proxy reverso precisam ser instalados e atualizados separadamente, normalmente com Docker Compose. Isso oferece flexibilidade e separação de responsabilidades, mas exige mais trabalho operacional. Cada container precisa de volume persistente, política de atualização, backup, logs e monitoramento. Quem deseja uma experiência totalmente gerenciada pelo Supervisor tende a se adaptar melhor ao Home Assistant OS em hardware local compatível.
Como conectar dispositivos Zigbee da residência ao Home Assistant remoto?
O coordenador Zigbee deve permanecer fisicamente na residência, conectado a um Raspberry Pi, mini PC ou outro gateway local. Nesse equipamento, o Zigbee2MQTT pode publicar estados em um broker MQTT local ou remoto. A comunicação com a VPS deve passar por uma VPN e, quando aplicável, usar TLS e credenciais exclusivas. Não exponha o broker MQTT sem autenticação à internet. Teste também o comportamento sem conectividade externa. Interruptores, sensores e rotinas essenciais devem continuar operando localmente, enquanto o Home Assistant remoto recupera os estados quando a ligação entre a casa e a VPS retornar.
É possível ter alta disponibilidade do Home Assistant em duas VPS?
É possível preparar uma segunda VPS para recuperação, mas executar duas instâncias ativas com o mesmo diretório de configuração não é uma solução segura. Elas podem duplicar automações, disputar o banco e enviar comandos conflitantes. O desenho mais controlável é ativo-passivo: uma instância opera e a outra permanece isolada até a promoção. Backups externos, imagens Docker fixadas, banco restaurável e troca documentada de DNS reduzem o tempo de recuperação. Mesmo assim, a conexão residencial e o gateway local continuam relevantes. Automações críticas devem funcionar localmente quando a internet ou a VPS estiver indisponível.
Fontes consultadas
- Home Assistant Installation on Linux with Container · coletado em 18/09/2026
- Home Assistant Remote Access · coletado em 18/09/2026
- Home Assistant Backup Documentation · coletado em 18/09/2026
- Docker Engine Resource Constraints · coletado em 18/09/2026
- Cloudflare Tunnel Documentation · coletado em 18/09/2026
- WireGuard Official Documentation · coletado em 18/09/2026