[SmartHome] 在樹莓派4B 安裝 Hass.io / HomeAssistant (with docker)
Hass.io 是安裝在作業系統層面上的一個軟體,他本身是一個 Docker 容器,同時 Hass.io 也具有 Docker 的控制許可權。
另系統層面上還有一個叫 hassio-hc 的腳本在運行,這個腳本會建立一個 sock 檔並建立 Hass.io 容器的時候用 -v 映射到 Hass.io 容器內部供容器使用。
Home-Assistant 則是跑在 Docker 下面的另一個容器,它享有與本機一樣的網路狀態,通過網路與 Hass.io 聯繫(應該是類似 Rest_api 的方式互通),而 Home-Assistant 則負責前端顯示,Hass.io 角色像是作為 Home-Assistant 的一個外掛程式那樣存在。
Addons 是依賴於 Hass.io 存在的,這些外掛程式其實就是基於 Hass.io 規範設計的 Docker 容器,發佈到 Docker Hub、Github 方便 Hass.io 調用。
系統中如果 Docker 已經安裝好了可以跳過這個步驟。
參考:Get Docker Engine - Community for Debian
更新 apt 索引
安裝允許 apt 使用 HTTPs 取得來源的套件
加入 Docker 的官方 GPG Key
安裝 Docker for Raspbian Buster (10)
把pi user加入到 docker群組,免得每次跑docker都要sudo
測試 Docker 是否安裝成功 (Optional)
增加Docker 的來源庫
設定及執行docker 介面
用宿主機9000埠關聯容器中的9000埠,並給容器起名為portainer-test。執行完該命令之後,使用該機器IP:PORT即可訪問Portainer。
如果有之前的 HomeAssistant備份,可以在此時將檔案複製到
/usr/share/hassio/homeassistant
透過瀏覽器 連接 8123 port, 有東西的話就完成囉~~~
(hassio-supervisor 會負責啟動 HomeAssistant, 需要一點時間)
參考資料:
Installing Hass.io @ HomeAssistant
Install HASS.io on Docker – Run HASS.io on Ubuntu / Debian Systems
Install Hass.io @ GitHub
另系統層面上還有一個叫 hassio-hc 的腳本在運行,這個腳本會建立一個 sock 檔並建立 Hass.io 容器的時候用 -v 映射到 Hass.io 容器內部供容器使用。
Home-Assistant 則是跑在 Docker 下面的另一個容器,它享有與本機一樣的網路狀態,通過網路與 Hass.io 聯繫(應該是類似 Rest_api 的方式互通),而 Home-Assistant 則負責前端顯示,Hass.io 角色像是作為 Home-Assistant 的一個外掛程式那樣存在。
Addons 是依賴於 Hass.io 存在的,這些外掛程式其實就是基於 Hass.io 規範設計的 Docker 容器,發佈到 Docker Hub、Github 方便 Hass.io 調用。
系統中如果 Docker 已經安裝好了可以跳過這個步驟。
參考:Get Docker Engine - Community for Debian
更新 apt 索引
sudo apt-get update -y
安裝允許 apt 使用 HTTPs 取得來源的套件
sudo apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common
加入 Docker 的官方 GPG Key
curl -fsSL https://download.docker.com/linux/raspbian/gpg | sudo apt-key add -
安裝 Docker for Raspbian Buster (10)
curl -fsSL get.docker.com -o get-docker.sh && sh get-docker.sh
Docker-CE need updating for raspbian buster #709把pi user加入到 docker群組,免得每次跑docker都要sudo
sudo usermod -aG docker pi
測試 Docker 是否安裝成功 (Optional)
sudo docker run hello-world
增加Docker 的來源庫
sudo nano /etc/apt/sources.list
添加以下deb https://download.docker.com/linux/raspbian/ buster stable
再更新一下sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get dist-upgrade
安裝其他所需程式庫sudo apt-get install -y bash jq curl avahi-daemon dbus network-manager apparmor-utils
2.安裝Docker 介面 Portainer(不裝也是OK, 裝只是方便管理Docker)
Portainer是Docker的圖形化管理工具,提供狀態顯示面板、應用模板快速部署、容器映象網路資料卷的基本操作(包括上傳下載映象,建立容器等操作)、事件日誌顯示、容器控制檯操作、Swarm叢集和服務等集中管理和操作、登入使用者管理和控制等功能。功能十分全面,基本能滿足中小型單位對容器管理的全部需求。docker pull portainer/portainer:latest
設定及執行docker 介面
用宿主機9000埠關聯容器中的9000埠,並給容器起名為portainer-test。執行完該命令之後,使用該機器IP:PORT即可訪問Portainer。
docker run -d -p 9000:9000 \
--restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
--name prtainer-test \
docker.io/portainer/portainer
3.安裝 Hass.io
查看官方支援的設備類型,自行更換為自己的設備,這邊我用的是樹梅派4B+Raspbian, 只有32bitsudo su
curl -sL https://raw.githubusercontent.com/home-assistant/hassio-installer/master/hassio_install.sh | bash -s -- -m raspberrypi4
如果有之前的 HomeAssistant備份,可以在此時將檔案複製到
/usr/share/hassio/homeassistant
透過瀏覽器 連接 8123 port, 有東西的話就完成囉~~~
(hassio-supervisor 會負責啟動 HomeAssistant, 需要一點時間)
參考資料:
Installing Hass.io @ HomeAssistant
Install HASS.io on Docker – Run HASS.io on Ubuntu / Debian Systems
Install Hass.io @ GitHub
相關系列文章:
留言
張貼留言