树莓派 篇一:树莓派 docker下安装hassio+openwrt

2021-04-02 19:04:29 22点赞 212收藏 9评论

之前一直用树莓派安装homeassistant利用homeassistant连接了天猫精灵控制过家电,之前用了sonoff不知道有没有大神知道,反正用esphome刷代码就对了,之后换了小米的很多设备就就在手机app上点点算了,嫌麻烦,所以废弃了一段时间,然后拿出我上古树莓派(当时买了2个一个测试一个想就家里用着结果一个都没用积灰尘)然后升级,升级后发现了问题了,之前我也将python升级到3.7再升级homeassistant没有问题,这次再次闲置想升级的时候发现升级到python3.8.6问题一大堆,要知道我之前添加了一大堆智控呢,于是看到某大神itcommander也放弃了转战hassio的文章有了启发,作出了艰难的决定转战hassio。但是并不想按照他方式在openwrt下安装docker再安装hassio,自己摸索自己来。废话讲完了开始教程。

一、系统的安装

首先我们要去raspberrypi官网下载树莓派os

树莓派 docker下安装hassio+openwrt

下面我们把SD卡 format

树莓派 docker下安装hassio+openwrt

我们来烧录下载好的镜像文件

树莓派 docker下安装hassio+openwrt

在烧写好的卡中system32分区,增加SSH空文件以及wpa_supplicant.conf,内容如下(修改其中ssid和psk)


country=CN

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev

update_config=1

network={

ssid="你的ssd"

psk="你的密码"

key_mgmt=WPA-PSK

priority=1

}

树莓派 docker下安装hassio+openwrt

然后我们插入树莓派,要在自己的路由器内找到正确的IP 这步简单自己进自己路由去看

输入默认账号pi密码raspberry 当然自己要修改的自己修改有的是教程

树莓派 docker下安装hassio+openwrt

下面我们固定下ip不管走无线还是走有线

sudo nano /etc/dhcpcd.conf

底部添加:

#网线

interface eth0

static ip_address=自己IP

static routers=网关

static domian_name_servers=114.114.114.114

static domian_name_servers=114.114.115.115

#无线

interface wlan0

static ip_address=自己IP

static routers=网关

static domian_name_servers=114.114.114.114

static domian_name_servers=114.114.115.115

然后我们重启下sudo reboot 用自己设置的IP进行SSH。

下面我们要改下源不然下载太慢了

