Home Assistant em HTTPS com domínio próprio

Home Assistant em HTTPS com domínio próprio
Tempo de leitura: 3 min de leitura
Link copiado!

Se você tem o Home Assistant rodando na sua casa, acessando por ip ou domínio sem https, provavelmente já passou pelo aviso de conexão não segura.

Nesse post, explico como resolvi isso sem depender de DuckDNS, sem rodar Certbot na unha e sem gambiarras esotéricas.


Minha estrutura (pra você entender se esse post serve pra você)
  • brodt.com.br como domínio
  • IP fixo residencial
  • Home Assistant OS rodando em um mini-PC dedicado
  • UDM-SE como roteador e firewall
  • Porta 8123 mantida para o Home Assistant
  • Let’s Encrypt como emissor de certificado
  • Acesso externo via HTTPS com redirecionamento 443 para 8123
  • Renovação automática dos certificados via automação
1. Instale o Let’s Encrypt via Add-on Store

Vai em:

Settings > Add-ons > Add-on Store, busca por “Let’s Encrypt” e instala.

Não inicia ainda, calma. Vamos configurar.

2. Configure o add-on para usar a porta 8080

Precisei configurar o HTTP do Let’s Encrypt pela porta 8080:

email: [email protected]
domains:
 , seudominio.com.br
certfile: fullchain.pem
keyfile: privkey.pem
challenge: http
http:
  port: 8080
3. Redirecione as portas

Acesse o painel do seu roteador, crie duas regras de port forwarding:

Regra 1, Para emissão do certificado:

  • Porta externa: 8080 para porta interna: 8080
  • Protocolo: TCP
  • IP: do seu HA (ex: 10.0.0.200)

Regra 2, Para acesso final ao HA:

  • Porta externa: 443 para porta interna: 8123
  • Protocolo: TCP
  • IP: mesmo esquema, o IP do HA

Agora você acessa https://seudominio.com.br e tudo é consumido de 8123.

4. Configure o configuration.yaml

No meu caso, o bloco ficou assim:

http:
  server_port: 8123
  ssl_certificate: /ssl/fullchain.pem
  ssl_key: /ssl/privkey.pem
  cors_allowed_origins:
   , https://google.com
   , https://www.home-assistant.io
  use_x_forwarded_for: true
  trusted_proxies:
   , 10.0.0.200
   , 172.30.33.0/24
  ip_ban_enabled: true
  login_attempts_threshold: 5
5. Reinicie e emita o certificado

Salva tudo, reinicia o HA e depois starta o add-on do Let’s Encrypt. Se tudo estiver certo, você verá os arquivos /ssl/fullchain.pem e /ssl/privkey.pem criados.

Testa agora: https://seudominio.com.br

Automação para renovar o certificado

  1. Vá em Settings > Automations & Scenes > Create Automation
  2. Selecione Start with an empty automation

Gatilho (When)

  • Trigger type: Time
  • Time: 03:00:00

Ação (Then do)

  • Action type: Call service
  • Serviço: hassio.addon_restart
  • Dados:
addon: core_letsencrypt

Isso reinicia o add-on todo dia às 3 da manhã. Se o certificado estiver perto do vencimento, ele já renova. E você dorme tranquilo.

  • HTTPS com domínio próprio e IP fixo
  • Sem DuckDNS, sem scripts externos
  • Certificados válidos e renovando sozinhos
  • Home Assistant ainda na 8123