InfoGrab DocsInfoGrab Docs

프라이빗 node 설치

요약

npm에 게시하지 않고 n8n 인스턴스에 직접 node를 빌드하고 설치할 수 있습니다. Docker를 사용하여 n8n을 실행하는 경우 n8n에 node가 설치된 Docker 이미지를 생성해야 합니다. Dockerfile을 생성하고 이 Dockerfile의 코드를 붙여넣습니다.

npm에 게시하지 않고 n8n 인스턴스에 직접 node를 빌드하고 설치할 수 있습니다. 회사 내부에서만 사용하는 node를 생성할 때 유용합니다.

Docker n8n 인스턴스에 node 설치#

Docker를 사용하여 n8n을 실행하는 경우 n8n에 node가 설치된 Docker 이미지를 생성해야 합니다.

  1. Dockerfile을 생성하고 이 Dockerfile의 코드를 붙여넣습니다.

    Dockerfile은 다음과 같아야 합니다:

    FROM node:16-alpine
    
    ARG N8N_VERSION
    
    RUN if [ -z "$N8N_VERSION" ] ; then echo "The N8N_VERSION argument is missing!" ; exit 1; fi
    
    # 모든 것을 업데이트하고 필요한 종속성 설치
    RUN apk add --update graphicsmagick tzdata git tini su-exec
    
    # n8n이 root로 실행되지 않도록 사용자 정의 사용자 설정
    USER root
    
    # n8n과 올바르게 빌드하는 데 필요한 패키지 설치
    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;
    
    # 폰트 설치
    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. 사용자 정의 node 코드를 컴파일합니다(n8n 노드 스타터를 사용하는 경우 npm run build). dist 폴더 내의 nodecredential 폴더를 컨테이너의 ~/.n8n/custom/ 디렉터리에 복사합니다. 이렇게 하면 Docker에서 사용 가능합니다.

  3. docker-entrypoint.sh 파일을 다운로드하고 Dockerfile과 동일한 디렉터리에 배치합니다.

  4. Docker 이미지를 빌드합니다:

    # <n8n-version-number>를 n8n 릴리스 버전 번호로 교체합니다.
    # 예: N8N_VERSION=0.177.0
    docker build --build-arg N8N_VERSION=<n8n-version-number> --tag=customizedn8n .
    

이제 Docker에서 node를 사용할 수 있습니다.

전역 n8n 인스턴스에 node 설치#

n8n을 전역으로 설치한 경우 n8n 내부에 node를 설치해야 합니다. n8n이 모듈을 찾아 자동으로 로드합니다.

프라이빗 node 설치

n8n v2.25
원문 보기
요약

npm에 게시하지 않고 n8n 인스턴스에 직접 node를 빌드하고 설치할 수 있습니다. Docker를 사용하여 n8n을 실행하는 경우 n8n에 node가 설치된 Docker 이미지를 생성해야 합니다. Dockerfile을 생성하고 이 Dockerfile의 코드를 붙여넣습니다.

npm에 게시하지 않고 n8n 인스턴스에 직접 node를 빌드하고 설치할 수 있습니다. 회사 내부에서만 사용하는 node를 생성할 때 유용합니다.

Docker n8n 인스턴스에 node 설치#

Docker를 사용하여 n8n을 실행하는 경우 n8n에 node가 설치된 Docker 이미지를 생성해야 합니다.

  1. Dockerfile을 생성하고 이 Dockerfile의 코드를 붙여넣습니다.

    Dockerfile은 다음과 같아야 합니다:

    FROM node:16-alpine
    
    ARG N8N_VERSION
    
    RUN if [ -z "$N8N_VERSION" ] ; then echo "The N8N_VERSION argument is missing!" ; exit 1; fi
    
    # 모든 것을 업데이트하고 필요한 종속성 설치
    RUN apk add --update graphicsmagick tzdata git tini su-exec
    
    # n8n이 root로 실행되지 않도록 사용자 정의 사용자 설정
    USER root
    
    # n8n과 올바르게 빌드하는 데 필요한 패키지 설치
    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;
    
    # 폰트 설치
    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. 사용자 정의 node 코드를 컴파일합니다(n8n 노드 스타터를 사용하는 경우 npm run build). dist 폴더 내의 nodecredential 폴더를 컨테이너의 ~/.n8n/custom/ 디렉터리에 복사합니다. 이렇게 하면 Docker에서 사용 가능합니다.

  3. docker-entrypoint.sh 파일을 다운로드하고 Dockerfile과 동일한 디렉터리에 배치합니다.

  4. Docker 이미지를 빌드합니다:

    # <n8n-version-number>를 n8n 릴리스 버전 번호로 교체합니다.
    # 예: N8N_VERSION=0.177.0
    docker build --build-arg N8N_VERSION=<n8n-version-number> --tag=customizedn8n .
    

이제 Docker에서 node를 사용할 수 있습니다.

전역 n8n 인스턴스에 node 설치#

n8n을 전역으로 설치한 경우 n8n 내부에 node를 설치해야 합니다. n8n이 모듈을 찾아 자동으로 로드합니다.