콘텐츠로 이동
📣 인포그랩에서 OpenAI 기술 기반으로 자체 개발한 자동화 번역 프로그램을 통해 n8n 공식 문서의 한글판을 국내 최초로 제공합니다.

개인 노드 설치#

자신의 노드를 빌드하고 n8n 인스턴스에 설치할 수 있으며, 이때 npm에 게시할 필요는 없습니다. 이는 회사 내부에서만 사용할 노드를 만들 때 유용합니다.

Docker n8n 인스턴스에 노드 설치#

Docker를 사용하여 n8n을 실행하는 경우, 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 "N8N_VERSION 인자가 누락되었습니다!" ; 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. 사용자 정의 노드 코드를 컴파일합니다 (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이 모듈을 찾고 자동으로 로드합니다.

인포레터에서 최신 DevOps 트렌드를 격주로 만나보세요!