Can't get custom node to show up

Describe the problem/error/question

Hi everyone,

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.)

Share the output returned by the last node

Information on your n8n setup

  • n8n version: 1.37.2 (using Docker image).
  • Database (default: SQLite): Default.
  • n8n EXECUTIONS_PROCESS setting (default: own, main): Default.
  • Running n8n via (Docker, npm, n8n cloud, desktop app): Docker.
  • Operating system: Arch Linux.

Hey @diogobaeder,

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.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.