[New Feature in development] node-red-contrib-uibuilder: Custom webserver

Hi all, thanks to prompting from a user-raised issue and a day off work, I've put together a new feature that should go live in the next release very soon (v3.3.0).

If you want to try it out for yourself, please install this development version manually:

npm install totallyinformation/node-red-contrib-uibuilder#express

It should be stable.

By setting a port number in settings.js, uibuilder will fire up its own webserver (using https if Node-RED does, with the same certificate and key) and will listen on the specified port.

The main use for this is if you want to expose a uibuilder front-end to the Internet via a reverse proxy such as NGINX but do not want to expose the rest of Node-RED.

Future enhancements will extend the usefulness by allowing you to specify more options for the server, even different certificates and keys, caching, custom headers, etc. I may even add http/2 support since Node.js has a core library for it.

Note that if you set a port number, all uibuilder instances will use the new webserver.