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