n8n 사용법: 설치, Docker 셀프호스팅, 첫 AI 워크플로 만들기
처음이면 n8n Cloud를 권합니다. 셀프호스트는 선택이고, 공식 Docker Compose 문서는 Assistant 샌드박스를 포함한 고급 설치입니다.

n8n은 트리거·처리·출력 노드를 선으로 이어 업무를 자동화하는 워크플로 도구입니다. Zapier·Make와 같은 계열이지만 직접 설치할 수 있습니다. 공식 선택 가이드는 처음이면 n8n Cloud를 권합니다. 설치가 없고, 서버를 직접 다루지 않아도 됩니다.
이 글은 Cloud로 첫 워크플로를 만들고, 셀프호스팅은 선택지로 둡니다. Assistant용 샌드박스 스택은 고급 옵션입니다.
n8n이란
화면에서 노드를 연결하면 앞 노드의 결과가 뒤로 흐릅니다. HTTP 요청 노드로 없는 서비스도 붙일 수 있고, 코드 노드에서 JavaScript나 Python을 쓸 수 있습니다. AI 노드는 API 키를 자격 증명으로 저장한 뒤 사용합니다. 키 값은 글이나 저장소에 올리지 마십시오.
셀프호스트 Community 에디션은 공식 가이드가 “거의 전체 기능이 무료”라고 적습니다. n8n을 다시 팔거나 유료 기능(SSO 등)을 쓰려면 플랜이 달라집니다. 라이선스·가격의 확정본은 n8n 요금입니다.
Cloud vs 셀프호스팅
| 항목 | n8n Cloud | 셀프호스팅 |
|---|---|---|
| 시작 | 가입 후 바로. 무료 체험 | 설치·서버 필요 |
| 유지보수 | n8n이 함 | 직접 |
| 데이터 위치 | n8n 인프라 | 내 서버 |
| 비용 | 유료 플랜. 체험은 확인일 기준 14일 Pro 기능 | Community는 소프트웨어 무료, 서버비는 별도 |
| 추천 | 기술 부담 없이 시작 | 인프라를 직접 다루고, 커스텀이 필요할 때 |
공식 첫 워크플로 문서도 Cloud를 기준으로 하고, 로컬이 필요하면 원라인 설치를 안내합니다.
첫 워크플로는 Cloud에서
첫 워크플로는 Schedule → NASA → If → PostBin 예입니다. 같은 습관으로 “웹훅으로 글을 받아 AI가 요약하게” 만들 수 있습니다. 아래는 예시 순서이지, 특정 고객 환경에서 검증한 기록이 아닙니다.
- Cloud에 가입하거나 로컬 인스턴스를 엽니다.
- 새 워크플로에서 Webhook 노드를 추가합니다. Method는 POST, Path는
summarize처럼 짧게. - “Listen for test event”를 누른 뒤, 화면에 나온 테스트 URL을
TEST_WEBHOOK_URL에 넣고 요청을 보냅니다.
# TEST_WEBHOOK_URL 자리에는 n8n이 보여 준 Listen URL을 그대로 넣습니다.
curl -X POST "$TEST_WEBHOOK_URL" \
-H "Content-Type: application/json" \
-d '{"text":"목요일 랜딩 초안 리뷰. 가격은 공식 페이지를 다시 연 뒤에 쓴다."}'
Cloud의 테스트 URL은 인스턴스마다 다릅니다. 로컬 원라인 설치를 쓰는 경우에만 http://localhost:5678/... 형태가 됩니다.
- AI 노드(또는 HTTP로 Claude API)를 붙입니다. 자격 증명은 n8n Credentials에만 저장합니다.
- 프롬프트는 표현식 모드로 앞 노드 데이터를 넣습니다. 필드 이름은 실행 결과 창에서 확인합니다.
$json.body.text가 비면 키가 다른 것입니다. - 출력은 Slack 대신 처음에는 화면에만 두거나 PostBin 같은 시험용 수신처를 씁니다. 실제 슬랙·메일 발송은 사람이 한 번 확인한 뒤에 켭니다.
- 활성화하면 테스트 경로(
webhook-test)가 운영 경로(webhook)로 바뀝니다.
샘플 입력·기대 요약은 n8n-webhook-summary.sample.json입니다. 허구입니다.
셀프호스팅은 선택
서버를 다루지 않으면 이 절은 건너뛰어도 됩니다.
로컬이 필요하면 공식 첫 워크플로가 안내하는 원라인 curl -fsSL https://get.n8n.io | sh와 one-line setup을 쓰십시오.
서버에 직접 올릴 때의 현재 문서는 Install using Docker Compose입니다. 이 가이드는 n8n Assistant 샌드박스(sandbox-api, privileged Docker-in-Docker runner 등)를 포함하며 Docker Compose v2, RAM 4GB, 2 vCPU를 요구합니다. Windows는 WSL을 쓰고 프로젝트 폴더는 /mnt/c/...가 아니라 WSL 파일시스템에 두라고 합니다. .env의 change-me-... 값은 자리 표시이므로 그대로 쓰지 마십시오.
웹훅 하나 실습에는 Cloud 또는 원라인 로컬이면 충분합니다. Assistant 샌드박스 Compose는 코드 실행 샌드박스가 필요할 때 공식 문서를 따라 올립니다.
운영 인스턴스는 공식 문서가 전문가용이라고 분명히 합니다. 실수가 데이터 손실·보안 문제로 이어질 수 있습니다.
자주 막히는 지점
| 증상 | 원인 | 해결 |
|---|---|---|
| 외부에서 웹훅이 안 됨 | 공개 URL 미설정 또는 방화벽 | Cloud URL 또는 WEBHOOK_URL, 포트 확인 |
| 테스트만 되고 활성화 후 실패 | webhook-test 주소를 그대로 씀 | 활성화 후 /webhook/ |
| 표현식이 글자 그대로 | Fixed 모드 | Expression으로 전환 |
$json.text가 비어 있음 | 앞 노드 키 이름이 다름 | 결과 창에서 실제 키 확인 |
| 시간이 어긋남 | 타임존 | Cloud 설정 또는 GENERIC_TIMEZONE / TZ |
가장 흔한 것은 표현식입니다. 노드를 실행할 때마다 오른쪽 결과 창을 봅니다.
자주 묻는 질문
코딩을 몰라도 되나요?
기본 워크플로는 코딩 없이 됩니다. 표현식과 JSON 모양은 필요합니다. 코드 노드는 막힐 때 AI에게 초안을 받으면 됩니다.
Zapier 대신 써야 하나요?
실행 건수가 많거나, 데이터를 밖에 두기 싫거나, 코드로 빈틈을 메울 때입니다. 월 몇 건의 단순 연결이면 기존 도구가 더 편할 수 있습니다.
셀프호스트 사양은요?
Assistant 샌드박스 Compose는 공식 문서가 4GB/2vCPU를 적습니다. Cloud나 원라인 로컬 실습은 그 스택이 아닙니다.
다음 단계
- 자동화 사례
- 자동화 ROI 계산기 (추정치)
- 프롬프트 빌더
- 강의 안내는 홈과 수강료
