;

Raspberry Pi(라즈베리 파이) Ubuntu Docker Home Assistant 설치하기 본문

Linux

Raspberry Pi(라즈베리 파이) Ubuntu Docker Home Assistant 설치하기

WindowsHyun 2022. 7. 10. 21:05
반응형

Docker Hub Home Assistant 이미지

0. Home Assistant설명하기

Home Assistant는 로컬 제어 및 개인 정보 보호에 중점을 둔 스마트 홈 장치의
중앙 제어 시스템으로 설계된 홈 자동화용 무료 오픈 소스 소프트웨어입니다.

 

1. Docker 명령어 입력하여 Home Assistant 설치하기

명령어 : docker run -d --name=homeassistant --net=host -e PUID=1000 -e PGID=1000 -e TZ=Asia/Seoul -p 8123:8123 -v /exthdd/dockerData/homeassistant:/config --restart unless-stopped lscr.io/linuxserver/homeassistant:latest
--name homeassistant 
    -> Docker 이름 입니다.


-e PUID=1000
    -> homeassistant가 사용할 UID 입니다. 

-e PGID=1000
    -> homeassistant가 사용할 GID 입니다.


-v "/exthdd/dockerData/homeassistant:/config"
    -> homeassistant Config 설정 위치를 정합니다.
    -> 자신의 폴더 상황에 맞게 수정해 주시면 됩니다.

lscr.io/linuxserver/homeassistant
    -> Docker 이미지 정보입니다

2. Home Assistant 초기설정

 Docker 설치가 완료된 이후 http://localhost:8123 (http://자신의아이피:8123) 으로 접속하시면 ID, Password 등을 만들수 있게 됩니다.

3. 설치시 오류 관련 내용

오류 내용 : 400 error 또는 127.0.0.1 Invalid
Docker로 설치시 바로 설치화면으로 들어가지지 않고, 위와 같이 "400 error" 또는 "127.0.0.1 invalid 등의 내용이 나올 경우

Config 폴더 -> configuration.yaml 파일에 아래 내용을 추가해 주시면 됩니다.
http:
  use_x_forwarded_for: true
  trusted_proxies:
    - 192.168.0.0/24
    - 127.0.0.1



Config 폴더의 경우 위 도커에서 설정한 ex)"/exthdd/dockerData/homeassistant:/config" 위치로 가시면 됩니다.
오류 내용: something went wrong loading onboarding try refreshing
위와 같은 메시지가 나오면서 로그인이 안되는 경우, 여러가지 경우가 있습니다.
크롬 개발자 도구등을 통해서 "Console(콘솔)"등을 확인하여 어떤 오류인지 판별을 해주어야 합니다.

저의 경우 wss(WebSocket) 오류로 인하여 위 메시지가 나왔고, 해결방법은 아래와 같습니다.
Apache2 사용 기준으로 설명을 드리겠습니다.

Ubuntu 터미널에 들어가서 아래 모듈을 모두 활성화 시켜 줍니다.

sudo a2enmod ssl
sudo a2enmod proxy
sudo a2enmod proxy_balancer
sudo a2enmod proxy_http
sudo a2enmod proxy_fcgi
sudo a2enmod proxy_wstunnel

이후 "/etc/apache2/sites-available" 에 들어가 000-default.conf를 수정해 줍니다.

<IfModule mod_ssl.c>
<VirtualHost *:443>
    ProxyPreserveHost On
        ProxyRequests Off

        ServerAdmin windowshyun@tistory.com
        ServerName windowshyun.tistory.com

        RewriteEngine On
        RewriteCond %{HTTP:Upgrade} =websocket [NC]
        RewriteRule /(.*\/websocket) ws://localhost:8123/$1 [P,L]
        RewriteCond %{HTTP:Upgrade} !=websocket [NC]
        RewriteRule /(.*) http://localhost:8123/$1 [P,L]

        ProxyPassReverse / http://localhost:8123/

        #HTTPS certs
        SSLEngine on
        SSLCertificateFile      /etc/letsencrypt/live/cert.pem
        SSLCertificateKeyFile   /etc/letsencrypt/live/privkey.pem
        SSLCertificateChainFile /etc/letsencrypt/live/chain.pem
        SSLProtocol all
        SSLCipherSuite HIGH:MEDIUM
</VirtualHost>
</IfModule>

빨간색 글씨의 경우 자신의 서버 상황에 맞게 수정을 해주시면 됩니다.
이후 "service apache2 restart"를 진행해주시면 됩니다.

반응형
Comments