Instalando o Home Assistant na Oracle Cloud com Debian (free 4vcpu 24gb ram) - Tenha seu Home Assistant na nuvem de graça!

atencao ATENÇÃO! NÃO É RECOMENDADO O USO DO HOME ASSISTANT NA NUVEM! atencao

ESSE MÉTODO NÃO É OFICIAL E NÃO EXISTE SUPORTE OFICIAL PARA ESSA INSTALAÇÃO. PODE APRESENTAR INCOMPATIBILIDADES COM ADD-ONS E COMPONENTES PERSONALIZADOS. SIGA POR SUA CONTA EM RISCO. A EQUIPE DO FÓRUM HOME ASSISTANT BRASIL NÃO SE RESPONSABILIZA POR PROBLEMAS.

Esse tutorial é destinado a pessoas que gostariam de ter o Home Assistant na nuvem totalmente de graça, sem precisar pagar nada ou pagar alguém para fazer por você!

Esse tutorial não foi elaborado por mim (Leandro Issa), foi um colega que elaborou, tirou as prints e decidiu contribuir com a comunidade, ainda não o executei então não tenho como ajudar em dúvidas mas acredito que outros colegas que já o fizeram podem ajudar. Segue o tutorial do colega abaixo:

Estou tendo meu primeiro contato com o Home Assistant e procurei algumas formas de não investir muito para começar a brincar, essa foi uma delas.

Antes de tudo, gostaria de avisar que sou um iniciante, então qualquer forma melhor ou sugestão para alterar o tutorial para melhorias é bem vindo!

IMPORTANTE: como o acesso é na nuvem então você NÃO vai ter acesso a seus equipamentos locais como por exemplo um Broadlink, câmeras como a Tapo dentre outros. Você poderá ter acesso a todos recursos que já são nativos em nuvem como assistentes de voz como a Alexa e dispositivos como os da Sonoff, da Tuya, etc…

Lembrando que obrigatoriamente precisará ter acesso a internet.

nuvem

Obs: existe uma forma para conseguir ter acesso aos seus dispositivos internos, mas vai ficar para um próximo tutorial, pois envolve vários detalhes (e para alguns não será possível).

Vamos ao tutorial:

  • Vamos começar acessando o site: https://www.oracle.com/cloud/sign-in.html
  • Crie sua conta, verifique seus e-mails e após finalize o cadastro.
  • Você vai precisar inserir seus dados de cartão de crédito. Não se assuste não será cobrado nada antes e nem depois, se fizer como o tutorial vamos pegar uma instancia grátis.
  • Se tudo der certo você será capaz de ver uma tela parecida com a de baixo:

  • Não se assuste com o valor acima, o R$ 1.500,00 são um crédito caso você queria utilizar dos serviços pagos pela Oracle.
  • Agora vamos criar nossa instancia.
  • Clique no menu.

2

  • Vá em Computação e depois em Instâncias.

3

  • O aviso na tela da instância já indica qual devemos utilizar: Cada tenancy obtém as primeiras 3.000 horas de OCPU e 18.000 GB de horas por mês gratuitamente para criar instâncias Ampere A1 Compute usando a forma VM.Standard.A1.Flex (equivalente a 4 OCPUs e 24 GB de memória). Cada tenancy também recebe duas instâncias VM.Standard.E2.1.Micro gratuitamente. Saiba mais sobre os recursos Always Free.
  • Clique em criar nova instancia.
  • Coloque um nome para sua instancia, e clique em editar na parte de imagem e forma.

  • Vamos precisar alterar a Imagem e o Shape.

  • Clique em Alterar Imagem, mude a imagem para Canonical Ubuntu, selecione as últimas versões disponíveis em Versão do SO e Build da Imagem.

  • Agora muito importante, em Change Shape selecione as informações igualzinha abaixo para que você possa obter os 4OCPU e 24GB da máquina virtual gratuita.

  • Passo importante, salve sua chave SSH vai ser necessário para acessarmos remotamente nossa máquina virtual, vamos usa-la adiante.

8

  • Clique em Criar.
  • Após alguns minutos sua instancia deverá aparecer em execução.

