最近了解到Node-RED,感觉配合HA做自动化挺不错的,于是折腾一番,搭个环境来学习学习。
1.准备
Ubuntu 18.04 64位
2.过程
2.1.安装docker
版本强迫症,所以按官网教程来装最新社区版。
1)安装依赖的工具
1 | $ sudo apt-get install apt-transport-https ca-certificates curlsoftware-properties-common |
2)获取官方GPG key
1 | $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudoapt-key add - |
3)增加软件源
1 | $ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" |
一个坑
18.04刚出还没有源,需要手动替换$(lsb_release -cs)为17.10版本的源artful。
4)更新源索引
1 | $ sudo apt-get update |
5)安装docker-ce
1 | sudo apt-get install docker-ce |
2.2.设置免sudo执行docker命令
1)将当前用户加入docker组
1 | $ sudo gpasswd -a ${USER} docker |
2)重启docker
1 | $ sudo service docker restart |
3)刷新docker组
1 | $ newgrp -docker |
3.安装Node-RED
1)获取node-red镜像
1 | $ docker pull nodered/node-red-docker |
2)创建docker-nodered容器,运行node-red镜像
1 | $ docker run -d -p 1880:1880 --name docker-nodered --user=root nodered/node-red-docker |
root权限
增加--user=root参数以获取root权限。
1 | $ docker exec -it docker-nodered /bin/bash |
容器环境
执行命令后切换到虚拟机环境了,系统也是Ubuntu。
4.升级node.js
镜像自带的node.js版本是6.x的,而看github项目介绍node-red-contrib-home-assistant插件需求环境是>8.0
注意
后续的"docker#"表示是在docker容器环境操作。
1 | docker# node -v |
1 | docker# npm cache clean -f |
1 | docker# npm install n -g |
1 | docker# n 8.11.2 |
1 | docker# node -v |
5.安装插件
此步骤也可以在web端操作
1)切换/data目录
1 | docker# cd /data |
2)安装插件
1 | docker# npm install node-red-contrib-home-assistant |
3)退出docker容器环境
1 | docker# exit |
4)重启容器,
1 | $ docker restart docker-nodered |
容器名
"docker-nodered"是之前docker run --name指定的容器名。