−25%

no Windows com pagamento anual, até 31/10. Ver planos

EQVPS

VPS para acesso remoto ao Home Assistant

Acesse o Home Assistant de qualquer lugar sem abrir portas em casa: um VPS pequeno roda WireGuard e HTTPS, e a sua casa se conecta a ele. Setup, custo, limites.

Você quer abrir o painel do Home Assistant no trem. O roteador diz não: a operadora coloca você atrás de um CGNAT, ou o redirecionamento de porta até seria possível, mas você prefere não pendurar toda a rede de casa na internet para acender uma luz. Um VPS pequeno resolve os dois casos. A sua casa se conecta para fora até ele via WireGuard, e o VPS é a única face pública: com um domínio de verdade, um certificado de verdade e nada em casa escutando o mundo.

Como o setup funciona

phone ──HTTPS──> VPS (Caddy :443) ──WireGuard──> Home Assistant :8123 at home
                       ▲
              home box dials out on UDP 51820

O VPS roda duas coisas: um servidor WireGuard e o Caddy como proxy reverso. Em casa, um cliente WireGuard (no host do Home Assistant, num Raspberry Pi ou no roteador) mantém um túnel aberto. Quando você acessa https://ha.example.com, o Caddy passa a requisição pelo túnel até 10.8.0.2:8123.

Do que você precisa

1. Servidor WireGuard no VPS

apt update && apt install -y wireguard caddy
wg genkey | tee /etc/wireguard/server.key | wg pubkey > /etc/wireguard/server.pub
chmod 600 /etc/wireguard/server.key

cat > /etc/wireguard/wg0.conf <<EOF
[Interface]
Address = 10.8.0.1/24
ListenPort = 51820
PrivateKey = $(cat /etc/wireguard/server.key)

[Peer]
# the home side
PublicKey = HOME_PUBLIC_KEY
AllowedIPs = 10.8.0.2/32
EOF

systemctl enable --now wg-quick@wg0
ufw allow 51820/udp && ufw allow 80,443/tcp

2. O lado de casa

Em qualquer máquina Linux em casa (ou num add-on cliente WireGuard do Home Assistant), crie o peer. O keepalive é importante: ele mantém o túnel aberto através do NAT do roteador de casa.

[Interface]
Address = 10.8.0.2/24
PrivateKey = HOME_PRIVATE_KEY

[Peer]
PublicKey = SERVER_PUBLIC_KEY
Endpoint = ha-vps.example.com:51820
AllowedIPs = 10.8.0.1/32
PersistentKeepalive = 25

Se o cliente WireGuard rodar numa máquina diferente da do Home Assistant, encaminhe 10.8.0.2:8123 para o host do HA na rede local; ou, mais simples, rode o cliente no próprio host do HA.

3. HTTPS com Caddy

cat > /etc/caddy/Caddyfile <<'EOF'
ha.example.com {
    reverse_proxy 10.8.0.2:8123
}
EOF
systemctl reload caddy

O Caddy obtém o certificado automaticamente e cuida da conexão WebSocket da qual o app do Home Assistant depende.

4. Diga ao Home Assistant para confiar no proxy

Sem isso, o HA rejeita requisições que passam pelo proxy. No configuration.yaml:

http:
  use_x_forwarded_for: true
  trusted_proxies:
    - 10.8.0.1

Reinicie o Home Assistant, abra https://ha.example.com e defina essa URL como endereço externo no app para celular.

Os prós e contras, com honestidade

O HTTPS termina no VPS, então esse servidor vê o tráfego do painel em texto claro antes de ele entrar no túnel. O servidor é seu, e esse é justamente o ponto, mas trate-o como parte da rede de casa: só chaves SSH, atualizações ativadas, nada mais rodando nele. Mantenha a senha do Home Assistant e o login com dois fatores ativados; o proxy não é uma camada de autenticação.

O serviço de nuvem oficial e pago da equipe do Home Assistant faz o mesmo trabalho sem nenhuma manutenção e financia o projeto. Se você prefere não administrar servidor nenhum, é uma resposta perfeitamente válida. O caminho do VPS vence quando você já faz self-hosting, quer o seu próprio domínio ou quer colocar outros serviços de casa atrás do mesmo túnel no futuro.

Guias relacionados

Pronto para implantar? Pague com cripto, sem KYC — online em cerca de um minuto.

Implantar agora →

FAQ

Por que usar um VPS em vez de redirecionar uma porta no roteador?

Muitas conexões residenciais ficam atrás de um CGNAT (carrier-grade NAT), então não há porta para redirecionar. Mesmo quando há, expor o IP de casa e o roteador à internet é um risco desnecessário. Com um VPS, é a casa que abre uma conexão WireGuard de saída, e a única coisa exposta à internet é um servidor pequeno que você reconstrói em minutos.

De qual plano eu preciso?

Um Nano-IP ($8/mês) é mais que suficiente: ele só encaminha tráfego e termina o HTTPS. Você precisa de um plano com IP dedicado, porque o VPS deve aceitar HTTPS de entrada e uma porta UDP do WireGuard; planos NAT não aceitam conexões de entrada além da sua porta SSH.

O VPS vê o tráfego do Home Assistant?

O HTTPS termina no VPS, então o servidor que você controla vê as requisições descriptografadas antes de mandá-las pelo túnel. É o mesmo modelo de confiança de qualquer proxy reverso; a diferença é que a máquina é sua. Mantenha de qualquer forma o login do Home Assistant e a autenticação de dois fatores ativados.

Isso aumenta a latência?

Um salto a mais. De uma casa na Europa até um VPS na Alemanha ou na Finlândia são tipicamente 10–40 ms de ida e volta: imperceptível para painéis, interruptores e capturas de câmera. Só em transmissões de vídeo ao vivo você talvez perceba.

O que acontece se o VPS cair?

O acesso remoto para; as automações da casa continuam funcionando, porque o Home Assistant nunca dependeu do VPS. Dentro de casa tudo funciona como antes no endereço local.

Comentários

Nenhum comentário ainda. Seja o primeiro.

Deixe um comentário

Os comentários são moderados antes de aparecerem.