Does anyone use n8n.io in production?

I’m thinking about using my n8n instance to handle my Stripe integration rather than using Supabase edge functions and coding a bunch. After I launch my MVP, I’ll do the proper code, but does anyone have experience running n8n (preferably self-hosted) in production that handles back end logic? I’m spending too much time mucking around in the back-end and in node.js instead of just using n8n and pushing closer to a complete MVP.

Thx!

1 Like

Hi there,
I use n8n for internal backend logic and I would not recommend it in terms of scalability. The CPU on the virtual host goes up to 100% every now and then and everything slows down. Supabase on the other hand was built to scale and edge functions were designed to handle those things. Also, you decrease security in my opinion if you use n8n, which has to write back to supabase db, I guess.

Max

1 Like

Thanks Max, where are you hosting? Could you just throw more compute power at your n8n instance?

I’m hosting at Hetzner, a small Provider in Germany. Sure, I could throw more power to it. But it’s just an internal backend, I don’t need more performance.

How.would you write stripe info back to your DB? I think you would have to call the supabase API from n8n. And that could become a security issue. How do.you plan to implement that?

Yeah, n8n has a native supabase integration. Where would the security issue be?

Yeah, I just checked. Good to know :blush:

I don’t think that there is an issue per se. But you grant full access to an external system (n8n) and bypass row level security. If someone gets access to your n8n, they will have access to your supabase db.

It’s just something that you have to be aware of.

1 Like

You’re self hosting it? Could you talk more about your experience? We’re seriously considering it, and willing to try it. Is it worth the hype?

So far I only have it doing one thing which is logging data from a websocket. I was going to use it to build my Stripe integration, but I wasn’t able to figure out a way to have it securely interact with my front end. So I don’t have much experiance battle-testing it yet.

Hi @Broberto,
Yes, we self-host the n8n docker container. We use it for internal automations: connecting OneDrive to our database, syncing our database with Todoist, syncing our accounting software with our database, sending internal reminders, and so on. We love it. We spend about €16 per month for our instance. If we had implemented the same automations with Zapier, it would have cost us waaay more :wink:

Nevertheless, I would never use it as a backend for a production app. And I believe it’s not designed for that purpose. The workflows can take some time and use a lot of CPU, especially if you use the “Code” block. You would still need a performant database like supabase or Xano with an authentication layer. And as both already come with functions, why not use those?

1 Like

@Max you’re making me re-consider my n8n instance and to just do the proper coding work in Supabase before I build too much on n8n.

I’m hosting a Node.js server on Heroku, and it didn’t cost me anything extra to also self-host an n8n instance there too, but the instance definitely “hangs up” when building workflows, which I think has to do with only 512MB of memory on Heroku. I haven’t seen the instance fail once to execute any workflows when called, but I’d feel more “production ready” if I had an extra few GB of memory and some better compute to throw at it, which I unfortunately don’t.

My intention for n8n was to speed up development as I’m a non-dev so coding functions in Supabase takes me a few hours at least, even with the help of GPT.

I think that is a good decision :wink:

1 Like

If you want to go fancy you can host anything on a Hetzner server and it’s dirty cheap. I’m hosting some of my things there and paying literally like 4 euros per month.

Really interesting thread!
I found this article describing their n8n customizations for production.
And there is a paragraph explaining how to scale even more n8n:

Hope that helps.