I’ve been using n8n for a week and it seems to be really amazing as to what users can automate with it.
It would be really amazing if we have a simple User Management system where multiple users can login onto same n8n server and access their workflows & credentials. I think this will make the app more comfortable and easy to use for multiple people as they will not have their credentials exposed to others.
Hey @Asit_Joshi! Welcome to the community. I hope you find your time here useful!
You are not alone asking for a multi-user environment. I know @jan has talked about it in the past and it is on their radar but it is probably off in the distance for the time being as there are generally more requests for changes/augmentation than there is time in the day!
Now, with that being said, there could be a “poor man’s” version of multi-user n8n that could be deployed by “containerizing” multiple n8n instances.
So, for example, you could build a server/computer/VM with multiple docker instances, each running their own version of n8n with unique ports, usernames, and passwords. Then, each user could connect to their own port with their own username and password that would not interfere with other users’ workflows.
For bonus points, you could put a NGINX proxy in front of the docker instances and let it handle all of the routing.
@Tephlon yes I was also thinking of the same idea. Do we have a calculated value for how much a docker instance of n8n consumes the resources as if we have multiple instances running it will surely need a heavy server. Thanks
Hey @Asit_Joshi!
This is a bit like asking “How long is a piece of string?” The answer is, it really depends on a number of factors:
What type of workflows are being created?
What are the workflows doing?
How many people are online at the same time?
Can the different workflows be “timed” so that the minimal number of workflows are running at the same time?
Now, with that being said, n8n itself is a pretty “thin” service, running happily on my RPi. If you have access to a virtual environment, I would build a base VM with a small number of docker instances on the VM. Then, as your resource requirements increase, you will be able to dynamically add more disk, RAM, and CPU (along with docker instances) to the VM.
This becomes even easier if you have a Kubernetes environment…
I did run some test a while ago. It does obviously totally depend on what you are doing exactly, like @Tephlon wrote, but it looks like n8n starts to run reasonably OK from 128 MB RAM but I would recommend at least 256 MB better 512 MB.
But again depends a lot on what you are doing exactly. But just to give you some lower limit. But what is important know that this works only if you run everything in the main process. So you have to set the environment variable:
If you want to have the workflows running in separate processes I recommend at least 512 MB. But als there it also depends a lot on your use cases and how many processes you want to have running in parallel.
Hi @Asit_Joshi, thank you for your request! I noticed that this is a duplicate request and so am closing this post, I encourage you to visit the original request and upvote it (more votes on a single ticket = will be escalated to development sooner): User and Privilege Management [GOT CREATED]