跳转至

安装私有节点#

您可以构建自己的节点并将其安装到您的n8n实例中,而无需将它们发布到npm上。这对于您仅在公司内部使用的节点很有用。

在Docker n8n实例中安装您的节点#

如果您使用Docker运行n8n,您需要创建一个安装了节点的Docker镜像。

  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. 编译您的自定义节点代码(如果您使用的是nodes starter,请执行npm run build)。将dist文件夹中的nodecredential文件夹复制到容器的~/.n8n/custom/目录中。这样Docker就可以使用它们了。

  3. 下载docker-entrypoint.sh文件,并将其放在与您的Dockerfile相同的目录中。

  4. 构建您的Docker镜像:

    1
    2
    3
    # 将<n8n-version-number>替换为n8n发布版本号。
    # 例如,N8N_VERSION=0.177.0
    docker build --build-arg N8N_VERSION=<n8n-version-number> --tag=customizedn8n .
    

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

在全局n8n实例中安装您的节点#

如果您全局安装了n8n,请确保在n8n内部安装您的节点。n8n会自动查找模块并加载它。

此页面是否
💬 微信

🚀 与作者交流

关注公众号
n8n实战笔记公众号
n8n实战笔记
📚 教程 💡 案例 🔧 技巧
添加微信
添加作者微信
1对1 专业指导
⚡ 快答 🎯 定制 🚀 支持