개인 노드 설치#
자신의 노드를 빌드하고 n8n 인스턴스에 설치할 수 있으며, 이때 npm에 게시할 필요는 없습니다. 이는 회사 내부에서만 사용할 노드를 만들 때 유용합니다.
Docker n8n 인스턴스에 노드 설치#
Docker를 사용하여 n8n을 실행하는 경우, n8n에 노드가 설치된 Docker 이미지를 만들어야 합니다.
-
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
-
사용자 정의 노드 코드를 컴파일합니다 (
npm run build
를 사용 중인 경우). dist 폴더 내에서 node 및 credential 폴더를 컨테이너의~/.n8n/custom/
디렉토리로 복사합니다. 이렇게 하면 Docker에서 사용할 수 있습니다. -
docker-entrypoint.sh 파일을 다운로드하여 Dockerfile과 동일한 디렉토리에 두십시오.
-
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이 모듈을 찾고 자동으로 로드합니다.