I’m trying to install the community node n8n-nodes-text-manipulation on a self-hosted docker installation running in queue mode.
I got this message in settings/community node
You need to install community nodes manually because your instance is running in queue mode. More info.
When following the URL, i can’t find information in the documentation. I read a few posts on the community forum, then tried to just upload the community node in my shared n8n docker volume in the folder custom that map to ./n8n/custom in the docker image.
If I understand correctly, there is the option to change the mode. Regular.
Alternatively, you have to build a docker image yourself.
It should be as @pemontto describes it.
At the moment building out a docker image is probably the best way that I can think of, With community nodes when they are installed we add them to the ~/.n8n/nodes/ folder. I have no idea if it would work but you could always try manually installing nodes into that folder and restarting the instance to see if that works.
I did spot an internal note the other day to document how to install community nodes when using queue mode but I don’t think we have started on that process yet.
I agree doing it from the UI would be the best option but I guess as it is not there already it is probably a bit tricky to do properly.
With the folder option I don’t think a shared volume would do it and you might need to do it on each instance and run the npm install command.
As far as I know though the only method we currently support is through custom docker images, I have just asked internally to see if I have missed something though.
So we think if you shared .n8n/custom with all your workers after doing an install of a node and restarting each worker it should be available to all of them.
I am going to set aside some time tomorrow to give it a test.
I’m looking to the way to install Plausible community node on queue installation because I just can’t use all on the same process (we are sharing resources while a couple of services).
You could try mapping the custom extension path to a shared folder then install the node into it using npm and restart the instances.
From what I remember about that community node though there may be something missing so it would be worth checking it in a test instance first to make sure it does what you want otherwise it will be a case of using the http request node.
Slight caveat I’ve noticed, the nodes installed via this method will register their ID as CUSTOM.<node name> on the canvas, which means you’ll get “dead” nodes when copying from/to an instance with community nodes installed normally.