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 中的代码粘贴到其中。

¥Create a Dockerfile and paste the code from this Dockerfile.

你的 Dockerfile 应如下所示:

¥Your Dockerfile should look like this:

 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
  1. 编译你的自定义节点代码(如果你使用的是 Node Starter,则为 npm run build)。复制节点并将 dist 文件夹中的凭据文件夹复制到容器的 ~/.n8n/custom/ 目录中。这使得它们可用于 Docker。

¥Compile your custom node code (npm run build if you are using nodes starter). Copy the node and credential folders from within the dist folder into your container's ~/.n8n/custom/ directory. This makes them available to Docker.

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

¥Download the docker-entrypoint.sh file, and place it in the same directory as your Dockerfile.

  1. 构建你的 Docker 镜像:

¥Build your Docker image:

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.