| n8n | |
| | |
| 개발사 | n8n GmbH |
| 창업자 | |
| 라이선스 | n8n Fair-Code License v1.1 |
| 링크 | 홈페이지 · GitHub · 공식 문서 · 커뮤니티 |
| 유사 서비스 | Zaiper, Make, IFTTT |
1. 개요
NodematioN (Node Automation)n8n(읽기: 엔에잇엔[1], 소위 엔팔엔)은 독일 베를린에 본사를 둔 n8n GmbH에서 2019년에 처음 공개한 워크플로우 자동화 툴이다. 창업자인 얀 오벌래서(Jan Oberhauser)는 여러 스타트업을 거치며 반복적인 비즈니스 프로세스와 기존 자동화 툴의 한계에 질려버린 나머지, "더 자유롭고, 강력하며, 통제 가능한 자동화 툴은 없는가"라는 생각에서 직접 만들기 시작한 프로젝트다.
n8n은 개발자, 데브옵스 엔지니어, 그리고 기존 툴의 한계에 답답함을 느낀 유저들을 위한 높은 자유도와 확장성을 핵심 가치로 내세웠다. 데이터의 흐름을 원하는 대로 주무르고, 필요하다면 직접 코드를 작성해 시스템의 깊은 부분까지 제어하고자 하는 사용자들을 위한 도구인 셈이다.
과거에는 강력한 '코드 노드(Code Node)' 기능과 JSON 데이터 구조에 대한 이해가 필수적이었기 때문에 '코딩을 모르면 제대로 쓰기 어렵다'는 평이 지배적이었으나, 최근 LLM의 대발전으로 ChatGPT, Claude, Gemini 등에게 n8n용 자바스크립트 코드 생성을 요청하고, 심지어 워크플로우 전체의 설계나 디버깅에 대한 조언을 구하는 방식으로 사용 진입 장벽이 낮아지고 있다.핵심적인 특징은 소스 코드가 공개된 'Source-available' 모델과 셀프 호스팅(Self-hosting)이 가능하다는 점이며, 이로 인해 비용 절감과 데이터 프라이버시 측면에서 많은 이점을 가진다.
2. 두 가지 버전
n8n은 사용자의 기술 수준, 예산, 데이터 정책 등 다양한 요구사항에 맞춰 두 가지 주요 배포 모델을 제공한다. 하나는 n8n GmbH에서 직접 운영 및 관리하는 클라우드(SaaS) 버전이고, 다른 하나는 사용자가 직접 자신의 인프라[2]에 설치하는 커뮤니티(셀프 호스팅) 버전이다.과거에는 기술적 진입 장벽 때문에 비개발자는 클라우드 버전을, 개발자는 커뮤니티 버전을 선택하는 것이 일반적이었으나, 2023년 이후 LLM의 발전으로 이러한 경계가 사실상 무너지고 있다. 현재는 대부분의 경우 커뮤니티 버전의 장점이 클라우드 버전의 편의성을 압도하는 방향으로 평가가 변화하고 있다.
2.1. 클라우드 버전
n8n GmbH에서 직접 운영하는 SaaS 버전. n8n 공식 홈페이지에서 'Get started (for free)'누르면 된다. 시작'만'은 꽁짜다.초심자를 위해 이 모든 과정을 홈페이지에서 가입으로 대체하고, 즉시 사용할 수 있다. 다만, 정상적인 실사용을 위해서는 99% 월 결제가 필요하다. 노드 1개 실행 당 1ops로 카운트하고, 무료 플랜 사용자는 월 1,000ops만을 제공하는 make.com과 동일한 제한을 두며 과금 유도를 하기 시작했다.
ops를 사용해야 하는 n8n에서는 클라우드 버전 무료 플랜으로는 매우 간단한 작업도 반복적으로 실행해두기 어려워져 사실상 클라우드 버전 무료 티어는 사실상 간단한 튜토리얼만을 진행할 수 있는 정도밖에 허용되지 않는다고 볼 수 있다.
예를 들어 "노션에 특정 항목 추가 -> 캘린더에 자동 등록"과 같은 매우 간단한 자동화를 실행한다고 치면, make.com은 2개 노드, n8n은 4개 노드를 사용한다. [3] 따라서 1번 실행하면 make.com은 2ops, n8n은 4ops를 소모하게 된다. 또한 트리거를 사용하지 않고 5분에 한 번 체크하게 만들 경우에는 전혀 사용하지 않고 감시만 시켜둬도 단지 기능 유지를 위해 한 달도 되지 않아 1,000ops를 모두 소모하게 된다.
2.2. 커뮤니티 버전
소스 코드가 공개된 n8n을 사용자가 직접 자신의 서버(리눅스가 설치된 서버 또는 PC, NAS, 라즈베리파이 등)에 설치, 즉 셀프 호스팅하여 사용하는 방식이다. Docker를 이용한 설치가 가장 보편적이고 권장된다.2.2.1. 설치(셀프 호스팅) 방법
#!if (문단 == null) == (앵커 == null)
를#!if 문단 != null & 앵커 == null
의 [[n8n/셀프 호스팅 방법#s-|]]번 문단을#!if 문단 == null & 앵커 != null
{{{#!if 문서명 = 문서명 != null ? 문서명 : calleeTitle
의 [[n8n/셀프 호스팅 방법#|]] 부분을}}} 참고하십시오.리눅스 OS를 사용할 경우 Docker 설치 후 공식 n8n이미지를 사용해 컨테이너를 구동하면된다.
윈도우 OS는 Docker Desktop을 설치해 컨테이너를 실행할 수 있다.
Docker Compose 예시 (
{{{
services:compose.yml){{{
n8n:
}}}image: n8nio/n8n
restart: always
ports:
restart: always
ports:
- "127.0.0.1:5678:5678"
environment:- N8N_HOST=${SUBDOMAIN}.${DOMAIN_NAME}
- N8N_PROTOCOL=https
- NODE_ENV=production
- WEBHOOK_URL=https://${SUBDOMAIN}.${DOMAIN_NAME}/
- GENERIC_TIMEZONE=${GENERIC_TIMEZONE}
volumes:- N8N_PROTOCOL=https
- NODE_ENV=production
- WEBHOOK_URL=https://${SUBDOMAIN}.${DOMAIN_NAME}/
- GENERIC_TIMEZONE=${GENERIC_TIMEZONE}
- "~/.n8n:/home/node/.n8n"
위 예시처럼 compose.yml 파일을 작성하고 터미널에서 docker compose up -d 명령어 한 줄이면 설치가 끝난다. 물론 세부적인 설정(데이터베이스, 큐 모드 등)은 공식 문서를 참고해야 한다.
[1] n8n 공식 블로그 발음 가이드의 약자라는 설이 유력하다.[2] 서버 컴퓨터, 개인의 경우 N100과 같은 CPU 달고 proxmox와 같은 리눅스 설치해 놓은 미니PC[3] Make.com은 ops로 치지 않는 필터가 있는 반면, n8n은 IF 노드로 이를 처리한다