HA em Proxmox - Parte 3, Instalar o HA

Para finalizar este conjunto de guias, vamos agora efectuar a instalação do HA. Ao contrário dos guias anteriores neste não há nada para descarregar.

NOTA: Antes de começar este guia devem saber o IP da VM onde acabaram de instalar o Debian. Para isso selecionam no Proxmox a respectiva VM e escolhem a opção >_ Console

image

Efectuar o login com os dados de acesso que foram criados durante a instalação do Debian e executar o comando: ip address

Irão aparecer dois adaptadores. O primeiro, lo, é o endereço de loopback e o segundo, ens18, é o adaptador usado para ligar à vossa rede. É apresentado no formato inet xxx.xxx.xxx.xxx/24.

Vamos então começar:


  1. Abrir uma ligação SSH com o PuTTY (ou outro semelhante) à VM do HA através do endereço ip_da_vm_do_ha na porta 22. O motivo da utilização do PuTTY tem a ver com o facto da consola do Proxmox para VMs não permitir o copiar/colar e alguns comandos são muito extensos para introduzir à mão

image


  1. Após efectuar a ligação irá aparecer o pedido de login no Debian. Devem usar os dados de acesso que foram criados durante a instalação do Debian.

image


  1. Feito o login, executar o seguinte comando para activar o utilizador root antes de iniciar a instalação.

su

NOTA: Será pedida a password do utilizador root que foi definida durante a instalação do Debian.

image


  1. Vamos agora executar o script que efectua a instalação executando o comado:

bash -c "$(wget -qLO - https://raw.githubusercontent.com/CPHApt/install-scripts/master/homeassistant/ha_on_debian.sh)"

O comando poderá demorar algum tempo dependendo da máquina, e do número de updates a fazer, e estará concluído quando virem de novo a linha de comandos.

NOTA: Tal como referido pelo @Murphy, se o comando der um erro na instalação do Docker, devem executar o comando export PATH=$PATH:/usr/sbin antes de correr de novo o script.


  1. Após a conclusão do passo anterior podem confirmar se tudo foi instalado com sucesso.

docker ps

Irá aparecer algo deste género, listando todos os containers instalados:


  1. O HA está instalado! Se abrirem logo o endereço http://ip_da_vm_do_ha:8123 possivelmente nem verão a indicação de que o HA está a instalar.

Irão ver a página para efectuar a configuração inicial do HA!


  1. Falta apenas um pormenor, que é a configuração da VM para iniciar sempre que o Proxmox arranca. Para isso seleccionam a VM que criaram para o HA, no lado esquerdo da interface do Proxmox, e de seguida clicam na opção Options

ha15


  1. Depois devem dar um duplo clique na linha Start at boot

ha03


  1. Irá abrir um popup onde devem seleccionar a opção Start at boot seguido de OK.

ha04


  1. Agora sim, está tudo concluído e configurado!
    Se tiverem alguma duvida não hesitem em perguntar.

Alterações

:warning: Este guia foi actualizado em 03/02/2021 refletindo a instalação do HA em Debian.


Outros guias desta serie :

HA em Proxmox - Parte 1, Instalar o Proxmox
HA em Proxmox - Parte 2, Criar uma VM
HA em Proxmox - Parte 3, Instalar o HA

7 Curtiram

Muito bom estes tutoriais…
Agora precisava de saber como encontro os ficheiros do HA… Através da linha de comandos.

Da mesma maneira que noutro qualquer sistema, instalas o Samba.

Caso não queiras usar o Samba, podes sempre entrar na linha de comandos do sistema (neste caso Linux) e escrever o comando:

locate configuration.yaml

Em Ubuntu por exemplo aparece o seguinte:

root@ubuntassio-prod:~# locate configuration.yaml
/usr/share/hassio/homeassistant/configuration.yaml

Excelentes tutoriais.
Serão certamente uma boa ajuda na minha próxima aquisição (NUC).

1 Curtiu

Muito Bom este Tutorial

Parabéns pela trabalho realizado … AJUDOU ME MUUUIITTTOOO

Grande abraço a equipa …

2 Curtiram

Boa noite a todos.
Estou a iniciar-me nestas andanças e ao seguir este tutorial na parte 3 ponto 5 na confirmação se o Docker foi instalado com sucesso.
Conforme imagem o Docker está inativo.
O que estarei a fazer mal?
Muito obrigado pela vossa ajuda.

