Skip to content

Install private nodes#

คุณสามารถสร้าง node ของตัวเองและติดตั้งใน n8n instance ของคุณได้โดยไม่ต้อง publish ขึ้น npm เหมาะสำหรับ node ที่ใช้ภายในบริษัทหรือองค์กรเท่านั้น

Install your node in a Docker n8n instance#

ถ้าคุณรัน n8n ด้วย Docker คุณต้องสร้าง Docker image ที่มี node ของคุณติดตั้งอยู่ใน 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. Compile โค้ด custom node ของคุณ (npm run build ถ้าใช้ nodes starter) แล้ว copy โฟลเดอร์ node และ credential จากใน dist ไปไว้ใน ~/.n8n/custom/ ของ container เพื่อให้ Docker มองเห็น node เหล่านี้

  3. ดาวน์โหลดไฟล์ docker-entrypoint.sh แล้ววางไว้ใน directory เดียวกับ Dockerfile

  4. Build Docker image ของคุณ:

    1
    2
    # เปลี่ยน <n8n-version-number> เป็นเวอร์ชัน n8n ที่ต้องการ เช่น N8N_VERSION=0.177.0
    docker build --build-arg N8N_VERSION=<n8n-version-number> --tag=customizedn8n .
    

ตอนนี้คุณก็สามารถใช้ node ของคุณใน Docker ได้แล้ว

Install your node in a global n8n instance#

ถ้าคุณติดตั้ง n8n แบบ global ให้แน่ใจว่าคุณติดตั้ง node ของคุณไว้ใน n8n ด้วย n8n จะค้นหา module และโหลดให้อัตโนมัติ