I can’t seem to have my private custom node show up in the n8n UI, when trying to add it via volume mounting to a Docker container running the n8n image. The files are available at ~/.n8n/custom/ already, but n8n just doesn’t show the custom node there.
What are the absolute requirements for n8n to be able to find custom nodes? I’m trying a number of different approaches, but I want to avoid having to install anything in my host OS. For example, putting the nodes files at ~/.n8n/custom/n8n-nodes-mycustomnode/nodes doesn’t work, neither if I move nodes/ up to custom/. I also tried having the credentials files in the right place.
What is the error message (if any)?
No error message shows up (although it would be helpful to see some logs in stdout showing whether n8n was able to find possible custom nodes).
Please share your workflow
(Select the nodes on your canvas and use the keyboard shortcuts CMD+C/CTRL+C and CMD+V/CTRL+V to copy and paste the workflow.)
I went through this process a couple of days ago, If you build your node then copy the contents of the dist folder to the custom folder for your n8n instance it should pick it up and work unless there is an issue with the node.
You will need to stop and start you n8n instance and possibly clear your browser cache as well.
Thanks @Jon ! I tried that, but unfortunately it didn’t work. Here are some dirs and files for example, that I have available in the container:
~ $ ls -lh ~/.n8n/custom/
total 92K
drwxr-xr-x 2 node node 4.0K Aug 1 17:11 credentials
drwxr-xr-x 3 node node 4.0K Aug 1 17:11 nodes
-rw-r--r-- 1 node node 1.7K Aug 1 17:12 package.json
-rw-r--r-- 1 node node 77.5K Aug 1 17:27 tsconfig.tsbuildinfo
~ $ ls -lh ~/.n8n/custom/nodes/
total 4K
drwxr-xr-x 2 node node 4.0K Aug 1 17:27 FriendGrid
~ $ ls -lh ~/.n8n/custom/nodes/FriendGrid/
total 24K
-rw-r--r-- 1 node node 270 Aug 1 17:27 FriendGrid.node.d.ts
-rw-r--r-- 1 node node 5.3K Aug 1 17:27 FriendGrid.node.js
-rw-r--r-- 1 node node 2.9K Aug 1 17:27 FriendGrid.node.js.map
-rw-r--r-- 1 node node 374 Aug 1 17:11 FriendGrid.node.json
-rw-r--r-- 1 node node 816 Aug 1 12:17 friendGrid.svg
However, “FriendGrid” just doesn’t turn up in the UI. Maybe I’m missing something else? Is there a way to make n8n spit out logs for its attempts to load custom nodes?
There isn’t a way to output it but it should show a message if it fails, Do you have the ~/.n8n/custom path avaialble to your n8n instance and is the node actually called FriendGrid as that can cause issues if it doesn’t all match up.
I do have those files available to the n8n instance, yes - the instance runs in a container, as user “node”, and those files are all within /home/node/.n8n/custom/. The node name is “friendGrid”, but the displayName is “FriendGrid”. Does the name attribute have to match the subdirectory name? If so, then that might be the problem.