Skip to content

安装私有节点(Install private nodes)#

你可以自己创建节点并将它们安装到你的 n8n 实例中,而无需在 npm 上发布。这对于你在公司内部使用的自定义节点非常有用。

🌐 You can build your own nodes and install them in your n8n instance without publishing them on npm. This is useful for nodes that you create for internal use only at your company.

在 Docker n8n 实例中安装你的节点(Install your node in a Docker n8n instance)#

如果你使用 Docker 运行 n8n,则需要创建一个包含已安装 n8n 的节点的 Docker 镜像。

🌐 If you're running n8n using Docker, you need to create a Docker image with the node installed in n8n.

  1. 创建一个 Dockerfile,并从 这个 Dockerfile 粘贴代码。

    你的 Dockerfile 应如下所示:

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    FROM node:16-alpine
    
    ARG N8N_VERSION
    
    RUN if [ -z "$N8N_VERSION" ] ; then echo "The N8N_VERSION argument is missing!" ; exit 1; fi
    
    # Update everything and install needed dependencies
    RUN apk add --update graphicsmagick tzdata git tini su-exec
    
    # Set a custom user to not have n8n run as root
    USER root
    
    # Install n8n and the packages it needs to build it correctly.
    RUN apk --update add --virtual build-dependencies python3 build-base ca-certificates && \
    	npm config set python "$(which python3)" && \
    	npm_config_user=root npm install -g full-icu n8n@${N8N_VERSION} && \
    	apk del build-dependencies \
    	&& rm -rf /root /tmp/* /var/cache/apk/* && mkdir /root;
    
    
    # Install fonts
    RUN apk --no-cache add --virtual fonts msttcorefonts-installer fontconfig && \
    	update-ms-fonts && \
    	fc-cache -f && \
    	apk del fonts && \
    	find  /usr/share/fonts/truetype/msttcorefonts/ -type l -exec unlink {} \; \
    	&& rm -rf /root /tmp/* /var/cache/apk/* && mkdir /root
    
    ENV NODE_ICU_DATA /usr/local/lib/node_modules/full-icu
    
    WORKDIR /data
    
    COPY docker-entrypoint.sh /docker-entrypoint.sh
    ENTRYPOINT ["tini", "--", "/docker-entrypoint.sh"]
    
    EXPOSE 5678/tcp
    
  2. 编译你的自定义节点代码(如果你使用的是节点入门模板,则为 npm run build)。将 dist 文件夹中的 nodecredential 文件夹复制到你的容器的 ~/.n8n/custom/ 目录中。这使它们在 Docker 中可用。

  3. 下载 docker-entrypoint.sh 文件,并将其放在与你的 Dockerfile 相同的目录中。
  4. 构建你的 Docker 镜像:

    1
    2
    3
    # Replace <n8n-version-number> with the n8n release version number. 
    # For example, N8N_VERSION=0.177.0
    docker build --build-arg N8N_VERSION=<n8n-version-number> --tag=customizedn8n .
    

现在你可以在 Docker 中使用你的节点。

🌐 You can now use your node in Docker.

在全局 n8n 中安装你的节点实例(Install your node in a global n8n instance)#

如果你已经全局安装了 n8n,请确保在 n8n 内部安装你的节点。n8n 会自动找到并加载该模块。

🌐 If you've installed n8n globally, make sure that you install your node inside n8n. n8n will find the module and load it automatically.