9

  • Ao lado você pode anotar o IP público, vamos precisar dele mais adiante, deixe anotado.
  • Clique agora na sua instancia.
  • E entre nas opções de sub-rede.

10

11

  • Vamos criar uma regra. Clique em Adicionar Regras de Entrada.

12

  • Preencha como a imagem abaixo, estamos deixando o acesso livre de qualquer IP para todos tipos de protocolos. Mesmo assim não vamos conseguir ter acesso ainda pela porta 8123, faremos esse processo por linha de comando no Ubuntu adiante.

  • Entre na sua instância.

  • Clique em Instância blindada.

  • Vá em conexão da console, clique em Iniciar conexão do Cloud Shell.

  • Entre com seu login de root:

  • Digite no terminal:
mkdir -p /boot/efi/EFI/rescue && cd /boot/efi/EFI/rescue
wget https://boot.netboot.xyz/ipxe/netboot.xyz-arm64.efi
  • Após digite: reboot now

  • Fique digitando ESC sem parar, até entrar na tela de BIOS. Na BIOS vá em Boot Maintenance Manager.

  • Vá em Boot From File.

  • Selecione EFI.

  • Vá em rescue.

  • Vá em netboot.xyz-arm64.efi

  • Selecione Linux Network Installs

  • Selecione o Debian

  • Selecionar a ultima versão do debian (importante: instalar a versão texto, a versão netinst).

  • Praticamente é só avançar até o final, por isso não coloquei print, até pq fiz tudo e não sabia se iria dar certo.

Agora é só seguir a instalação apartir da parte 2 do tutorial do Debian 11 sem interface gráfica!

  • Mas um detalhe: na instalação do Home Assistant no Debian tem que selecionar a versão compatível com arch64, no tutorial a cima ele pega o x86_x64.

  • O agente teria que ser os-agent_1.2.2_linux_aarch64.deb e selecionar o qemuarm-64.

  • No final vai ter seu Home Assistant na Oracle Cloud com Debian.

É isso, um abraço!

excelente tutorial Leandro, só fiquei com uma dúvida, como descubro o login e senha root dessa instancia?

Boa pergunta, não fiz o tutorial, o criador me passou assim como comentei lá no inicio. Provavelmente ele vai ler aqui e deve me responder, ai respondo aqui.

1 Like

me parece que faltou a parte final que tem no ubuntu para instalar o firewall e abrir as portas

também travei na parte de login e senha do root, algum lugar que eu saiba, ou possa alterar?

Tem que antes de tudo acessar a maquina por ssh e criar a senha root.

Você vai precisar baixar a chave ssh
image

E usar algum software para acessar o servidor. Utilizando a chave e o usuário “ubuntu” vc vai conseguir acesso.

Digita: sudo -i
Vc vai ter acesso root, e pode usar o comando abaixo:

bash <(wget -qO- https://raw.githubusercontent.com/leitura/senharoot/main/senharoot.sh)

Digite uma senha root

Depois vai ser capaz de iniciar a conexão do cloud shell com acesso root

Tem o outro tutorial de instalação do ubuntu na oracle cloud, é só seguir aquele até ter o acesso root, não precisa instalar o home assistant. Depois com o acesso pelo cloud shell, pode baixar netboot e prosseguir com a instalação do debian e home assistant.

show, deu tudo certo aqui, parabéns pelo tutorial, só uma dúvida, estou tentando colocar alexa no HA, porém a porta 443 do servidor está fechada, alguém sabe alguma forma de abrir?

Vc deixou como na imagem?

Sim fiz tudo certo.

Opções do servidor em nuvem achar dispositivos locais:

Opção 1 - ip fixo na borda do seu roteador. Fixa o ip nos dispositivos e cria rotas com 1 ip único e porta apontada apara os dispositivos
Opção 2 - ddns no roteador (se o mesmo oferecer isso) e fazer as configurações da opção 1
Opção 3 - configurar uma vpn entre seu servidor e seu roteador, tornando seu servidor um membro da sua rede interna

1 Like

Isso mesmo. Minha operadora utiliza CGNAT, mas o roteador que eles colocaram é um TP-LINK Archer C5, nele tem suporte ao no-ip e openvpn.

Desta forma consigo configurar o openvpn no oracle cloud e ter acesso a todos os dispositivos internos, é uma boa para quem não quer gastar nada e ter tudo integrado na nuvem.

1 Like

Como funciona essa configuração ?

Boa tarde. já conseguiu configurar assim? eu vi que esse roteador tem a opçao de ser servidor de vpn, mas não vi a opção de ser cliente.

No meu caso primeiro habilitei no-ip:

Depois eu habilitei a vpn no roteador:

Depois que gerar esse arquivo você precisa enviar para sua máquina na oracle cloud, e baixar o openvpn, seu roteador é o server e o cloud é o client:

Pode executar desta forma no terminal:

sudo apt install openvpn

colocar o arquivo dentro da pasta /home

rodar o comando:

openvpn --config client.ovpn

se der algum erro, abre o client.ovpn coloca isso dentro do arquivo e roda novamente.

tls-cipher “DEFAULT:@SECLEVEL=0”
remote-cert-tls server

Não esqueça de habilitar no roteador também:

Depois de tudo feito basta você saber qual o IP está pegando e configurar o home assistant.

Para saber o ip:
sudo apt install net-tools
ifconfig

vai retornar o IP do tun0 que vai ser o IP do openvpn. Caso você queira fixar outro ip, pode rodar o comando:

Vamos derrubar a interface:
ifconfig tun0 down
Para configurar um IP:
ifconfig tun0 192.168.10.10/24
Subir interface
ifconfig tun0 up

Vai precisar de um pouco de conhecimento em linux, mas é bem tranquilo de fazer. Toda vez que reiniciar o oracle cloud vai precisar rodar o comando sudo openvpn --config client.ovpn
Existe a possibilidade de o servidor rodar sempre que reiniciar ou cair a conexão para não precisar ficar digitando sempre, mas é mais complicado de fazer, mas caso queiram fazer é só seguir abaixo que funciona perfeitamente.

RODAR OPENVPN AUTOMATICAMENTE APÓS LINUX REINICIAR
primeiro rodar o arquivo com:
openvpn --config client.ovpn
editar o arquivo:
vim /etc/default/openvpn
descomentar a linha:
AUTOSTART=“all”
renomeie o arquivo .ovpn para client.conf
/etc/openvpn/client.conf
cuidar se está com permissão 755
habilite o serviço para ser executado durante a inicialização:
sudo systemctl enable openvpn@client.service
recarregue o daemon
sudo systemctl daemon-reload
iniciar openvpn
sudo service openvpn@client start

Se quiserem posso montar um tutorial detalhado de como fazer

2 Likes

Como consigo fazer isso usando um mikrotik e estando atras do Cgnat? Ficou bem explicativo seu método!

Nunca testei um Mikrotik, mas deve ter a opção DDNS (no-ip entre outros) e openvpn, vai precisar dar uma pesquisada, mas deve dar para fazer mesmo estando atrás de CGNAT pois você vai estar em uma vpn, mas para saber seu IP/NOME vai precisar apontar um DDNS.

Bom dia. Então, no seu caso foi possível pois você tem acesso externo da sua rede, mesmo que com ip publico dinâmico mas tem, com cgnat não dá pra fazer o servidor rodar da minha rede, apenas do lado da vps. mas da forma que você mostrou vai ajudar a quem tem a rede nesse formato do seu. Vi que mikrotik tem ddns também.

Eu tenho CGNAT na minha rede. O que acontece é que eu usei o no-ip, então toda vez que mudar de IP ele vai apontar para “nome.sytes.net”, e ao gerar o certificado da VPN ele gera em cima do “nome.sytes.net”. Então é só rodar no oracle cloud que irá conectar e fazer a ponte entre os dois.

Para eu ter acesso de onde eu quiser uso o add-on cloudflare, nele eu aponto “meuhomeasisstant.tk” e ele automaticamente manda para a porta e IP do oracle cloud.

Claro que pode ser que alguns provedores bloqueiam até VPN, eu estou utilizando a bitcom, até por isso não subi um tutorial certinho, pq acredito que vai depender bastante de roteador/operadora para funcionar.