O comando do ponto 4 deu algum erro? Corre o comando journalctl -u docker.service e coloca aqui o resultado.

Obrigado pela resposta.
Entretanto andei a vasculhar e encontrei um comando para iniciar docker com reinicio maquina (systemctl enable docker).

> root@dev:~# journalctl -u docker.service
> -- Logs begin at Mon 2020-03-23 18:15:52 UTC, end at Mon 2020-03-23 23:00:25 UTC
> Mar 23 21:19:55 dev systemd[1]: Starting Docker Application Container Engine...
> Mar 23 21:19:56 dev dockerd[874]: time="2020-03-23T21:19:56.372628376Z" level=in
> Mar 23 21:19:56 dev dockerd[874]: time="2020-03-23T21:19:56.374520951Z" level=in
> Mar 23 21:19:56 dev dockerd[874]: time="2020-03-23T21:19:56.485520503Z" level=in
> Mar 23 21:19:56 dev dockerd[874]: time="2020-03-23T21:19:56.489195067Z" level=in
> Mar 23 21:19:56 dev dockerd[874]: time="2020-03-23T21:19:56.489441714Z" level=in
> Mar 23 21:19:56 dev dockerd[874]: time="2020-03-23T21:19:56.489644834Z" level=in
> Mar 23 21:19:56 dev dockerd[874]: time="2020-03-23T21:19:56.501040225Z" level=in
> Mar 23 21:19:56 dev dockerd[874]: time="2020-03-23T21:19:56.501093994Z" level=in
> Mar 23 21:19:56 dev dockerd[874]: time="2020-03-23T21:19:56.501142814Z" level=in
> Mar 23 21:19:56 dev dockerd[874]: time="2020-03-23T21:19:56.501169685Z" level=in
> Mar 23 21:19:56 dev dockerd[874]: time="2020-03-23T21:19:56.574208684Z" level=wa
> Mar 23 21:19:56 dev dockerd[874]: time="2020-03-23T21:19:56.574687973Z" level=wa
> Mar 23 21:19:56 dev dockerd[874]: time="2020-03-23T21:19:56.574903693Z" level=wa
> Mar 23 21:19:56 dev dockerd[874]: time="2020-03-23T21:19:56.576239009Z" level=in
> Mar 23 21:19:57 dev dockerd[874]: time="2020-03-23T21:19:57.037068675Z" level=in
> Mar 23 21:19:57 dev dockerd[874]: time="2020-03-23T21:19:57.276361620Z" level=in
> Mar 23 21:19:57 dev dockerd[874]: time="2020-03-23T21:19:57.507106063Z" level=in
> Mar 23 21:19:57 dev dockerd[874]: time="2020-03-23T21:19:57.507300343Z" level=in
> Mar 23 21:19:57 dev systemd[1]: Started Docker Application Container Engine.
> Mar 23 21:19:57 dev dockerd[874]: time="2020-03-23T21:19:57.577548809Z" level=in
> Mar 23 22:53:26 dev dockerd[874]: time="2020-03-23T22:53:26.532770708Z" level=in
> lines 1-23

Creio que está tudo bem agora.

1 Curtiu

Muito obrigado por este tutorial.
Foi uma ajuda brutal para a instalação no meu NUC.

1 Curtiu

Já agora alguem tem ideia de como colocar a Temperatura do CPU ?

Tinha um RPI 3 onde era possivel , mas agora sendo uma VM não vejo forma de ir buscar a info do processador fisico.

Eu também queria mas acho que precisas de um plugin chamado glances!

Dependendo do SO base do HA isso pode ser feito no directamente no SO e lido pelo HA como por exemplo atravéz do Netdata. Não há necessidade de instalar o addon que seca os recursos todos da máquina em que é instalado apenas para saber a temperatura do CPU.

Com proxmox foi a unica maneira que consegui meter a funcionar!

1 Curtiu

Resumindo

Instalação do netdata no proxmox:

