# Building a Multi Tenant Node-RED Service

**URL:** https://discourse.nodered.org/t/building-a-multi-tenant-node-red-service/33607
**Category:** Share Your Projects
**Created:** [1 October 2020 06:22 UTC](https://discourse.nodered.org/t/building-a-multi-tenant-node-red-service/33607 "2020-10-01T06:22:31Z")
**Posts on this page:** 12
**Page:** 1

<div class="post-metadata">

### Author: ![hardillb](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/hardillb/32/12373_2.png) [@hardillb](https://discourse.nodered.org/u/hardillb)
#### Post date: [1 October 2020 06:22 UTC](https://discourse.nodered.org/t/building-a-multi-tenant-node-red-service/33607/1 "2020-10-01T06:22:31Z")

</div>

I was recently approached about adding Multi Tenant support to the core of Node-RED, I had to explain that due to the nature of NodeJS this isn't really a good idea as there is no way to get clean separation between the different users. But it is possible to build a system that spins up distinct instances for each user.

Over the month of October I'll be releasing a series of blog posts outlining all the components needed to build such a system and finally how to assemble them into a proof of concept deployment.

The first post is now live [here](https://www.hardill.me.uk/wordpress/2020/10/01/multi-tenant-node-red/)

I will update that post with links to the subsequent articles as they go live and I'll try and remember to come back and post them here as well.

---

<div class="post-metadata">

### Author: ![BartButenaers](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/bartbutenaers/32/10476_2.png) [@BartButenaers](https://discourse.nodered.org/u/BartButenaers)
#### Post date: [1 October 2020 10:16 UTC](https://discourse.nodered.org/t/building-a-multi-tenant-node-red-service/33607/2 "2020-10-01T10:16:26Z")

</div>

> [@hardillb](#):
>
> adding Multi Tenant support to the core of Node-RED

Hi Ben,  
really nice initiative! A very basic question about _ **"to the core"** _: does this mean that (once your project is finished) when I install Node-RED from NPM, it will have multi-tenancy out of the box (baked into the core). I mean inclusive a http proxy and all related stuff... Or is this a completely separate project, that needs to be installed separately?  
Thanks!  
Bart

---

<div class="post-metadata">

### Author: ![knolleary](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/knolleary/32/3_2.png) [@knolleary](https://discourse.nodered.org/u/knolleary)
#### Post date: [1 October 2020 10:29 UTC](https://discourse.nodered.org/t/building-a-multi-tenant-node-red-service/33607/3 "2020-10-01T10:29:41Z")

</div>

@BartButenaers the original request Ben received was about adding it to the core. You'll be familiar with the many discussions on that in this forum and our stated position that the node-red core is not suitable for multi-tenancy. The work Ben has been doing is building a multi-tenant service around the outside of Node-RED.

---

<div class="post-metadata">

### Author: ![hardillb](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/hardillb/32/12373_2.png) [@hardillb](https://discourse.nodered.org/u/hardillb)
#### Post date: [5 October 2020 05:05 UTC](https://discourse.nodered.org/t/building-a-multi-tenant-node-red-service/33607/4 "2020-10-05T05:05:49Z")

</div>

Part 2 - Building a Node-RED Storage Plugin

[https://www.hardill.me.uk/wordpress/2020/10/05/node-red-storage-plugin/](https://www.hardill.me.uk/wordpress/2020/10/05/node-red-storage-plugin/)

---

<div class="post-metadata">

### Author: ![hardillb](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/hardillb/32/12373_2.png) [@hardillb](https://discourse.nodered.org/u/hardillb)
#### Post date: [7 October 2020 23:03 UTC](https://discourse.nodered.org/t/building-a-multi-tenant-node-red-service/33607/5 "2020-10-07T23:03:29Z")

</div>

Part 3 - Building Authentication Plugins

[https://www.hardill.me.uk/wordpress/2020/10/08/node-red-authentication-plugin/](https://www.hardill.me.uk/wordpress/2020/10/08/node-red-authentication-plugin/)

---

<div class="post-metadata">

### Author: ![hardillb](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/hardillb/32/12373_2.png) [@hardillb](https://discourse.nodered.org/u/hardillb)
#### Post date: [12 October 2020 06:11 UTC](https://discourse.nodered.org/t/building-a-multi-tenant-node-red-service/33607/6 "2020-10-12T06:11:54Z")

</div>

Part 4 - Custom Node-RED Docker Container

[https://www.hardill.me.uk/wordpress/2020/10/12/custom-node-red-container-for-a-multi-tenant-environment/](https://www.hardill.me.uk/wordpress/2020/10/12/custom-node-red-container-for-a-multi-tenant-environment/)

---

<div class="post-metadata">

### Author: ![hardillb](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/hardillb/32/12373_2.png) [@hardillb](https://discourse.nodered.org/u/hardillb)
#### Post date: [15 October 2020 06:18 UTC](https://discourse.nodered.org/t/building-a-multi-tenant-node-red-service/33607/7 "2020-10-15T06:18:14Z")

</div>

Part 5 - Proxying for multiple Node-RED Instances

[https://www.hardill.me.uk/wordpress/2020/10/15/proxying-for-mulitple-node-red-instances/](https://www.hardill.me.uk/wordpress/2020/10/15/proxying-for-mulitple-node-red-instances/)

---

<div class="post-metadata">

### Author: ![hardillb](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/hardillb/32/12373_2.png) [@hardillb](https://discourse.nodered.org/u/hardillb)
#### Post date: [19 October 2020 05:45 UTC](https://discourse.nodered.org/t/building-a-multi-tenant-node-red-service/33607/8 "2020-10-19T05:45:10Z")

</div>

Part 6 - Managing Multi Tenant Node-RED instances

[https://www.hardill.me.uk/wordpress/2020/10/19/managing-multi-tenant-node-red-instances/](https://www.hardill.me.uk/wordpress/2020/10/19/managing-multi-tenant-node-red-instances/)

---

<div class="post-metadata">

### Author: ![jodelkoenig](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/jodelkoenig/32/44645_2.png) [@jodelkoenig](https://discourse.nodered.org/u/jodelkoenig)
#### Post date: [19 October 2020 13:45 UTC](https://discourse.nodered.org/t/building-a-multi-tenant-node-red-service/33607/9 "2020-10-19T13:45:23Z")

</div>

Hey Ben, this looks awesome. I am not a subject matter expert here, however, I think I get the idea (sort of). It definitely helps to understand principles of multi-tenant environments. Thanks a lot.

---

<div class="post-metadata">

### Author: ![hardillb](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/hardillb/32/12373_2.png) [@hardillb](https://discourse.nodered.org/u/hardillb)
#### Post date: [22 October 2020 05:51 UTC](https://discourse.nodered.org/t/building-a-multi-tenant-node-red-service/33607/10 "2020-10-22T05:51:31Z")

</div>

Part 7 - Advanced Multi Tenant Node-RED Topics

[https://www.hardill.me.uk/wordpress/2020/10/22/advanced-multi-tenant-node-red-topics/](https://www.hardill.me.uk/wordpress/2020/10/22/advanced-multi-tenant-node-red-topics/)

---

<div class="post-metadata">

### Author: ![hardillb](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/hardillb/32/12373_2.png) [@hardillb](https://discourse.nodered.org/u/hardillb)
#### Post date: [26 October 2020 06:37 UTC](https://discourse.nodered.org/t/building-a-multi-tenant-node-red-service/33607/11 "2020-10-26T06:37:06Z")

</div>

Part 8 - Working Example of Multi Tenant Node-RED

[https://www.hardill.me.uk/wordpress/2020/10/26/multi-tenant-node-red-working-example/](https://www.hardill.me.uk/wordpress/2020/10/26/multi-tenant-node-red-working-example/)

---

<div class="post-metadata">

### Author: ![system](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/1X/d073cd938eafa2e558d7c2cd59003b3ef4963033.png) [@system](https://discourse.nodered.org/u/system)
#### Post date: [30 November 2020 06:22 UTC](https://discourse.nodered.org/t/building-a-multi-tenant-node-red-service/33607/12 "2020-11-30T06:22:36Z")

</div>

This topic was automatically closed after 60 days. New replies are no longer allowed.
