[HASS.IO] HASSIO 安装一键脚本

发布时间:2019年08月07日 阅读:1279 次

给windows子系统的用户:
windows 商店已经提供ubuntu安装,但是这个ubuntu并不能安装docker,目前docker依然需要依赖虚拟机(因为子系统还不支持 iptables,有iptables但是没法用),网上流传的 WSL for Docker 都是需要安装 docker for windows客户端,而这个客户端其实是在 Hyper-V 上跑一个ubuntu,那你为何不直接在Hyper-V上直接装个ubuntu来跑 hassio?



HassIO 是什么?

有很多人根本不清楚 hassio和 homeassistant到底什么关系(其实我刚入坑也搞的我迷迷糊糊,还有墨澜美女博客的高能警告更搞的我迷迷糊糊),这样理解吧,hassio是一个框架,他利用 docker 来部署 homeassistant,并且为homeassistant 提供各种插件(addons)。

而 homeassistant 在 hassio 中,homeassistant 是利用docker 部署起来,hassio 和homeassistant 是通过他们的API进行联系和沟通。

那么 hassio 到底做了什么,他作用是什么?

我的理解是:hassio 是利用Python写了一个类似 docker 管理器那样的程序,拥有 docker 的控制权,从而达到升级/降级 homeassistant 容器,安装/卸载 addons的目的。

详细请参考我另一个帖子 hassio 启动详解及群晖运行方法

Docker 又是什么?

建议看一下我学习 docker 的教程写的很好《Docker — 从入门到实践

Docker 你可以将其理解成一个类似虚拟机的系统(但内核是和宿主共用的,故此比传统的虚拟机更轻量)。他的初衷是为了给各个业务系统提供一个干净的隔离环境(我自己理解,可能比较片面与不准确)。

我称 Docker 为运维神器,为什么?因为Docker 可以让你实现开箱即用。举个例子,如果我的hassio要迁移,我只需要把 hassio文件夹拷走(默认路径 /usr/share/hassio),然后拷贝到新的机器上,再运行我的一键脚本,整个 hassio 的所有东西,包括addons插件都会按照原来的方式运行,这要归功于 docker 的便利性。

Addons 是什么

hassio 设计了一套他独有的 addons 容器编写规范,由于是hassio独有,所以这些 addons 只适配 hassio 使用。

我能不能在其他支持docker 的机器上安装 addons(不依赖 hassio)?

答案其实是可以的,因为 addons 其实都是跑在docker 上所以只要设备能安装docker,那么 addons 其实就可以跑。但是上面也说了,addons是基于 hassio规范来设计的容器,所以我们在无 hassio 的情况下使用 addons 就要手工按照 hassio 配置方式来启动 addons了,具体怎么启动可以参考 addons 官方制作文档Developing an add-on,和我另一个帖子 群晖部署天猫精灵网关 For Docker

hassio_install

hassio 一键安装脚本,实现以下功能。

  1. 自动更改系统源为中科大源。(目前支持 Debian Ubuntu Raspbian 三款系统)

  2. 自动安装 Docker,可以选择切换 Docker 源为国内源,提高容器下载速度。

  3. 避开 Hassio 因亚马逊连接超时导致无法拉取最新版本的 Homeassistant 容器。

目前支持的系统

  • Raspbian

  • Ubuntu 测试版本 18.04 LTS通过,但按道理 16 以上都可以。

  • Debian 测试版本 9.5 通过。

使用方法

以 root 身份运行以下命令。

curl -sL -o install.sh https://raw.githubusercontent.com/neroxps/hassio_install/master/install.sh
chmod a+x install.sh
./install.sh

如果安装的是 64 位系统,脚本会自动筛选适配 64 位的设备列表

(1). 是否将系统源切换为中科大(USTC)源(目前支持 Debian Ubuntu Raspbian 三款系统)请输入 y or n(默认 yes):y(2). 在你系统内找到 nero 用户,是否将其添加至 docker 用户组。请输入 yes 或者 no (默认 yes):y将nero用户添加至 docker 用户组。(3).是否需要替换 docker 默认源?请输入 yes 或者 no(默认:yes):y(4).请选择你设备类型(默认:qemux86-64)    [1]: raspberrypi3-64    [2]: qemuarm-64    [3]: qemux86-64输入数字 (1-3):你选择了 qemux86-64
 ################################################################################
 # 1. 是否将系统源切换为中科大(USTC)源: 是
 # 2. 是否将用户添加至 Docker 用户组:   是,添加用户为 nero 
 # 3. 是否将 Docker 源切换至国内源:     是
 # 4. 您的设备类型为:                   qemux86-64
 ################################################################################请确认以上信息,继续请按任意键,如需修改请输入 Ctrl+C 结束任务重新执行脚本。

如果安装的是 32 位系统,脚本会自动筛选适配32位的设备列表

(1). 是否将系统源切换为中科大(USTC)源(目前支持 Debian Ubuntu Raspbian 三款系统)请输入 y or n(默认 yes):y(2). 在你系统内找到 nero 用户,是否将其添加至 docker 用户组。请输入 yes 或者 no (默认 yes):y将nero用户添加至 docker 用户组。(3).是否需要替换 docker 默认源?请输入 yes 或者 no(默认:yes):y(4).请选择你设备类型(默认:qemux86)    [1]: raspberrypi    [2]: raspberrypi2    [3]: raspberrypi3    [4]: qemuarm    [5]: qemux86    [6]: intel-nuc输入数字 (1-6):你选择了 qemux86
 ################################################################################
 # 1. 是否将系统源切换为中科大(USTC)源: 是
 # 2. 是否将用户添加至 Docker 用户组:   是,添加用户为 nero 
 # 3. 是否将 Docker 源切换至国内源:     是
 # 4. 您的设备类型为:                   qemux86
 ################################################################################请确认以上信息,继续请按任意键,如需修改请输入 Ctrl+C 结束任务重新执行脚本。

设备类型选型说明

  • raspberrypi : 树莓派1代

  • raspberrypi2 : 树莓派2代

  • raspberrypi3 : 树莓派3代(或3B+)

  • raspberrypi3-64  : 树莓派3代(或3B+)

  • qemuarm : 其余未知的arm设备(例如斐讯N1)

  • qemuarm-64 : 其余未知的arm设备(例如斐讯N1)

  • qemux86-64 : X86-64位系统通用(普通的PC机电脑)

  • qemux86 : X86-64位系统通用(普通的PC机电脑)

  • intel-nuc : 英特尔的nuc小主机

鸣谢

感谢帮我测试脚本的:Yume戴迪、萝卜


Tag:
相关文章
发表评论

发表评论: