k
korAI
가이드 전체
🧩자동화자동화 입문 시리즈 · 3/4 10분

③ n8n 실전 — 셀프호스팅으로 자유도 최대화

Docker 한 줄로 n8n 띄우고, AI 응답 + 웹훅 + DB 저장까지 하는 워크플로우 만들기.

n8n을 쓰는 이유

  • 오픈소스 — 코드 공개, fork 가능
  • 셀프호스팅 — 클라우드 비용 없이 내 서버에서 무제한 실행
  • 코드 노드 — 복잡한 변환은 JS로 바로
  • AI 노드 기본 제공 — OpenAI·Anthropic 연동 내장

단점: 초기 세팅이 Zapier보다 무거움.

1. Docker로 1분 만에 띄우기

docker run -d --restart unless-stopped \
  --name n8n \
  -p 5678:5678 \
  -v n8n_data:/home/node/.n8n \
  docker.n8n.io/n8nio/n8n

브라우저에서 http://localhost:5678 → 첫 계정 만들면 끝.

프로덕션에선 Docker Compose + Postgres + 도메인(HTTPS) 세팅을 권장합니다. 공식 가이드: docs.n8n.io/hosting.

2. 환경 변수

Claude / OpenAI 쓸 거면 컨테이너에 env로 키를 넣어두세요. 코드에 하드코딩 금지.

-e ANTHROPIC_API_KEY=sk-ant-xxx

3. 실전 워크플로우 — "문의 폼 → Claude 요약 → Slack + Google Sheets"

흐름

Webhook (폼 제출)
  → Anthropic (Claude로 요약)
  → Slack (팀 채널 알림)
  → Google Sheets (로그 기록)

단계

  1. Webhook 노드 추가

    • Method: POST
    • Path: /lead
    • 활성화 후 표시되는 URL을 폼 제출 endpoint로 사용
  2. Anthropic 노드 (Claude)

    • Model: claude-haiku-4-5 (비용 저렴)
    • Messages:
      다음 문의 내용을 3줄로 요약하고 우선순위(높음/보통/낮음)를 매겨줘.
      ---
      {{$json.body.message}}
      
  3. Slack 노드

    • Channel: #sales
    • Text:
      📩 {{$json.body.name}} / {{$json.body.company}}
      요약: {{$node["Anthropic"].json.content}}
      
  4. Google Sheets 노드

    • Append Row
    • 컬럼: timestamp | name | email | summary | priority
  5. Activate 버튼 → 워크플로우 실행 중 상태

4. 에러 핸들링 — 이게 Zapier와의 큰 차이

각 노드 우클릭 → "On Error" 설정:

  • Stop Workflow (기본)
  • Continue — 에러 무시하고 다음 노드로
  • Continue (Error Output) — 에러 브랜치로 분기

추천 패턴: 중요 노드는 Error Output → Slack #ops-alert 채널로 알림.

5. JS 코드 노드 — 필요하면 언제든

Code 노드로 입력을 마음대로 변환할 수 있습니다.

// 들어온 items에서 유효 이메일만 남기기
return items.filter(i => /.+@.+\..+/.test(i.json.email))

6. 운영 체크리스트

  • 백업: Postgres 덤프 주 1회 + /home/node/.n8n 볼륨 백업
  • 버전 업데이트: 컨테이너 이미지 월 1회 갱신, 큰 버전 업 전 로컬 테스트
  • 리소스 모니터링: 워크플로우 수 늘면 메모리 모니터 필수
  • 시크릿 로테이션: API 키 만료 전 교체 루틴화

다음 편(마지막): AI 자동화 패턴 — Claude·GPT를 자동화에 섞는 4가지 검증된 패턴.

최근 업데이트 2026-04-18다른 가이드 보기