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

**URL:** <https://discourse.nodered.org/t/new-feature-in-development-node-red-contrib-uibuilder-custom-webserver/42779>\
**Category:** Share Your Nodes\
**Created:** [17 March 2021 17:24 UTC](https://discourse.nodered.org/t/new-feature-in-development-node-red-contrib-uibuilder-custom-webserver/42779 "2021-03-17T17:24:25Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![TotallyInformation](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/totallyinformation/32/31_2.png) [@TotallyInformation](https://discourse.nodered.org/u/TotallyInformation)\
**Post date:** [17 March 2021 17:24 UTC](https://discourse.nodered.org/t/new-feature-in-development-node-red-contrib-uibuilder-custom-webserver/42779/1 "2021-03-17T17:24:25Z")

</div>

Hi all, thanks to prompting from a [user-raised issue](https://github.com/TotallyInformation/node-red-contrib-uibuilder/issues/124) 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:

```auto
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.
