āĻĄāĻāĻžāĻ°-āĻāĻŽā§āĻĒā§āĻā§ āĻ¨ā§āĻĄ-āĻ˛āĻžāĻ˛ āĻĒā§āĻ°āĻŽāĻžāĻŖā§āĻāĻ°āĻŖ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻŦāĻ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻāĻ°āĻž āĻšāĻā§āĻā§
āĻ āĻ¨ā§āĻŽā§āĻĻāĻ¨ āĻ¸āĻā§āĻˇāĻŽ āĻāĻŦāĻ āĻĄāĻāĻžāĻ° āĻāĻ˛āĻŋāĻāĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻĄāĻāĻžāĻ°-āĻāĻŽā§āĻĒā§āĻā§ āĻ¨ā§āĻĄ-āĻ˛āĻžāĻ˛ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°āĻž āĻšāĻā§āĻā§āĨ¤
docker-compose.yml āĻĢāĻžāĻāĻ˛ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨:
version: "3.7"
services:
node-red:
image: nodered/node-red
environment:
- TZ=Europe/Moscow
ports:
- "11880:1880" # 11880 - ĐŋĐžŅŅ Đ´ĐģŅ ĐŋОдĐēĐģŅŅĐĩĐŊиŅ Đē ĐēĐžĐŊŅĐĩĐšĐŊĐĩŅŅ, 1880 - ĐŋĐžŅŅ ĐŊĐ° ĐēĐžŅĐžŅĐžĐŧ ŅайОŅĐ°ĐĩŅ node-red вĐŊŅŅŅи ĐēĐžĐŊŅĐĩĐšĐŊĐĩŅĐ°.
volumes:
- "node-red:/data" # node-red - ĐēĐ°ŅĐ°ĐģĐžĐŗ ĐēĐžŅĐžŅŅĐš вŅĐ´ĐĩĐģиŅ docker Đ´ĐģŅ Ņ
ŅĐ°ĐŊĐĩĐŊиŅ Đ´Đ°ĐŊĐŊŅŅ
, /data - ĐēĐ°ŅĐ°ĐģĐžĐŗ вĐŊŅŅŅи ĐēĐžĐŊŅĐĩĐšĐŊĐĩŅĐ°.
restart: always
volumes:
node-red: # ŅОСдаĐŊиĐĩ ĐēĐ°ŅĐ°ĐģĐžĐŗĐ° node-red ĐŊĐ° Ņ
ĐžŅŅĐĩ.
āĻāĻŽāĻ°āĻž āĻĄāĻŋāĻŦāĻžāĻ āĻŽā§āĻĄā§ āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ° āĻāĻžāĻ˛ā§ āĻāĻ°āĻŋ (āĻĒā§āĻ°āĻĨāĻŽ āĻ˛āĻā§āĻāĻāĻŋ ` āĻā§ āĻāĻžāĻĄāĻŧāĻžāĻ āĻšāĻāĻ¯āĻŧāĻž āĻāĻāĻŋāĻ¤-d`, āĻ¤ā§āĻ°ā§āĻāĻŋ āĻĻā§āĻāĻž āĻā§āĻ˛ā§ āĻĻā§āĻāĻ¤ā§):
$ docker-compose up node-red
Creating node-red_node-red_1_3e3e59f5e044 ... done
Attaching to node-red_node-red_1_bca4cb987984
node-red_1_bca4cb987984 |
node-red_1_bca4cb987984 | > [email protected] start /usr/src/node-red
node-red_1_bca4cb987984 | > node $NODE_OPTIONS node_modules/node-red/red.js $FLOWS "--userDir" "/data"
...
āĻ§āĻžāĻ°āĻ āĻŦāĻ¨ā§āĻ§ āĻāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻāĻ˛āĻŋāĻāĻŽ āĻĻā§āĻāĻ¤ā§ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻāĻžāĻ˛āĻžāĻ¨:
$ docker volume ls
DRIVER VOLUME NAME
local node-red_node-red
āĻāĻŽāĻ°āĻž āĻāĻ˛āĻŋāĻāĻŽā§āĻ° āĻāĻĒāĻ° āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻ¤āĻĨā§āĻ¯ āĻĻā§āĻāĻŋ:
$ docker volume inspect node-red_node-red
[
{
"CreatedAt": "2020-05-02T18:37:33Z",
"Driver": "local",
"Labels": {
"com.docker.compose.project": "node-red",
"com.docker.compose.version": "1.23.0",
"com.docker.compose.volume": "node-red"
},
"Mountpoint": "/var/lib/docker/volumes/node-red_node-red/_data", # ŅĐ°ŅĐžĐģĐžĐļĐĩĐŊиĐĩ ĐŊĐ°ŅĐĩĐŗĐž ĐēĐ°ŅĐ°ĐģĐžĐŗĐ°
"Name": "node-red_node-red",
"Options": null,
"Scope": "local"
}
]
āĻāĻ˛āĻŋāĻāĻŽ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ¤ā§ āĻ¯āĻžāĻ¨āĨ¤ āĻāĻ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ¤ā§ āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§āĻ āĻĢāĻžāĻāĻ˛āĻā§āĻ˛āĻŋ āĻ°āĻ¯āĻŧā§āĻā§ āĻ¯āĻž āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ° āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻĄāĻāĻžāĻ° āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĨ¤
$ sudo ls /var/lib/docker/volumes/node-red_node-red/_data
lib package.json settings.js
āĻāĻŽāĻ°āĻž āĻĢāĻžāĻāĻ˛ā§ āĻāĻā§āĻ°āĻšā§ settings.js. āĻāĻāĻŋ āĻā§āĻ˛ā§āĻ¨ āĻāĻŦāĻ āĻā§āĻĄā§āĻ° āĻāĻāĻāĻŋ āĻ āĻāĻļ āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻāĻ°ā§āĻ¨ adminAuth. āĻāĻ° āĻāĻāĻž uncomment āĻāĻ°āĻž āĻ¯āĻžāĻ.
// Securing Node-RED
// -----------------
// To password protect the Node-RED editor and admin API, the following
// property can be used. See http://nodered.org/docs/security.html for details.
adminAuth: {
type: "credentials",
users: [{
username: "admin",
password: "$2a$08$zZWtXTja0fB1pzD4sHCMyOCMYz2Z6dNbM6tl8sJogENOMcxWV9DN.",
permissions: "*"
}]
},
āĻāĻžāĻŦāĻŋāĻ¤ā§ āĻĒāĻžāĻ¸āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ: āĻāĻĒāĻ¨āĻžāĻā§ āĻ¨ā§āĻĄ-āĻ˛āĻžāĻ˛ āĻĒāĻžāĻ¸āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻšā§āĻ¯āĻžāĻļ āĻ¸āĻ¨ā§āĻ¨āĻŋāĻŦā§āĻļ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤
āĻ¨ā§āĻĄ-āĻ˛āĻžāĻ˛ āĻĒāĻžāĻ¸āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻšā§āĻ¯āĻžāĻļ āĻĒāĻžāĻā§āĻā§āĻ¨
node.js āĻāĻ˛āĻŽāĻžāĻ¨ āĻ¯ā§āĻā§āĻ¨ā§ āĻŽā§āĻļāĻŋāĻ¨ā§ node-red-admin āĻĒā§āĻ¯āĻžāĻā§āĻ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°ā§āĻ¨āĨ¤
npm i node-red-admin -g
āĻĒā§āĻ¯āĻžāĻā§āĻ āĻāĻžāĻ˛āĻžāĻ¨ āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻĒāĻžāĻ¸āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻ¸ā§āĻ āĻāĻ°ā§āĻ¨:
node-red-admin hash-pw
āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ°āĻāĻŋ āĻāĻžāĻ˛ā§ āĻāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻĒā§āĻ°ā§āĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻāĻ¯ā§āĻ āĻāĻ°ā§āĻ¨ 11880.
http://192.168.0.100:11880/
āĻāĻāĻāĻŋ āĻ āĻ¨ā§āĻŽā§āĻĻāĻ¨ āĻāĻāĻ¨ā§āĻĄā§ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻŋāĻ¤ āĻšāĻŦā§.
āĻāĻĒāĻ¨āĻžāĻ° āĻ˛āĻāĻāĻ¨ āĻĒāĻžāĻ¸āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻ˛āĻŋāĻā§āĻ¨.
āĻ¸āĻŦāĻāĻŋāĻā§ āĻāĻžāĻ āĻāĻ°āĻ˛ā§, āĻā§ āĻĻāĻŋāĻ¯āĻŧā§ āĻ§āĻžāĻ°āĻāĻāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻāĻžāĻ˛ā§ āĻāĻ°ā§āĻ¨ -d.
$ docker-compose up -d node-red
āĻ¯ā§ āĻŽāĻ¤ āĻāĻŋāĻā§āĨ¤
āĻāĻ¤ā§āĻ¸: www.habr.com