2021年8月15日 星期日

Home Assistant NAS docker 版的外部連線

在網路上的教學都是基於 HAOS,HAOS 只能裝在 VMM 上, 

應該有些人不想用吃資源的虛擬機,而想用 docker 版的 HA Container。

 

這邊簡單說明一下 synology NAS docker 版 HA 的外部連線設定方法,

其他牌的 NAS 應該都有對應的功能能用,請自行尋找。

 

1.安裝 HA 就不說了,請直接參照官方教學:

 https://www.home-assistant.io/installation/alternative#synology-nas 

 

 2.申請 synology 提供的 DDNS:

控制台 - 外部存取 - DDNS,

主機名稱自己取好記的,記得初次申請要勾選取得憑證。

申請完之後即可代替 duckDNS 的功能。









3.網路上常見用 NGINX Home Assistant SSL Proxy 做 SSL 反向代理。

這邊我們一樣用 S 牌內建的反向代理伺服器處理掉。

控制台 - 登入入口 - 進階 - 反向代理伺服器

主機名稱就是剛剛設定的 DDNS 網址,

連接埠隨意設個不衝突的 PORT ,如果有衝突系統會提示。

因為我們 HA docker 是用 host 網路,所以下面就用 localhost:8123 即可,








 

 

4.打開 HA 目錄下的 configuration.yaml,輸入以下字串:

 http:
  use_x_forwarded_for: true
  trusted_proxies:
   - 192.168.1.0/24
   - 127.0.0.1

 不知道為啥,直接輸入 NAS IP 無法正確回應,一定要用代表 host 的 127.0.0.1。

192.168.X.1 其實可以省略,我只是怕區網連線有問題多打的而已。

對,configuration 只打信任 ip 而已,有些教學要把憑證掛到 HA server 底下,

我們這邊是使用反向代理伺服器,不用再多掛一次憑證。



 

 

 

 

 

 

 

4.1 如果無法直接編輯 yaml,就裝一下 NAS 的文字編輯器套件。

這同時也能代替 HA 教學中常用的 File editor (現稱 configurator)。


 


 

 

 

 

5.在 router 上面開剛剛設定的 port 指到 NAS







6.在瀏覽器輸入 https://ddns:port 測試連線是否成功吧。