N8n.cloud & on-prem workers

I like the reduced management overhead and scalability of using n8n.cloud, however I would also like to interact with on-premise applications, [but without having to host the n8n application myself]. Example use case is raising a gitlab issue on my self-hosted instance when an incident is raised in Hubspot (cloud CRM).

In reading the documentation (i.e. Scaling n8n | Docs ) it seems to me that it might be theoretically possible to create a worker that connects to n8n.cloud, but don’t see any mention of it in either the docs or community.

Is it possible to create an on-premise worker that connects to the n8n.cloud, so I can interact with on-premise systems?
If so, is there any reference/example documentation I can follow to set this up?

Many thanks

1 Like

Hi @timstockford, welcome to the community :tada:

n8n.cloud only offers vertical scalability at the moment (by switching to a bigger plan/more powerful instance) I am afraid. Horizontal scaling as per the documentation you have linked is currently only available to self-hosted/managed instances and there are currently no plans for a hybrid model I am aware of I am afraid. So for the time being I shall convert this into a feature request.

When self-hosting n8n, workers could theoretically live in locations different from the main instance, but you would need to set up and configure the required network routing yourself.

That said, your example use case doesn’t sound like it would create any super-high load. Assuming you don’t want to make your local Gitlab instance available to the outside world, you could alternatively consider making the webhook endpoints of your local n8n instance available to the outside world. You could then have n8n.cloud simply send an HTTP Request to one of your webhook endpoints whenever needed.

2 Likes

I’ve mentioned this before and think it’s a great idea. Effectively having an execution “agent” where you can delegate a workflow. Would be especially useful if you could nominate/delegate running specific nodes from a workflow on that agent. E.g. I run the bulk of a workflow in the cloud, but I want to query a SQL DB somewhere on-prem behind layers of firewalls.

Some examples:

3 Likes

Oddly enough this is something I have suggested as well, It makes sense to have something local that can trigger off a workflow.

At the moment depending on what is being done it would be a case of using a webhook with Curl / Powershell which isn’t ideal for all users.

There is also something called Bash Dash which I found the other day and I thought it was a good concept for something that could be better. I did start toying around with an idea after finding Bash Dash but at the moment it is just a little toy project of mine to see what could be possible.

Hi @MutedJam,
Thank you for the kind welcome, and such a quick response.

I may have confused matters linking to the scalability documentation. In fact @pemontto actually explains this better than I did, and is what I was looking for.

In the meantime though, running n8n on-prem is probably the way to go.

1 Like

Yeah, running n8n on premise definitely will make things easier in the scenario you have described. That said the combination HTTP Request (on n8n.cloud)/Webhook node (on premise) already allows you to exchange data between two separate n8n environments if really needed.

Make sure to vote on your own feature request, this will help our team prioritize their development efforts :slight_smile:

1 Like