프라이빗 node 설치
npm에 게시하지 않고 n8n 인스턴스에 직접 node를 빌드하고 설치할 수 있습니다. Docker를 사용하여 n8n을 실행하는 경우 n8n에 node가 설치된 Docker 이미지를 생성해야 합니다. Dockerfile을 생성하고 이 Dockerfile의 코드를 붙여넣습니다.
npm에 게시하지 않고 n8n 인스턴스에 직접 node를 빌드하고 설치할 수 있습니다. 회사 내부에서만 사용하는 node를 생성할 때 유용합니다.
Docker n8n 인스턴스에 node 설치#
Docker를 사용하여 n8n을 실행하는 경우 n8n에 node가 설치된 Docker 이미지를 생성해야 합니다.
-
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 -
사용자 정의 node 코드를 컴파일합니다(n8n 노드 스타터를 사용하는 경우
npm run build). dist 폴더 내의 node 및 credential 폴더를 컨테이너의~/.n8n/custom/디렉터리에 복사합니다. 이렇게 하면 Docker에서 사용 가능합니다. -
docker-entrypoint.sh 파일을 다운로드하고 Dockerfile과 동일한 디렉터리에 배치합니다.
-
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이 모듈을 찾아 자동으로 로드합니다.
