initial commit of all scripts and complete data folder
commit
1e3c815ac6
|
@ -0,0 +1,395 @@
|
||||||
|
{
|
||||||
|
"node-red": {
|
||||||
|
"name": "node-red",
|
||||||
|
"version": "1.2.5",
|
||||||
|
"local": false,
|
||||||
|
"nodes": {
|
||||||
|
"inject": {
|
||||||
|
"name": "inject",
|
||||||
|
"types": [
|
||||||
|
"inject"
|
||||||
|
],
|
||||||
|
"enabled": true,
|
||||||
|
"local": false,
|
||||||
|
"module": "node-red",
|
||||||
|
"file": "/usr/src/node-red/node_modules/@node-red/nodes/core/common/20-inject.js"
|
||||||
|
},
|
||||||
|
"debug": {
|
||||||
|
"name": "debug",
|
||||||
|
"types": [
|
||||||
|
"debug"
|
||||||
|
],
|
||||||
|
"enabled": true,
|
||||||
|
"local": false,
|
||||||
|
"module": "node-red",
|
||||||
|
"file": "/usr/src/node-red/node_modules/@node-red/nodes/core/common/21-debug.js"
|
||||||
|
},
|
||||||
|
"complete": {
|
||||||
|
"name": "complete",
|
||||||
|
"types": [
|
||||||
|
"complete"
|
||||||
|
],
|
||||||
|
"enabled": true,
|
||||||
|
"local": false,
|
||||||
|
"module": "node-red",
|
||||||
|
"file": "/usr/src/node-red/node_modules/@node-red/nodes/core/common/24-complete.js"
|
||||||
|
},
|
||||||
|
"catch": {
|
||||||
|
"name": "catch",
|
||||||
|
"types": [
|
||||||
|
"catch"
|
||||||
|
],
|
||||||
|
"enabled": true,
|
||||||
|
"local": false,
|
||||||
|
"module": "node-red",
|
||||||
|
"file": "/usr/src/node-red/node_modules/@node-red/nodes/core/common/25-catch.js"
|
||||||
|
},
|
||||||
|
"status": {
|
||||||
|
"name": "status",
|
||||||
|
"types": [
|
||||||
|
"status"
|
||||||
|
],
|
||||||
|
"enabled": true,
|
||||||
|
"local": false,
|
||||||
|
"module": "node-red",
|
||||||
|
"file": "/usr/src/node-red/node_modules/@node-red/nodes/core/common/25-status.js"
|
||||||
|
},
|
||||||
|
"link": {
|
||||||
|
"name": "link",
|
||||||
|
"types": [
|
||||||
|
"link in",
|
||||||
|
"link out"
|
||||||
|
],
|
||||||
|
"enabled": true,
|
||||||
|
"local": false,
|
||||||
|
"module": "node-red",
|
||||||
|
"file": "/usr/src/node-red/node_modules/@node-red/nodes/core/common/60-link.js"
|
||||||
|
},
|
||||||
|
"comment": {
|
||||||
|
"name": "comment",
|
||||||
|
"types": [
|
||||||
|
"comment"
|
||||||
|
],
|
||||||
|
"enabled": true,
|
||||||
|
"local": false,
|
||||||
|
"module": "node-red",
|
||||||
|
"file": "/usr/src/node-red/node_modules/@node-red/nodes/core/common/90-comment.js"
|
||||||
|
},
|
||||||
|
"unknown": {
|
||||||
|
"name": "unknown",
|
||||||
|
"types": [
|
||||||
|
"unknown"
|
||||||
|
],
|
||||||
|
"enabled": true,
|
||||||
|
"local": false,
|
||||||
|
"module": "node-red",
|
||||||
|
"file": "/usr/src/node-red/node_modules/@node-red/nodes/core/common/98-unknown.js"
|
||||||
|
},
|
||||||
|
"function": {
|
||||||
|
"name": "function",
|
||||||
|
"types": [
|
||||||
|
"function"
|
||||||
|
],
|
||||||
|
"enabled": true,
|
||||||
|
"local": false,
|
||||||
|
"module": "node-red",
|
||||||
|
"file": "/usr/src/node-red/node_modules/@node-red/nodes/core/function/10-function.js"
|
||||||
|
},
|
||||||
|
"switch": {
|
||||||
|
"name": "switch",
|
||||||
|
"types": [
|
||||||
|
"switch"
|
||||||
|
],
|
||||||
|
"enabled": true,
|
||||||
|
"local": false,
|
||||||
|
"module": "node-red",
|
||||||
|
"file": "/usr/src/node-red/node_modules/@node-red/nodes/core/function/10-switch.js"
|
||||||
|
},
|
||||||
|
"change": {
|
||||||
|
"name": "change",
|
||||||
|
"types": [
|
||||||
|
"change"
|
||||||
|
],
|
||||||
|
"enabled": true,
|
||||||
|
"local": false,
|
||||||
|
"module": "node-red",
|
||||||
|
"file": "/usr/src/node-red/node_modules/@node-red/nodes/core/function/15-change.js"
|
||||||
|
},
|
||||||
|
"range": {
|
||||||
|
"name": "range",
|
||||||
|
"types": [
|
||||||
|
"range"
|
||||||
|
],
|
||||||
|
"enabled": true,
|
||||||
|
"local": false,
|
||||||
|
"module": "node-red",
|
||||||
|
"file": "/usr/src/node-red/node_modules/@node-red/nodes/core/function/16-range.js"
|
||||||
|
},
|
||||||
|
"template": {
|
||||||
|
"name": "template",
|
||||||
|
"types": [
|
||||||
|
"template"
|
||||||
|
],
|
||||||
|
"enabled": true,
|
||||||
|
"local": false,
|
||||||
|
"module": "node-red",
|
||||||
|
"file": "/usr/src/node-red/node_modules/@node-red/nodes/core/function/80-template.js"
|
||||||
|
},
|
||||||
|
"delay": {
|
||||||
|
"name": "delay",
|
||||||
|
"types": [
|
||||||
|
"delay"
|
||||||
|
],
|
||||||
|
"enabled": true,
|
||||||
|
"local": false,
|
||||||
|
"module": "node-red",
|
||||||
|
"file": "/usr/src/node-red/node_modules/@node-red/nodes/core/function/89-delay.js"
|
||||||
|
},
|
||||||
|
"trigger": {
|
||||||
|
"name": "trigger",
|
||||||
|
"types": [
|
||||||
|
"trigger"
|
||||||
|
],
|
||||||
|
"enabled": true,
|
||||||
|
"local": false,
|
||||||
|
"module": "node-red",
|
||||||
|
"file": "/usr/src/node-red/node_modules/@node-red/nodes/core/function/89-trigger.js"
|
||||||
|
},
|
||||||
|
"exec": {
|
||||||
|
"name": "exec",
|
||||||
|
"types": [
|
||||||
|
"exec"
|
||||||
|
],
|
||||||
|
"enabled": true,
|
||||||
|
"local": false,
|
||||||
|
"module": "node-red",
|
||||||
|
"file": "/usr/src/node-red/node_modules/@node-red/nodes/core/function/90-exec.js"
|
||||||
|
},
|
||||||
|
"tls": {
|
||||||
|
"name": "tls",
|
||||||
|
"types": [
|
||||||
|
"tls-config"
|
||||||
|
],
|
||||||
|
"enabled": true,
|
||||||
|
"local": false,
|
||||||
|
"module": "node-red",
|
||||||
|
"file": "/usr/src/node-red/node_modules/@node-red/nodes/core/network/05-tls.js"
|
||||||
|
},
|
||||||
|
"httpproxy": {
|
||||||
|
"name": "httpproxy",
|
||||||
|
"types": [
|
||||||
|
"http proxy"
|
||||||
|
],
|
||||||
|
"enabled": true,
|
||||||
|
"local": false,
|
||||||
|
"module": "node-red",
|
||||||
|
"file": "/usr/src/node-red/node_modules/@node-red/nodes/core/network/06-httpproxy.js"
|
||||||
|
},
|
||||||
|
"mqtt": {
|
||||||
|
"name": "mqtt",
|
||||||
|
"types": [
|
||||||
|
"mqtt in",
|
||||||
|
"mqtt out",
|
||||||
|
"mqtt-broker"
|
||||||
|
],
|
||||||
|
"enabled": true,
|
||||||
|
"local": false,
|
||||||
|
"module": "node-red",
|
||||||
|
"file": "/usr/src/node-red/node_modules/@node-red/nodes/core/network/10-mqtt.js"
|
||||||
|
},
|
||||||
|
"httpin": {
|
||||||
|
"name": "httpin",
|
||||||
|
"types": [
|
||||||
|
"http in",
|
||||||
|
"http response"
|
||||||
|
],
|
||||||
|
"enabled": true,
|
||||||
|
"local": false,
|
||||||
|
"module": "node-red",
|
||||||
|
"file": "/usr/src/node-red/node_modules/@node-red/nodes/core/network/21-httpin.js"
|
||||||
|
},
|
||||||
|
"httprequest": {
|
||||||
|
"name": "httprequest",
|
||||||
|
"types": [
|
||||||
|
"http request"
|
||||||
|
],
|
||||||
|
"enabled": true,
|
||||||
|
"local": false,
|
||||||
|
"module": "node-red",
|
||||||
|
"file": "/usr/src/node-red/node_modules/@node-red/nodes/core/network/21-httprequest.js"
|
||||||
|
},
|
||||||
|
"websocket": {
|
||||||
|
"name": "websocket",
|
||||||
|
"types": [
|
||||||
|
"websocket in",
|
||||||
|
"websocket out",
|
||||||
|
"websocket-listener",
|
||||||
|
"websocket-client"
|
||||||
|
],
|
||||||
|
"enabled": true,
|
||||||
|
"local": false,
|
||||||
|
"module": "node-red",
|
||||||
|
"file": "/usr/src/node-red/node_modules/@node-red/nodes/core/network/22-websocket.js"
|
||||||
|
},
|
||||||
|
"tcpin": {
|
||||||
|
"name": "tcpin",
|
||||||
|
"types": [
|
||||||
|
"tcp in",
|
||||||
|
"tcp out",
|
||||||
|
"tcp request"
|
||||||
|
],
|
||||||
|
"enabled": true,
|
||||||
|
"local": false,
|
||||||
|
"module": "node-red",
|
||||||
|
"file": "/usr/src/node-red/node_modules/@node-red/nodes/core/network/31-tcpin.js"
|
||||||
|
},
|
||||||
|
"udp": {
|
||||||
|
"name": "udp",
|
||||||
|
"types": [
|
||||||
|
"udp in",
|
||||||
|
"udp out"
|
||||||
|
],
|
||||||
|
"enabled": true,
|
||||||
|
"local": false,
|
||||||
|
"module": "node-red",
|
||||||
|
"file": "/usr/src/node-red/node_modules/@node-red/nodes/core/network/32-udp.js"
|
||||||
|
},
|
||||||
|
"CSV": {
|
||||||
|
"name": "CSV",
|
||||||
|
"types": [
|
||||||
|
"csv"
|
||||||
|
],
|
||||||
|
"enabled": true,
|
||||||
|
"local": false,
|
||||||
|
"module": "node-red",
|
||||||
|
"file": "/usr/src/node-red/node_modules/@node-red/nodes/core/parsers/70-CSV.js"
|
||||||
|
},
|
||||||
|
"HTML": {
|
||||||
|
"name": "HTML",
|
||||||
|
"types": [
|
||||||
|
"html"
|
||||||
|
],
|
||||||
|
"enabled": true,
|
||||||
|
"local": false,
|
||||||
|
"module": "node-red",
|
||||||
|
"file": "/usr/src/node-red/node_modules/@node-red/nodes/core/parsers/70-HTML.js"
|
||||||
|
},
|
||||||
|
"JSON": {
|
||||||
|
"name": "JSON",
|
||||||
|
"types": [
|
||||||
|
"json"
|
||||||
|
],
|
||||||
|
"enabled": true,
|
||||||
|
"local": false,
|
||||||
|
"module": "node-red",
|
||||||
|
"file": "/usr/src/node-red/node_modules/@node-red/nodes/core/parsers/70-JSON.js"
|
||||||
|
},
|
||||||
|
"XML": {
|
||||||
|
"name": "XML",
|
||||||
|
"types": [
|
||||||
|
"xml"
|
||||||
|
],
|
||||||
|
"enabled": true,
|
||||||
|
"local": false,
|
||||||
|
"module": "node-red",
|
||||||
|
"file": "/usr/src/node-red/node_modules/@node-red/nodes/core/parsers/70-XML.js"
|
||||||
|
},
|
||||||
|
"YAML": {
|
||||||
|
"name": "YAML",
|
||||||
|
"types": [
|
||||||
|
"yaml"
|
||||||
|
],
|
||||||
|
"enabled": true,
|
||||||
|
"local": false,
|
||||||
|
"module": "node-red",
|
||||||
|
"file": "/usr/src/node-red/node_modules/@node-red/nodes/core/parsers/70-YAML.js"
|
||||||
|
},
|
||||||
|
"split": {
|
||||||
|
"name": "split",
|
||||||
|
"types": [
|
||||||
|
"split",
|
||||||
|
"join"
|
||||||
|
],
|
||||||
|
"enabled": true,
|
||||||
|
"local": false,
|
||||||
|
"module": "node-red",
|
||||||
|
"file": "/usr/src/node-red/node_modules/@node-red/nodes/core/sequence/17-split.js"
|
||||||
|
},
|
||||||
|
"sort": {
|
||||||
|
"name": "sort",
|
||||||
|
"types": [
|
||||||
|
"sort"
|
||||||
|
],
|
||||||
|
"enabled": true,
|
||||||
|
"local": false,
|
||||||
|
"module": "node-red",
|
||||||
|
"file": "/usr/src/node-red/node_modules/@node-red/nodes/core/sequence/18-sort.js"
|
||||||
|
},
|
||||||
|
"batch": {
|
||||||
|
"name": "batch",
|
||||||
|
"types": [
|
||||||
|
"batch"
|
||||||
|
],
|
||||||
|
"enabled": true,
|
||||||
|
"local": false,
|
||||||
|
"module": "node-red",
|
||||||
|
"file": "/usr/src/node-red/node_modules/@node-red/nodes/core/sequence/19-batch.js"
|
||||||
|
},
|
||||||
|
"file": {
|
||||||
|
"name": "file",
|
||||||
|
"types": [
|
||||||
|
"file",
|
||||||
|
"file in"
|
||||||
|
],
|
||||||
|
"enabled": true,
|
||||||
|
"local": false,
|
||||||
|
"module": "node-red",
|
||||||
|
"file": "/usr/src/node-red/node_modules/@node-red/nodes/core/storage/10-file.js"
|
||||||
|
},
|
||||||
|
"watch": {
|
||||||
|
"name": "watch",
|
||||||
|
"types": [
|
||||||
|
"watch"
|
||||||
|
],
|
||||||
|
"enabled": true,
|
||||||
|
"local": false,
|
||||||
|
"module": "node-red",
|
||||||
|
"file": "/usr/src/node-red/node_modules/@node-red/nodes/core/storage/23-watch.js"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node-red-node-rbe": {
|
||||||
|
"name": "node-red-node-rbe",
|
||||||
|
"version": "0.2.9",
|
||||||
|
"local": false,
|
||||||
|
"nodes": {
|
||||||
|
"rbe": {
|
||||||
|
"name": "rbe",
|
||||||
|
"types": [
|
||||||
|
"rbe"
|
||||||
|
],
|
||||||
|
"enabled": true,
|
||||||
|
"local": false,
|
||||||
|
"module": "node-red-node-rbe",
|
||||||
|
"file": "/usr/src/node-red/node_modules/node-red-node-rbe/rbe.js"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node-red-node-tail": {
|
||||||
|
"name": "node-red-node-tail",
|
||||||
|
"version": "0.1.1",
|
||||||
|
"local": false,
|
||||||
|
"nodes": {
|
||||||
|
"tail": {
|
||||||
|
"name": "tail",
|
||||||
|
"types": [
|
||||||
|
"tail"
|
||||||
|
],
|
||||||
|
"enabled": true,
|
||||||
|
"local": false,
|
||||||
|
"module": "node-red-node-tail",
|
||||||
|
"file": "/usr/src/node-red/node_modules/node-red-node-tail/28-tail.js"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
"_credentialSecret": "548d70204539bccf3c587c9205cb46c521a0fc77f6f7efadadfdca0261eabcc0"
|
||||||
|
}
|
|
@ -0,0 +1,14 @@
|
||||||
|
{
|
||||||
|
"_": {
|
||||||
|
"editor": {
|
||||||
|
"view": {
|
||||||
|
"view-show-grid": true,
|
||||||
|
"view-snap-grid": true,
|
||||||
|
"view-grid-size": 20,
|
||||||
|
"view-node-status": true,
|
||||||
|
"view-node-show-label": true,
|
||||||
|
"view-show-tips": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
21
data/frodo/node_modules/@node-red-contrib-themes/midnight-red/LICENSE
generated
vendored
Normal file
21
data/frodo/node_modules/@node-red-contrib-themes/midnight-red/LICENSE
generated
vendored
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2019-2020 Mauricio Bonani
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
125
data/frodo/node_modules/@node-red-contrib-themes/midnight-red/README.md
generated
vendored
Normal file
125
data/frodo/node_modules/@node-red-contrib-themes/midnight-red/README.md
generated
vendored
Normal file
|
@ -0,0 +1,125 @@
|
||||||
|
# Midnight Node-RED theme
|
||||||
|
|
||||||
|
![Project Maintenance][maintenance-shield]
|
||||||
|
[![License][license-shield]](LICENSE)
|
||||||
|
[![GitHub Activity][commits-shield]][commits]
|
||||||
|
[![GitHub Last Commit][last-commit-shield]][commits]
|
||||||
|
|
||||||
|
[![NPM Shield][npm-shield]][npm-package]
|
||||||
|
|
||||||
|
## About
|
||||||
|
|
||||||
|
A dark theme for [Node-RED][node-red] based on the
|
||||||
|
[midnight theme][ha-midnight-theme] for [Home Assistant][home-assistant].
|
||||||
|
|
||||||
|
![screenshot](https://raw.githubusercontent.com/node-red-contrib-themes/midnight-red/master/images/screenshot.png)
|
||||||
|
|
||||||
|
## Install
|
||||||
|
|
||||||
|
Change to the Node-RED `userDir` directory, usually `~/.node-red`.
|
||||||
|
|
||||||
|
```shell
|
||||||
|
cd ~/.node-red
|
||||||
|
```
|
||||||
|
|
||||||
|
Install this package.
|
||||||
|
|
||||||
|
```shell
|
||||||
|
npm install @node-red-contrib-themes/midnight-red
|
||||||
|
```
|
||||||
|
|
||||||
|
Add the following to the `editorTheme` section of your `settings.js`.
|
||||||
|
|
||||||
|
```js
|
||||||
|
editorTheme: {
|
||||||
|
page: {
|
||||||
|
css: "<HOME>/.node-red/node_modules/@node-red-contrib-themes/midnight-red/theme.css"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Replace `<HOME>` with the home directory of the user running Node-RED. For
|
||||||
|
example, `/home/username`.
|
||||||
|
|
||||||
|
For more details on the configuration please refer to the
|
||||||
|
[Node-RED official documentation][node-red-doc].
|
||||||
|
|
||||||
|
Restart Node-RED.
|
||||||
|
|
||||||
|
Enjoy!
|
||||||
|
|
||||||
|
## Update
|
||||||
|
|
||||||
|
Change to the Node-RED `userDir` directory, usually `~/.node-red`.
|
||||||
|
|
||||||
|
```shell
|
||||||
|
cd ~/.node-red
|
||||||
|
```
|
||||||
|
|
||||||
|
Update this package.
|
||||||
|
|
||||||
|
```shell
|
||||||
|
npm update @node-red-contrib-themes/midnight-red
|
||||||
|
```
|
||||||
|
|
||||||
|
Reload the Node-RED page on the web browser.
|
||||||
|
|
||||||
|
## Scrollbars (EXPERIMENTAL)
|
||||||
|
|
||||||
|
This version includes a [change][scrollbar-pr] to the scrollbars by [Villhellm][villhellm]
|
||||||
|
to make them better fit the dark theme.
|
||||||
|
|
||||||
|
**NOTE**: This is ***EXPERIMENTAL***! Please let us know if you find any issues when using it.
|
||||||
|
|
||||||
|
If you want to try it, change the `editorTheme` section of your `settings.js` to
|
||||||
|
look like the following.
|
||||||
|
|
||||||
|
```js
|
||||||
|
editorTheme: {
|
||||||
|
page: {
|
||||||
|
css: [
|
||||||
|
"<HOME>/.node-red/node_modules/@node-red-contrib-themes/midnight-red/theme.css",
|
||||||
|
"<HOME>/.node-red/node_modules/@node-red-contrib-themes/midnight-red/scrollbars.css"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Replace `<HOME>` with the home directory of the user running Node-RED. For
|
||||||
|
example, `/home/username`.
|
||||||
|
|
||||||
|
For more details on the configuration please refer to the
|
||||||
|
[Node-RED official documentation][node-red-doc].
|
||||||
|
|
||||||
|
Restart Node-RED.
|
||||||
|
|
||||||
|
Enjoy!
|
||||||
|
|
||||||
|
## Acknowledgments
|
||||||
|
|
||||||
|
- [Sebastian Raff][hobbyquaker] - for the inspiration and help in creating the
|
||||||
|
NPM package for this theme.
|
||||||
|
- [Ristomatti Airo][ristomatti] - for his amazing [theme][solarized-dark-gray-theme] on which major
|
||||||
|
readability improvements were based.
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
[MIT][license]
|
||||||
|
|
||||||
|
[commits-shield]: https://img.shields.io/github/commit-activity/y/node-red-contrib-themes/midnight-red.svg
|
||||||
|
[commits]: https://github.com/node-red-contrib-themes/midnight-red/commits/master
|
||||||
|
[ha-midnight-theme]: https://community.home-assistant.io/t/midnight-theme/28598
|
||||||
|
[hobbyquaker]: https://github.com/hobbyquaker
|
||||||
|
[home-assistant]: https://home-assistant.io
|
||||||
|
[last-commit-shield]: https://img.shields.io/github/last-commit/node-red-contrib-themes/midnight-red.svg
|
||||||
|
[license]: https://github.com/node-red-contrib-themes/midnight-red/blob/master/LICENSE
|
||||||
|
[license-shield]: https://img.shields.io/github/license/node-red-contrib-themes/midnight-red.svg
|
||||||
|
[maintenance-shield]: https://img.shields.io/maintenance/yes/2020.svg
|
||||||
|
[node-red-doc]: https://nodered.org/docs/user-guide/runtime/configuration
|
||||||
|
[node-red]: https://nodered.org/
|
||||||
|
[npm-package]: https://nodei.co/npm/@node-red-contrib-themes/midnight-red
|
||||||
|
[npm-shield]: https://nodei.co/npm/@node-red-contrib-themes/midnight-red.png
|
||||||
|
[ristomatti]: https://github.com/ristomatti
|
||||||
|
[scrollbar-pr]: https://github.com/node-red-contrib-themes/midnight-red/pull/18
|
||||||
|
[solarized-dark-gray-theme]: https://github.com/ristomatti/node-red-contrib-theme-solarized-dark-grey
|
||||||
|
[villhellm]: https://github.com/Villhellm
|
58
data/frodo/node_modules/@node-red-contrib-themes/midnight-red/package.json
generated
vendored
Normal file
58
data/frodo/node_modules/@node-red-contrib-themes/midnight-red/package.json
generated
vendored
Normal file
|
@ -0,0 +1,58 @@
|
||||||
|
{
|
||||||
|
"_from": "@node-red-contrib-themes/midnight-red",
|
||||||
|
"_id": "@node-red-contrib-themes/midnight-red@1.4.6",
|
||||||
|
"_inBundle": false,
|
||||||
|
"_integrity": "sha512-SACa8ctZNpYoj+Qut9otkNsRHmgMLN5dSKeYttWeH+zLwUX2dMsDPtJ+NgtUcDaQX8LwBKd+cGFOuX5qO/z8Fg==",
|
||||||
|
"_location": "/@node-red-contrib-themes/midnight-red",
|
||||||
|
"_phantomChildren": {},
|
||||||
|
"_requested": {
|
||||||
|
"type": "tag",
|
||||||
|
"registry": true,
|
||||||
|
"raw": "@node-red-contrib-themes/midnight-red",
|
||||||
|
"name": "@node-red-contrib-themes/midnight-red",
|
||||||
|
"escapedName": "@node-red-contrib-themes%2fmidnight-red",
|
||||||
|
"scope": "@node-red-contrib-themes",
|
||||||
|
"rawSpec": "",
|
||||||
|
"saveSpec": null,
|
||||||
|
"fetchSpec": "latest"
|
||||||
|
},
|
||||||
|
"_requiredBy": [
|
||||||
|
"#USER",
|
||||||
|
"/"
|
||||||
|
],
|
||||||
|
"_resolved": "https://npm.kebler.net/@node-red-contrib-themes%2fmidnight-red/-/midnight-red-1.4.6.tgz",
|
||||||
|
"_shasum": "6f3878a8854c292040b28a42fa090ef4537268a5",
|
||||||
|
"_spec": "@node-red-contrib-themes/midnight-red",
|
||||||
|
"_where": "/opt/node-red/data/frodo",
|
||||||
|
"author": {
|
||||||
|
"name": "Mauricio Bonani @mbonani"
|
||||||
|
},
|
||||||
|
"bugs": {
|
||||||
|
"url": "https://github.com/node-red-contrib-themes/midnight-red/issues"
|
||||||
|
},
|
||||||
|
"bundleDependencies": false,
|
||||||
|
"deprecated": false,
|
||||||
|
"description": "A gorgeous dark theme for Node-RED",
|
||||||
|
"funding": {
|
||||||
|
"type": "Buy me a coffee",
|
||||||
|
"url": "https://www.buymeacoffee.com/mbonani"
|
||||||
|
},
|
||||||
|
"homepage": "https://github.com/node-red-contrib-themes/midnight-red#readme",
|
||||||
|
"keywords": [
|
||||||
|
"node-red",
|
||||||
|
"nodered",
|
||||||
|
"midnight",
|
||||||
|
"dark",
|
||||||
|
"theme"
|
||||||
|
],
|
||||||
|
"license": "MIT",
|
||||||
|
"name": "@node-red-contrib-themes/midnight-red",
|
||||||
|
"publishConfig": {
|
||||||
|
"access": "public"
|
||||||
|
},
|
||||||
|
"repository": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "git+https://github.com/node-red-contrib-themes/midnight-red.git"
|
||||||
|
},
|
||||||
|
"version": "1.4.6"
|
||||||
|
}
|
26
data/frodo/node_modules/@node-red-contrib-themes/midnight-red/scrollbars.css
generated
vendored
Normal file
26
data/frodo/node_modules/@node-red-contrib-themes/midnight-red/scrollbars.css
generated
vendored
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
/*
|
||||||
|
midnight-red - https://github.com/node-red-contrib-themes/midnight-red
|
||||||
|
*/
|
||||||
|
|
||||||
|
.red-ui-editor {
|
||||||
|
scrollbar-color: #999 #2E333A;
|
||||||
|
scrollbar-width: initial;
|
||||||
|
}
|
||||||
|
|
||||||
|
::-webkit-scrollbar {
|
||||||
|
width: initial;
|
||||||
|
}
|
||||||
|
|
||||||
|
::-webkit-scrollbar-corner {
|
||||||
|
background-color: #2E333A;
|
||||||
|
}
|
||||||
|
|
||||||
|
::-webkit-scrollbar-thumb {
|
||||||
|
background-color: #999;
|
||||||
|
border-radius: 20px;
|
||||||
|
border: 3px solid #2E333A;
|
||||||
|
}
|
||||||
|
|
||||||
|
::-webkit-scrollbar-track {
|
||||||
|
background-color: #2E333A;
|
||||||
|
}
|
3068
data/frodo/node_modules/@node-red-contrib-themes/midnight-red/theme.css
generated
vendored
Normal file
3068
data/frodo/node_modules/@node-red-contrib-themes/midnight-red/theme.css
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,9 @@
|
||||||
|
{
|
||||||
|
"name": "node-red-project",
|
||||||
|
"description": "A Node-RED Project",
|
||||||
|
"version": "0.0.1",
|
||||||
|
"private": true,
|
||||||
|
"dependencies": {
|
||||||
|
"@node-red-contrib-themes/midnight-red": "^1.4.6"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,304 @@
|
||||||
|
/**
|
||||||
|
* This is the default settings file provided by Node-RED.
|
||||||
|
*
|
||||||
|
* It can contain any valid JavaScript code that will get run when Node-RED
|
||||||
|
* is started.
|
||||||
|
*
|
||||||
|
* Lines that start with // are commented out.
|
||||||
|
* Each entry should be separated from the entries above and below by a comma ','
|
||||||
|
*
|
||||||
|
* For more information about individual settings, refer to the documentation:
|
||||||
|
* https://nodered.org/docs/user-guide/runtime/configuration
|
||||||
|
**/
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
// the tcp port that the Node-RED web server is listening on
|
||||||
|
uiPort: process.env.PORT || 1880,
|
||||||
|
|
||||||
|
// By default, the Node-RED UI accepts connections on all IPv4 interfaces.
|
||||||
|
// To listen on all IPv6 addresses, set uiHost to "::",
|
||||||
|
// The following property can be used to listen on a specific interface. For
|
||||||
|
// example, the following would only allow connections from the local machine.
|
||||||
|
//uiHost: "127.0.0.1",
|
||||||
|
|
||||||
|
// Retry time in milliseconds for MQTT connections
|
||||||
|
mqttReconnectTime: 15000,
|
||||||
|
|
||||||
|
// Retry time in milliseconds for Serial port connections
|
||||||
|
serialReconnectTime: 15000,
|
||||||
|
|
||||||
|
// Retry time in milliseconds for TCP socket connections
|
||||||
|
//socketReconnectTime: 10000,
|
||||||
|
|
||||||
|
// Timeout in milliseconds for TCP server socket connections
|
||||||
|
// defaults to no timeout
|
||||||
|
//socketTimeout: 120000,
|
||||||
|
|
||||||
|
// Maximum number of messages to wait in queue while attempting to connect to TCP socket
|
||||||
|
// defaults to 1000
|
||||||
|
//tcpMsgQueueSize: 2000,
|
||||||
|
|
||||||
|
// Timeout in milliseconds for HTTP request connections
|
||||||
|
// defaults to 120 seconds
|
||||||
|
//httpRequestTimeout: 120000,
|
||||||
|
|
||||||
|
// The maximum length, in characters, of any message sent to the debug sidebar tab
|
||||||
|
debugMaxLength: 1000,
|
||||||
|
|
||||||
|
// The maximum number of messages nodes will buffer internally as part of their
|
||||||
|
// operation. This applies across a range of nodes that operate on message sequences.
|
||||||
|
// defaults to no limit. A value of 0 also means no limit is applied.
|
||||||
|
//nodeMessageBufferMaxLength: 0,
|
||||||
|
|
||||||
|
// To disable the option for using local files for storing keys and certificates in the TLS configuration
|
||||||
|
// node, set this to true
|
||||||
|
//tlsConfigDisableLocalFiles: true,
|
||||||
|
|
||||||
|
// Colourise the console output of the debug node
|
||||||
|
//debugUseColors: true,
|
||||||
|
|
||||||
|
// The file containing the flows. If not set, it defaults to flows_<hostname>.json
|
||||||
|
//flowFile: 'flows.json',
|
||||||
|
|
||||||
|
// To enabled pretty-printing of the flow within the flow file, set the following
|
||||||
|
// property to true:
|
||||||
|
//flowFilePretty: true,
|
||||||
|
|
||||||
|
// By default, credentials are encrypted in storage using a generated key. To
|
||||||
|
// specify your own secret, set the following property.
|
||||||
|
// If you want to disable encryption of credentials, set this property to false.
|
||||||
|
// Note: once you set this property, do not change it - doing so will prevent
|
||||||
|
// node-red from being able to decrypt your existing credentials and they will be
|
||||||
|
// lost.
|
||||||
|
//credentialSecret: "a-secret-key",
|
||||||
|
|
||||||
|
// By default, all user data is stored in a directory called `.node-red` under
|
||||||
|
// the user's home directory. To use a different location, the following
|
||||||
|
// property can be used
|
||||||
|
//userDir: '/home/nol/.node-red/',
|
||||||
|
|
||||||
|
// Node-RED scans the `nodes` directory in the userDir to find local node files.
|
||||||
|
// The following property can be used to specify an additional directory to scan.
|
||||||
|
//nodesDir: '/home/nol/.node-red/nodes',
|
||||||
|
|
||||||
|
// By default, the Node-RED UI is available at http://localhost:1880/
|
||||||
|
// The following property can be used to specify a different root path.
|
||||||
|
// If set to false, this is disabled.
|
||||||
|
//httpAdminRoot: '/admin',
|
||||||
|
|
||||||
|
// Some nodes, such as HTTP In, can be used to listen for incoming http requests.
|
||||||
|
// By default, these are served relative to '/'. The following property
|
||||||
|
// can be used to specifiy a different root path. If set to false, this is
|
||||||
|
// disabled.
|
||||||
|
//httpNodeRoot: '/red-nodes',
|
||||||
|
|
||||||
|
// The following property can be used in place of 'httpAdminRoot' and 'httpNodeRoot',
|
||||||
|
// to apply the same root to both parts.
|
||||||
|
//httpRoot: '/red',
|
||||||
|
|
||||||
|
// When httpAdminRoot is used to move the UI to a different root path, the
|
||||||
|
// following property can be used to identify a directory of static content
|
||||||
|
// that should be served at http://localhost:1880/.
|
||||||
|
//httpStatic: '/home/nol/node-red-static/',
|
||||||
|
|
||||||
|
// The maximum size of HTTP request that will be accepted by the runtime api.
|
||||||
|
// Default: 5mb
|
||||||
|
//apiMaxLength: '5mb',
|
||||||
|
|
||||||
|
// If you installed the optional node-red-dashboard you can set it's path
|
||||||
|
// relative to httpRoot
|
||||||
|
//ui: { path: "ui" },
|
||||||
|
|
||||||
|
// 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: "*"
|
||||||
|
// }]
|
||||||
|
//},
|
||||||
|
|
||||||
|
// To password protect the node-defined HTTP endpoints (httpNodeRoot), or
|
||||||
|
// the static content (httpStatic), the following properties can be used.
|
||||||
|
// The pass field is a bcrypt hash of the password.
|
||||||
|
// See http://nodered.org/docs/security.html#generating-the-password-hash
|
||||||
|
//httpNodeAuth: {user:"user",pass:"$2a$08$zZWtXTja0fB1pzD4sHCMyOCMYz2Z6dNbM6tl8sJogENOMcxWV9DN."},
|
||||||
|
//httpStaticAuth: {user:"user",pass:"$2a$08$zZWtXTja0fB1pzD4sHCMyOCMYz2Z6dNbM6tl8sJogENOMcxWV9DN."},
|
||||||
|
|
||||||
|
// The following property can be used to enable HTTPS
|
||||||
|
// See http://nodejs.org/api/https.html#https_https_createserver_options_requestlistener
|
||||||
|
// for details on its contents.
|
||||||
|
// This property can be either an object, containing both a (private) key and a (public) certificate,
|
||||||
|
// or a function that returns such an object:
|
||||||
|
//// https object:
|
||||||
|
//https: {
|
||||||
|
// key: require("fs").readFileSync('privkey.pem'),
|
||||||
|
// cert: require("fs").readFileSync('cert.pem')
|
||||||
|
//},
|
||||||
|
////https function:
|
||||||
|
// https: function() {
|
||||||
|
// // This function should return the options object, or a Promise
|
||||||
|
// // that resolves to the options object
|
||||||
|
// return {
|
||||||
|
// key: require("fs").readFileSync('privkey.pem'),
|
||||||
|
// cert: require("fs").readFileSync('cert.pem')
|
||||||
|
// }
|
||||||
|
// },
|
||||||
|
|
||||||
|
// The following property can be used to refresh the https settings at a
|
||||||
|
// regular time interval in hours.
|
||||||
|
// This requires:
|
||||||
|
// - the `https` setting to be a function that can be called to get
|
||||||
|
// the refreshed settings.
|
||||||
|
// - Node.js 11 or later.
|
||||||
|
//httpsRefreshInterval : 12,
|
||||||
|
|
||||||
|
// The following property can be used to cause insecure HTTP connections to
|
||||||
|
// be redirected to HTTPS.
|
||||||
|
//requireHttps: true,
|
||||||
|
|
||||||
|
// The following property can be used to disable the editor. The admin API
|
||||||
|
// is not affected by this option. To disable both the editor and the admin
|
||||||
|
// API, use either the httpRoot or httpAdminRoot properties
|
||||||
|
//disableEditor: false,
|
||||||
|
|
||||||
|
// The following property can be used to configure cross-origin resource sharing
|
||||||
|
// in the HTTP nodes.
|
||||||
|
// See https://github.com/troygoode/node-cors#configuration-options for
|
||||||
|
// details on its contents. The following is a basic permissive set of options:
|
||||||
|
//httpNodeCors: {
|
||||||
|
// origin: "*",
|
||||||
|
// methods: "GET,PUT,POST,DELETE"
|
||||||
|
//},
|
||||||
|
|
||||||
|
// If you need to set an http proxy please set an environment variable
|
||||||
|
// called http_proxy (or HTTP_PROXY) outside of Node-RED in the operating system.
|
||||||
|
// For example - http_proxy=http://myproxy.com:8080
|
||||||
|
// (Setting it here will have no effect)
|
||||||
|
// You may also specify no_proxy (or NO_PROXY) to supply a comma separated
|
||||||
|
// list of domains to not proxy, eg - no_proxy=.acme.co,.acme.co.uk
|
||||||
|
|
||||||
|
// The following property can be used to add a custom middleware function
|
||||||
|
// in front of all http in nodes. This allows custom authentication to be
|
||||||
|
// applied to all http in nodes, or any other sort of common request processing.
|
||||||
|
//httpNodeMiddleware: function(req,res,next) {
|
||||||
|
// // Handle/reject the request, or pass it on to the http in node by calling next();
|
||||||
|
// // Optionally skip our rawBodyParser by setting this to true;
|
||||||
|
// //req.skipRawBodyParser = true;
|
||||||
|
// next();
|
||||||
|
//},
|
||||||
|
|
||||||
|
|
||||||
|
// The following property can be used to add a custom middleware function
|
||||||
|
// in front of all admin http routes. For example, to set custom http
|
||||||
|
// headers
|
||||||
|
// httpAdminMiddleware: function(req,res,next) {
|
||||||
|
// // Set the X-Frame-Options header to limit where the editor
|
||||||
|
// // can be embedded
|
||||||
|
// //res.set('X-Frame-Options', 'sameorigin');
|
||||||
|
// next();
|
||||||
|
// },
|
||||||
|
|
||||||
|
// The following property can be used to pass custom options to the Express.js
|
||||||
|
// server used by Node-RED. For a full list of available options, refer
|
||||||
|
// to http://expressjs.com/en/api.html#app.settings.table
|
||||||
|
//httpServerOptions: { },
|
||||||
|
|
||||||
|
// The following property can be used to verify websocket connection attempts.
|
||||||
|
// This allows, for example, the HTTP request headers to be checked to ensure
|
||||||
|
// they include valid authentication information.
|
||||||
|
//webSocketNodeVerifyClient: function(info) {
|
||||||
|
// // 'info' has three properties:
|
||||||
|
// // - origin : the value in the Origin header
|
||||||
|
// // - req : the HTTP request
|
||||||
|
// // - secure : true if req.connection.authorized or req.connection.encrypted is set
|
||||||
|
// //
|
||||||
|
// // The function should return true if the connection should be accepted, false otherwise.
|
||||||
|
// //
|
||||||
|
// // Alternatively, if this function is defined to accept a second argument, callback,
|
||||||
|
// // it can be used to verify the client asynchronously.
|
||||||
|
// // The callback takes three arguments:
|
||||||
|
// // - result : boolean, whether to accept the connection or not
|
||||||
|
// // - code : if result is false, the HTTP error status to return
|
||||||
|
// // - reason: if result is false, the HTTP reason string to return
|
||||||
|
//},
|
||||||
|
|
||||||
|
// The following property can be used to seed Global Context with predefined
|
||||||
|
// values. This allows extra node modules to be made available with the
|
||||||
|
// Function node.
|
||||||
|
// For example,
|
||||||
|
// functionGlobalContext: { os:require('os') }
|
||||||
|
// can be accessed in a function block as:
|
||||||
|
// global.get("os")
|
||||||
|
functionGlobalContext: {
|
||||||
|
// os:require('os'),
|
||||||
|
// jfive:require("johnny-five"),
|
||||||
|
// j5board:require("johnny-five").Board({repl:false})
|
||||||
|
},
|
||||||
|
// `global.keys()` returns a list of all properties set in global context.
|
||||||
|
// This allows them to be displayed in the Context Sidebar within the editor.
|
||||||
|
// In some circumstances it is not desirable to expose them to the editor. The
|
||||||
|
// following property can be used to hide any property set in `functionGlobalContext`
|
||||||
|
// from being list by `global.keys()`.
|
||||||
|
// By default, the property is set to false to avoid accidental exposure of
|
||||||
|
// their values. Setting this to true will cause the keys to be listed.
|
||||||
|
exportGlobalContextKeys: false,
|
||||||
|
|
||||||
|
|
||||||
|
// Context Storage
|
||||||
|
// The following property can be used to enable context storage. The configuration
|
||||||
|
// provided here will enable file-based context that flushes to disk every 30 seconds.
|
||||||
|
// Refer to the documentation for further options: https://nodered.org/docs/api/context/
|
||||||
|
//
|
||||||
|
//contextStorage: {
|
||||||
|
// default: {
|
||||||
|
// module:"localfilesystem"
|
||||||
|
// },
|
||||||
|
//},
|
||||||
|
|
||||||
|
// The following property can be used to order the categories in the editor
|
||||||
|
// palette. If a node's category is not in the list, the category will get
|
||||||
|
// added to the end of the palette.
|
||||||
|
// If not set, the following default order is used:
|
||||||
|
//paletteCategories: ['subflows', 'common', 'function', 'network', 'sequence', 'parser', 'storage'],
|
||||||
|
|
||||||
|
// Configure the logging output
|
||||||
|
logging: {
|
||||||
|
// Only console logging is currently supported
|
||||||
|
console: {
|
||||||
|
// Level of logging to be recorded. Options are:
|
||||||
|
// fatal - only those errors which make the application unusable should be recorded
|
||||||
|
// error - record errors which are deemed fatal for a particular request + fatal errors
|
||||||
|
// warn - record problems which are non fatal + errors + fatal errors
|
||||||
|
// info - record information about the general running of the application + warn + error + fatal errors
|
||||||
|
// debug - record information which is more verbose than info + info + warn + error + fatal errors
|
||||||
|
// trace - record very detailed logging + debug + info + warn + error + fatal errors
|
||||||
|
// off - turn off all logging (doesn't affect metrics or audit)
|
||||||
|
level: "info",
|
||||||
|
// Whether or not to include metric events in the log output
|
||||||
|
metrics: false,
|
||||||
|
// Whether or not to include audit events in the log output
|
||||||
|
audit: false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// Customising the editor
|
||||||
|
editorTheme: {
|
||||||
|
page: {
|
||||||
|
// To enable the Projects feature, set this value to true
|
||||||
|
title: "NodeRed-3115-Frodo",
|
||||||
|
css: "/data/node_modules/@node-red-contrib-themes/midnight-red/theme.css"
|
||||||
|
},
|
||||||
|
header: {
|
||||||
|
title: "Node-RED-3115-Frodo",
|
||||||
|
},
|
||||||
|
projects: {
|
||||||
|
// To enable the Projects feature, set this value to true
|
||||||
|
enabled: false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
#!/bin/bash
|
||||||
|
DIR=$(dirname "$0")
|
||||||
|
source $DIR/exec up
|
|
@ -0,0 +1,22 @@
|
||||||
|
################################################################################
|
||||||
|
# Node-RED Stack or Compose
|
||||||
|
# see https://github.com/node-red/node-red-docker
|
||||||
|
################################################################################
|
||||||
|
################################################################################
|
||||||
|
version: "3"
|
||||||
|
|
||||||
|
services:
|
||||||
|
node-red:
|
||||||
|
container_name: node-red-${INSTANCE}
|
||||||
|
image: nodered/node-red:latest
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- "1880:1880"
|
||||||
|
networks:
|
||||||
|
- node-red-net
|
||||||
|
volumes:
|
||||||
|
- $DATA_DIR:/data
|
||||||
|
- /etc/timezone:/etc/timezone:ro
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
networks:
|
||||||
|
node-red-net:
|
|
@ -0,0 +1,5 @@
|
||||||
|
#!/bin/bash
|
||||||
|
DIR=$(dirname "$0")
|
||||||
|
DATA_DIR="$DIR/data/$(hostname)"
|
||||||
|
mkdir -p $DATA_DIR
|
||||||
|
DATA_DIR=$DATA_DIR INSTANCE=$(hostname) docker-compose "$@"
|
|
@ -0,0 +1,6 @@
|
||||||
|
#!/bin/bash
|
||||||
|
DIR=$(dirname "$0")
|
||||||
|
DATA_DIR="$DIR/data/$(hostname)"
|
||||||
|
cd $DATA_DIR
|
||||||
|
npm install --save $1
|
||||||
|
cd -
|
|
@ -0,0 +1,6 @@
|
||||||
|
#!/bin/bash
|
||||||
|
DIR=$(dirname "$0")
|
||||||
|
DATA_DIR="$DIR/data/$(hostname)"
|
||||||
|
cd $DATA_DIR || return
|
||||||
|
npm uninstall --save $1
|
||||||
|
cd -
|
|
@ -0,0 +1,31 @@
|
||||||
|
# Node Red via Docker
|
||||||
|
|
||||||
|
A deployment of node red via docker using docker-compose file
|
||||||
|
|
||||||
|
## Setup
|
||||||
|
|
||||||
|
clone this repo - e.g.
|
||||||
|
|
||||||
|
`git clone https://git.kebler.net/IOT/node-red-docker.git /opt/node-red`
|
||||||
|
|
||||||
|
cd to directory and run `./start`
|
||||||
|
|
||||||
|
will create a directory `./data/<hostname>` with user settings
|
||||||
|
|
||||||
|
T add dependencies (outside the ui)
|
||||||
|
|
||||||
|
install `./nri @node-red.....`
|
||||||
|
|
||||||
|
remove `./nrr @node-red....`
|
||||||
|
|
||||||
|
`./term` will give you terminal inside the container
|
||||||
|
|
||||||
|
`./recreate` will scrub container and restart
|
||||||
|
|
||||||
|
`./stop` will stop container (node-red)
|
||||||
|
|
||||||
|
`./restart` will restart container. Necessary after manual install or remove is done. Will also upgrade to latest images.
|
||||||
|
|
||||||
|
`./debug-start` will start container but not headless/detached so on can observe any issues with startup.
|
||||||
|
|
||||||
|
the `exec` script is not to be called directly.
|
|
@ -0,0 +1,4 @@
|
||||||
|
#!/bin/bash
|
||||||
|
DIR=$(dirname "$0")
|
||||||
|
source $DIR/exec down
|
||||||
|
source $DIR/exec up -d --force-recreate
|
|
@ -0,0 +1,4 @@
|
||||||
|
#!/bin/bash
|
||||||
|
DIR=$(dirname "$0")
|
||||||
|
source $DIR/exec down
|
||||||
|
source $DIR/exec up -d
|
|
@ -0,0 +1,3 @@
|
||||||
|
#!/bin/bash
|
||||||
|
DIR=$(dirname "$0")
|
||||||
|
source $DIR/exec up -d
|
|
@ -0,0 +1,3 @@
|
||||||
|
#!/bin/bash
|
||||||
|
DIR=$(dirname "$0")
|
||||||
|
source $DIR/exec down
|
Loading…
Reference in New Issue