apt install curl
bash <(curl -Ss https://my-netdata.io/kickstart.sh)

Acesso fica disponivel http://ip-proxmox:19999

Para ver os data_group e element : http://ip-proxmox:19999/api/v1/allmetrics?format=json

HA config
- platform: netdata
  host: 'ip-proxmox'
  port: '19999'
  name: ProxMox Host
  resources:
    cpu_temp:
      data_group: sensors.coretemp-isa-0000_temperature
      element: coretemp-isa-0000_temp1

Só não gosto do netdata estar em http e não ter password , ainda não descobri se existe alguma forma de alterar isso…

@HAfunatic quando publicares código ou logs deves fazê-lo como texto. Depois deves sublinhar o texto que queres transformar em código e clicar no icone </>. Deverá existir um espaço antes e outro depois do bloco de código para que funcione correctamente. O código em Yaml é muito sensível aos espaçamentos e sem o código devidamente formatado não te poderemos ajudar. E nos logs há pormenores que só devidamente formatados se conseguem ver. Além disso, existem regras no fórum que devem ser cumpridas e que podes ler nos nossos Termos do Serviço/Regras e na FAQ.

Vê um exemplo:

Se usares um reverse proxy isso é fácil de fazer. E atenção que a porta 19999 fica aberta para o exterior…

@j_assuncao

Aparentemente no ficheiro netdata.conf é possivel adicionar alguma segurança:

[web]
        # ssl key = /etc/netdata/ssl/key.pem
        # ssl certificate = /etc/netdata/ssl/cert.pem
        # tls version = 1.3
        # tls ciphers = none
        # ses max window = 15
        # des max window = 15
	# mode = static-threaded
        # listen backlog = 4096
        # default port = 19999
        # bind to = *
        # web files owner = netdata
        # web files group = netdata
        # disconnect idle clients after seconds = 60
        # timeout for first request = 60
        # accept a streaming request every seconds = 0
        # respect do not track policy = no
        # x-frame-options response header = 
        # allow connections from = localhost *
        # allow connections by dns = heuristic
        # allow dashboard from = localhost *
        # allow dashboard by dns = heuristic
        # allow badges from = *
        # allow badges by dns = heuristic
        # allow streaming from = *
        # allow streaming by dns = heuristic
	# allow dashboard from = localhost *
        # allow dashboard by dns = heuristic
        # allow badges from = *
        # allow badges by dns = heuristic
        # allow streaming from = *
        # allow streaming by dns = heuristic
        # allow netdata.conf from = localhost fd* 10.* 192.168.* 172.16.* 172.17.* 172.18.* 172.19.* 172.20$
        # allow netdata.conf by dns = no
        # allow management from = localhost
        # allow management by dns = heuristic
        # enable gzip compression = yes
        # gzip compression strategy = default
        # gzip compression level = 3

É possivel ativar o ssl e o acesso aos dados apenas de alguns ips:

allow connections from localhost 192.168.x.x - foi o suficiente para restringir o acesso apenas ao HA

1 Curtiu

Não me lembrei dessa opção, neste momento tenho o reverse proxy a pedir user e pass para aceder ao Netdata.

Boa noite,

Obrigado pelo excelente tutorial.

Estou com uma dificuldade no passo 6, quando insiro o comando curl -sL "https://raw.githubusercontent.com/home-assistant/supervised-installer/master/installer.sh" | bash -s

aparece o seguinte erro:

[Warning] This installer is no longer supported.
[Warning]
[Warning] Home Assistant might work today, tomorrow maybe not.
[Warning]
[Warning] If you want more control over your own system, run
[Warning] Home Assistant as a VM or run Home Assistant Core
[Warning] via a Docker container.
[Warning]
Please typ "not supported" to continue this installation
bash: line 17: syntax error near unexpected token `then'
(23) Failed writing body

Não tenho grandes conhecimentos da matéria, estou a limitar-me a fazer copy + paste pelo que não sei mesmo como dar a volta à situação, nem perceber o que estarei a fazer de errado.

Acham que podem dar alguma dica para resolver esta questão? precisam de mais alguma informação que eu eventualmene não estarei aqui a dar?

Muito obrigado

Boa noite,

Inicialmente pensei colocar o HA num Pi4 com tudo encontrei um bonito ThinkCenter Tiny no OLX pelo mesmo valor do Pi4, instalei o proxmox porque é o que mais se fala por aqui, mas depois de instalar uns LxC que preciso e o HassOS pergunto-me porque é que a malta vai toda para o proxmox (que nem tem imagem oficial) e nao para VMWare ESXI ou XCP ou outra plataforma de virtualizaçao mas leve que proxmox? Existe alguma razao que me escape especifica do HA?


Copyright © 2017-2021. Todos os direitos reservados
CPHA.pt - info@cpha.pt


FAQ | Termos de Serviço/Regras | Política de Privacidade