node-red ======== [Node-RED][1] is a tool for wiring together hardware devices, APIs and online services in new and interesting ways. ![](screenshot.png) ## directory tree > The `data` directory will be created after first running. ``` ~./node-red/ ├── docker-compose.yml └── data/ ├── flows_cred.json ├── flows.json ├── lib/ │ └── flows └── settings.js ``` > The `arm` directory is only needed for ARM deployments, delete it if > you are not using `arm`. ## docker-compose.yml ```yaml node-red: image: vimagick/node-red ports: - "1880:1880" volumes: - ./data:/data restart: always ``` ## set-up Copy only the `docker-compose.yml` to your desired installation folder. And follow these steps: ```bash $ docker-compose up -d $ docker-compose exec node-red node-red-admin hash-pw >>> Password: ****** ... $2a$08$zZWtXTja0fB1pzD4sHCMyOCMYz2Z6dNbM6tl8sJogENOMcxWV9DN. # Uncomment the adminAuth section and add your hashed password $ sudo vi data/settings.js $ docker-compose exec node-red bash >>> cd /data >>> apk add -U build-base >>> npm install node-red-node-irc >>> npm install node-red-node-daemon >>> exit $ docker-compose restart ``` > Install nodes from [node-red-nodes](https://github.com/node-red/node-red-nodes). [1]: http://nodered.org/ ## settings.js ```javascript module.exports = { ... adminAuth: { type: "credentials", users: [{ username: "admin", password: "ADD_HERE_YOUR_HASH_PASSWORD", permissions: "*" }], default: { permissions: "read" } }, ... } ``` > Password hash can be generated by running `node-red-admin hash-pw` >