1.修改/etc/apt/sources.list或者直接修改原文件,把原有的配置全部注释掉(使用#注释)。

deb http://mirrors.aliyun.com/raspbian/raspbian/ buster main non-free contrib rpi

树莓派 docker下安装hassio+openwrt

2.修改/etc/apt/sources.list.d/raspi.list

deb http://mirror.tuna.tsinghua.edu.cn/raspberrypi/ buster main

deb-src http://mirror.tuna.tsinghua.edu.cn/raspberrypi/ buster main

树莓派 docker下安装hassio+openwrt

3.修改pip源 sudo nano /etc/pip.conf

[global]

index-url = http://mirrors.aliyun.com/pypi/simple/

extra-index-url = http://pypi.doubanio.com/simple/

trusted-host =

mirrors.aliyun.com

pypi.douban.com

树莓派 docker下安装hassio+openwrt

下面我们更新系统

sudo apt-get update

sudo apt-get upgrade

二、docker的安装

系统部分好了。下面我们需要安装docker

在凡是求方便的基础上我们使用一键脚本gogogo

sudo curl -sSL https://get.docker.com | sh

查看下docker版本 查看下docker版本

为了方便观察我们下载 Docker 图形化界面 portainer

sudo docker pull portainer/portainer#

创建 portainer 容器

sudo docker volume create portainer_data

#运行 portainer

sudo docker run -d -p 9000:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer

其实你不在乎portainer_data位置的话直接最后一句会拉取的,我求方便最后一句

树莓派 docker下安装hassio+openwrt

安装完成之后我们可以在浏览器里查看:你IP:9000 创建自己的用户名跟密码,之后选local

树莓派 docker下安装hassio+openwrt

三、openwrt的安装

下面我们要安装openwrt系统,首先要感谢sulinggg提供的docker镜像,感觉比较全,但是大神现在这个版本有点问题上不了网的需要做修改,大家可以参考下,去使用别的镜像版本也可以流程一样。

打开网卡混杂模式

sudo ip link set eth0 promisc on

创建网络

sudo docker network create -d macvlan --subnet=你IP/24 --gateway=你网关 -o parent=eth0 macnet

sudo docker network ls 看下成功没有

已看到macnet已看到macnet

下一步创建openwrt

sudo docker pull registry.cn-shanghai.aliyuncs.com/suling/openwrt:latest

sudo docker run --restart always --name openwrt -d --network macnet --privileged registry.cn-shanghai.aliyuncs.com/suling/openwrt:latest /sbin/init

sudo docker ps -a

树莓派 docker下安装hassio+openwrt

接着我们修改网络不然无法使用

sudo docker exec -it 你的containerID bash

nano /etc/config/networkconfig

interface 'lan'
option type 'bridge'
option ifname 'eth0'
option proto 'static'
option ipaddr '192.168.123.100'
option netmask '255.255.255.0'
option ip6assign '60'
option gateway '192.168.123.1'
option broadcast '192.168.123.255'
option dns '192.168.123.1'

修改自己的的IP 网关以及DNS 划重点 这个IP不是你当前树莓派的IP 而是你给openwrt的以后做网关的路由。处理好之后我们重启容器里面的网络

/etc/init.d/network restart

树莓派 docker下安装hassio+openwrt

在浏览器输入 你刚才设定的那个IP

用户名:root

密码:password

到这就完成了openwrt的安装

树莓派 docker下安装hassio+openwrt

里面的调试不在今天的范围内给个提示吧这个版本有问题进去记得关闭防火墙

openwrt 好了,我们接着搞hassio

四、hassio的安装

首先说下 itcommander 他的是这样的

树莓派 docker下安装hassio+openwrt

树莓派 docker下安装hassio+openwrt

本来我想这么干但是 sorry完全支持 docker 里的镜像会无限重启 我们来分析下问题吧

jobs.json 没问题反正就是阻止健康检查

aarch64他写的明明支持树莓派3b+为什么不行呢?

你试试输入命令uname -a 会给你解答

Linux raspberrypi 5.10.17-v7+ #1403 SMP Mon Feb 22 11:29:51 GMT 2021 armv7l GNU/Linux

看清楚了是armV7 不是aarch64版本不对的 知道原因了我尝试了分析后面这段命令

docker run -d --name hassio_supervisor --privileged
-v /var/run/docker.sock:/var/run/docker.sock
-v /var/run/dbus:/var/run/dbus
-v /opt/docker/hassio:/data
-e SUPERVISOR_SHARE="/opt/docker/hassio"
-e SUPERVISOR_NAME=hassio_supervisor
-e HOMEASSISTANT_REPOSITORY="homeassistant/qemuarm-64-homeassistant"
--restart unless-stopped homeassistant/aarch64-hassio-supervisor:2020.12.7

是不是版本修改下可以?

在dockerhub上找到了

homeassistant/armv7-hassio-supervisor

替换进去了,但是很不好意思估计还是不行,可能我等的时间不够吧,有可能可以,你们可以尝试

下面要感谢某位日本大神了按照他的方法我成功安装了我们看下

树莓派 docker下安装hassio+openwrt

树莓派 docker下安装hassio+openwrt

那我们来操作吧

要选对自己的版本哦

树莓派 docker下安装hassio+openwrt

sudo apt-get -y install network-manager apparmor apparmor-utils apparmor-profiles jq

sudo curl -Lo installer.sh https://raw.githubusercontent.com/home-assistant/supervised-installer/master/installer.sh

sudo bash installer.sh --machine raspberrypi3

下面需要耐心的等待,等待时间也挺长的我估计我自己等了1个小时左右吧全部弄好

树莓派 docker下安装hassio+openwrt

等这个完成后需要重启下树莓派(可能我卡死了)才能安装不然会卡在那边

记得可以这里观察容器数量会上去

树莓派 docker下安装hassio+openwrt

然后我们愉快的进入homeassistant的安装了

耐心等20分钟左右耐心等20分钟左右

这个时候需要有绝对的耐心等待完成,毕竟服务器不在国内


五、总结

现在就完成了利用docker openwrt+hassio同时安装在树莓派上了安装hassio的好处就是方便真的比homeassistant方便,原来我设置域名还要N多命令,包括ssl设置,现在在supv,下面还有好多东西要设置,很多我也忘记了,很多与我当初设置的东西也不同了,要从0开始重新认识。

难得写一次,也是希望大家少走弯路,觉得可以的麻烦收藏点赞呗。


后记关于如何删除

##
# Install Hass.io Supervisor
info "Install supervisor startup scripts"
curl -sL ${URL_BIN_HASSIO} > "${PREFIX}/sbin/hassio-supervisor"
curl -sL ${URL_SERVICE_HASSIO} > "${SYSCONFDIR}/systemd/system/hassio-supervisor.service"

sed -i "s,%%HASSIO_CONFIG%%,${CONFIG},g" "${PREFIX}"/sbin/hassio-supervisor
sed -i -e "s,%%BINARY_DOCKER%%,${BINARY_DOCKER},g"
-e "s,%%SERVICE_DOCKER%%,${SERVICE_DOCKER},g"
-e "s,%%BINARY_HASSIO%%,${PREFIX}/sbin/hassio-supervisor,g"
"${SYSCONFDIR}/systemd/system/hassio-supervisor.service"

chmod a+x "${PREFIX}/sbin/hassio-supervisor"
systemctl enable hassio-supervisor.service > /dev/null 2>&1;

可以看到安装的时候是作为系统服务的必须先停止,不然的话停止这个容器还是会不停运行创建


展开 收起

Xiaomi 小米 AX3000T 双频3000M 家用千兆Mesh路由器 Wi-Fi 6 白色 单个装

Xiaomi 小米 AX3000T 双频3000M 家用千兆Mesh路由器 Wi-Fi 6 白色 单个装

99元起

Xiaomi 小米 BE6500 Pro 双频6500M 家用千兆Mesh无线路由器 Wi-Fi 7

Xiaomi 小米 BE6500 Pro 双频6500M 家用千兆Mesh无线路由器 Wi-Fi 7

535元起

Ruijie 锐捷 雪豹 X30E 双频3000M 家用千兆Mesh无线路由器 Wi-Fi 6 白色 单个装

Ruijie 锐捷 雪豹 X30E 双频3000M 家用千兆Mesh无线路由器 Wi-Fi 6 白色 单个装

159元起

ZTE 中兴 AX3000 巡天版 双频3000M 家用千兆Mesh无线路由器 Wi-Fi 6 单个装 白色

ZTE 中兴 AX3000 巡天版 双频3000M 家用千兆Mesh无线路由器 Wi-Fi 6 单个装 白色

164元起

Xiaomi 小米 BE3600 2.5G版 3600M 双频千兆家用无线路由器 Wi-Fi 7 白色

Xiaomi 小米 BE3600 2.5G版 3600M 双频千兆家用无线路由器 Wi-Fi 7 白色

229元起

Redmi 红米 AX6000 双频5952M 家用千兆Mesh无线路由器 Wi-Fi 6 单个装黑色

Redmi 红米 AX6000 双频5952M 家用千兆Mesh无线路由器 Wi-Fi 6 单个装黑色

329元起

ASUS 华硕 RT-BE88U 双频7200M 家用Mesh无线路由器 Wi-Fi 7 黑色 单个装

ASUS 华硕 RT-BE88U 双频7200M 家用Mesh无线路由器 Wi-Fi 7 黑色 单个装

1999元起

Xiaomi 小米 AX6000 双频6000M 家用千兆Mesh无线路由器 Wi-Fi 6 单个装 黑色

Xiaomi 小米 AX6000 双频6000M 家用千兆Mesh无线路由器 Wi-Fi 6 单个装 黑色

299元起

HUAWEI 华为 BE3 Pro 双频3000M 千兆家用路由器 Wi-Fi 7 黑色

HUAWEI 华为 BE3 Pro 双频3000M 千兆家用路由器 Wi-Fi 7 黑色

253.55元起

Xiaomi 小米 BE7000 三频千兆Mesh无线路由器 Wi-Fi 7

Xiaomi 小米 BE7000 三频千兆Mesh无线路由器 Wi-Fi 7

406元起

HUAWEI 华为 AX2 Pro 双频1500M 家用千兆无线路由器 Wi-Fi 6 白色

HUAWEI 华为 AX2 Pro 双频1500M 家用千兆无线路由器 Wi-Fi 6 白色

132元起

ZTE 中兴 问天BE7200Pro+ 双频7200M 家用千兆Mesh无线路由器 WiFi 7 黑色

ZTE 中兴 问天BE7200Pro+ 双频7200M 家用千兆Mesh无线路由器 WiFi 7 黑色

579元起

TP-LINK 普联 BE5100 双频5100M 家用千兆Mesh无线路由器 Wi-Fi 7 黑色 单个装

TP-LINK 普联 BE5100 双频5100M 家用千兆Mesh无线路由器 Wi-Fi 7 黑色 单个装

279元起

TP-LINK 普联 飞流系列 TL-XDR5480 易展Turbo版 双频5400M 家用千兆Mesh无线路由器 WiFi 6 单个装 灰色

TP-LINK 普联 飞流系列 TL-XDR5480 易展Turbo版 双频5400M 家用千兆Mesh无线路由器 WiFi 6 单个装 灰色

379元起

ZTE 中兴 巡天AX3000Pro+ 双频3000M 家用千兆Mesh无线路由器 Wi-Fi 6 白色 单个装

ZTE 中兴 巡天AX3000Pro+ 双频3000M 家用千兆Mesh无线路由器 Wi-Fi 6 白色 单个装

269元起

HUAWEI 华为 Q6 网线版 双频3000M 千兆Mes无线分布式路由器 Wi-Fi 6 一母三子装 白色

HUAWEI 华为 Q6 网线版 双频3000M 千兆Mes无线分布式路由器 Wi-Fi 6 一母三子装 白色

408.8元起
9评论

  • 精彩
  • 最新
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
212
扫一下,分享更方便,购买更轻松