n8n: 누구나 쉽게 자동화를 구현하는 오픈소스 워크플로우 자동화 도구

n8n이란?

n8n은 오픈소스 기반의 워크플로우 자동화 도구로, 코드 작성 없이 다양한 서비스와 애플리케이션을 연결하여 자동화된 작업을 수행할 수 있도록 돕는 플랫폼입니다. 이를 통해 사용자는 반복적인 업무를 줄이고, 효율성을 극대화할 수 있습니다.

n8n은 노드(Node) 기반으로 동작하며, 드래그 앤 드롭 방식의 직관적인 UI를 제공하여 비개발자도 쉽게 자동화 흐름을 설계할 수 있습니다. 또한, 자체 호스팅이 가능하므로 데이터 프라이버시를 강화할 수 있으며, 다양한 서드파티 API와의 원활한 연동을 지원합니다.

n8n으로 할 수 있는 일

n8n은 여러 가지 이상적으로 업무에서 반복해야 하는 프로세스를 자동화하는 데 활용할 수 있습니다. 대표적인 활용 사례는 다음과 같습니다.

1. 데이터 연동 및 변환

  • Google Sheets, Airtable, Notion과 같은 데이터베이스를 연동하여 정보를 자동 업데이트
  • JSON, XML, CSV 형식 변환 및 정제 작업
  • API를 활용한 데이터 수집 및 가공

2. 마케팅 및 고객 관리 자동화

  • 이메일 마케팅: 신규 가입자에게 자동으로 이메일 전송 (Mailchimp, SendGrid 등과 연동)
  • CRM 자동화: HubSpot, Salesforce 등의 CRM과 연동하여 고객 데이터를 동기화
  • 소셜미디어 자동화: Instagram, Twitter, Facebook에 게시물 자동 업로드

3. 프로젝트 및 업무 관리

  • Trello, Asana, ClickUp과 같은 프로젝트 관리 도구와 연동하여 자동화된 태스크 생성
  • Slack, Microsoft Teams 알림 자동화
  • Jira 티켓 자동 생성 및 업데이트

4. IT 및 DevOps 자동화

  • GitHub, GitLab 등의 리포지토리 변경 사항 감지 및 알림
  • AWS, Google Cloud, Azure 클라우드 리소스 관리 자동화
  • CI/CD 파이프라인 자동화 (Jenkins, CircleCI 연동)

자, 그럼 어떻게 설치하고 실제 제가 어떻게 활용하고 있는지 살펴봅시다.

version: "3.7"
services:
postgres:
image: postgres:13
restart: always
environment:
- POSTGRES_USER=n8n
- POSTGRES_PASSWORD=패스워드작성
- POSTGRES_DB=n8n
volumes:
- postgres_data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U n8n"]
interval: 10s
timeout: 5s
retries: 5
n8n:
image: n8nio/n8n:latest
restart: always
ports:
- "5678:5678"
environment:
- N8N_BASIC_AUTH_ACTIVE=true
- N8N_BASIC_AUTH_USER=admin
- N8N_BASIC_AUTH_PASSWORD=패스워드작성
- N8N_HOST=n8.123qwe.co.kr
- WEBHOOK_URL=https://사용할 도메인 혹은 ip 기입
- N8N_PORT=5678
- N8N_PROTOCOL=https
- N8N_ENCRYPTION_KEY=키값 작성
- N8N_SECURE_COOKIE=false
- N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true
# PostgreSQL 연결 설정
- DB_TYPE=postgresdb
- DB_POSTGRESDB_HOST=postgres
- DB_POSTGRESDB_PORT=5432
- DB_POSTGRESDB_USER=n8n
- DB_POSTGRESDB_PASSWORD=패스워드작성
- DB_POSTGRESDB_DATABASE=n8n
volumes:
- n8n_data:/home/node/.n8n
depends_on:
postgres:
condition: service_healthy
qdrant:
image: qdrant/qdrant
container_name: qdrant
restart: always
environment:
- QDRANT_API_KEY=키값작성
ports:

저는 위와 같은 형태로 docker-compose.yml 파일을 만들어서 도커로 올렸습니다.

QDRANT_API_KEY키의 경우 벡터 db를 사용하기 위해 별도로 올렸으니, 필요 없으면 안써도 되지만, 워크 플로우를 만들다 보면 의외로 쓸일이 많아서 이 참에 하나 같이 올려주시면 도움이 됩니다.

이건 실제로 제가 가장 많이 사용하는 워크플로우인데요. 설명을 하자면

텔레그램 그룹방에서 봇을 만들어서 “봇 + 명령어” 형태로 동작시키는 워크플로우입니다.

텔레그램 봇파더에게 봇을 하나 만든뒤에 그룹방에 해당 봇을 초대하여 메시지 접근을 수락해 준 뒤에 다음과 같은 명령을 할 수 있어요

봇 날씨

이런식으로 AI 챗봇을 그룹방에 불러 놓고 여러명이서 편하게 사용 하는거죠.

또 다른 예로는,

이러한 형태로 만든 예제가 있습니다.

이 n8n 워크플로우는 Notion 데이터베이스를 검색하고, 결과를 기반으로 AI 에이전트를 활용하여 응답을 생성하는 자동화 프로세스입니다. 주요 기능은 다음과 같습니다:

  1. Notion 데이터베이스 검색
    • 사용자가 Notion 데이터베이스 URL을 입력하면, 해당 데이터베이스의 정보를 가져옵니다.
    • 검색을 통해 관련 정보를 추출하고 정리합니다.
  2. 데이터 정제 및 변환
    • 데이터베이스의 속성을 표준화하고, 필요한 JSON 데이터를 추출하여 처리합니다.
    • 특정 속성을 간소화하여 검색을 최적화합니다.
  3. AI 기반 응답 생성
    • OpenAI GPT 모델을 활용하여 검색된 데이터를 기반으로 적절한 응답을 생성합니다.
    • n8n 에이전트를 통해 검색 질의에 대해 구조화된 답변을 제공합니다.
  4. 자동 JSON 워크플로우 생성 및 검증
    • AI 모델이 Notion 데이터베이스를 기반으로 새로운 워크플로우 JSON을 생성합니다.
    • 생성된 JSON이 올바른 형식인지 검증하고, 오류가 있으면 자동으로 수정합니다.
  5. 채팅 인터페이스와 연동
    • 사용자의 입력을 기반으로 워크플로우를 실행하고, Slack 또는 Telegram 같은 채팅 플랫폼으로 응답을 반환할 수 있도록 설계됨.

즉, 이 워크플로우는 Notion 데이터베이스의 정보를 검색하고 AI를 활용하여 사용자 맞춤형 응답을 자동으로 생성하는 기능을 수행합니다. 🚀

마지막으로 하나 더 살펴보자면,

이 n8n 워크플로우는 이메일 자동 처리 및 응답 생성을 위한 자동화 프로세스입니다. 주요 기능은 다음과 같습니다:

1. 이메일 수신 및 처리

  • IMAP 트리거를 사용하여 특정 이메일 계정에서 수신된 메일을 감지합니다.
  • 이메일 본문을 Markdown 형식으로 변환하여 자연어 처리에 적합하게 변환합니다.
  • 요약 체인을 통해 이메일 내용을 간결하게 요약합니다.

2. AI 기반 이메일 응답 생성

  • 요약된 이메일 내용을 기반으로 AI (GPT-4o-mini) 모델이 적절한 응답을 자동으로 생성합니다.
  • 생성된 이메일이 비즈니스 용도로 적절한지 텍스트 분류기를 사용하여 검토합니다.
  • 필요 시, 이메일을 재작성하는 리뷰 프로세스를 거칩니다.

3. 이메일 전송 및 승인

  • 생성된 이메일을 Gmail API를 통해 자동으로 전송합니다.
  • 이메일을 전송하기 전에 승인 요청을 수행하여 사람이 검토 후 최종 전송할 수 있도록 합니다.

4. 벡터 데이터베이스 활용 (Qdrant)

  • 비즈니스 관련 정보를 검색하고 활용하기 위해 Qdrant 벡터 데이터베이스를 사용합니다.
  • OpenAI 임베딩 모델을 활용하여 이메일 내용과 관련된 정보를 추출할 수 있습니다.

결론

이 워크플로우는 비즈니스 이메일을 자동으로 요약하고, AI 기반으로 응답을 생성한 후, 승인 또는 자동 전송하는 자동화 프로세스입니다. 이를 통해 이메일 처리 시간을 단축하고, 보다 효율적인 고객 응대가 가능합니다. 🚀

저도 처음에 n8n을 서버에 설치하고 나서, 이걸로 대체 무엇을 할 수 있을까 막막했어요, 유툽도 많이 찾아 봤지만, 별 도움이 안되더라구요.

하지만, https://n8n.io/workflows/?utm_source=n8n_app&utm_medium=template_library&utm_instance=https%3A%2F%2Fn8.123qwe.co.kr%2F&utm_n8n_version=1.78.1&utm_awc=5&utm_user_role=business-owner 이곳에 들어가보면

이미 많은 사람들이 자신들의 워크플로우를 만들어서 공유를 하고 있습니다.

관심있는 워크플로우 몇개 설치해 보면서 감을 잡으시면 큰 도움이 되는데,

초보라면 몇가지 개념이 많이 혼동스럽습니다. 크리덴셜? 웹훅? 노드id 등등..
이러한 개념을 알고 진행하시면 큰 도움이 됩니다.

n8n의 핵심 개념 정리

  1. 크리덴셜 (Credential)
    • 외부 서비스(API, 데이터베이스, 이메일 등)와 연결할 때 필요한 인증 정보입니다.
    • 예: API 키, OAuth 토큰, 로그인 정보 등.
    • 설정 후 여러 **노드(Node)**에서 재사용 가능.
  2. 노드 (Node)
    • n8n에서 **각각의 작업(작업 단위)**을 의미합니다.
    • 데이터 처리, API 호출, 파일 관리, 조건 분기 등의 역할을 수행.
    • 예: 이메일 전송 노드, HTTP 요청 노드, 데이터베이스 쿼리 노드 등.
  3. 워크플로우 (Workflow)
    • 여러 개의 노드를 연결하여 자동화된 작업 흐름을 구성한 것입니다.
    • 시작 노드(Trigger) → 데이터 처리 노드 → 결과 출력 노드 등의 구조.
    • 예: 새 이메일 수신 → 내용 요약 → Slack 알림 전송.
  4. 웹훅 (Webhook)
    • 외부 서비스에서 특정 이벤트가 발생할 때 n8n 워크플로우를 실행하는 트리거입니다.
    • HTTP 요청을 받아 자동으로 실행됨.
    • 예: 신규 고객 가입 시 고객 정보를 DB에 저장하는 워크플로우 실행.
  5. 트리거 (Trigger)
    • 워크플로우를 자동으로 실행하는 시작점 역할을 하는 노드.
    • 웹훅, 크론잡(스케줄러), IMAP 이메일 수신 등 다양한 방식이 있음.
    • 예: 매일 아침 9시에 데이터를 가져오는 일정 기반 트리거.

그리고 진짜 꿀팁은 바로 이건데요….
타인의 워크플로우를 넣건, 내가 만들었건, 각 노드에서 계속 오류 나다 보면 금방 포기하고 싶어지거든요

그때는 워크플로우 화면을 한번 클릭하고 컨트롤+c를 누르면 json 코드 형태로 워크플로우가 복사가 되어 클립보드에 저장이 됩니다.

이렇게 저장된 내용을 챗gpt나 클로드 그리고 요즘 무료로 많이 사용이 가능한 구글 ai스튜디오에 가서 붙여 넣고 오류에 대해 해결해 달라고 하거나 오류 원인을 물어 보면 하나 하나 해결해 나가실 수 있습니다.

홈 서버 구축을 위한 최적의 선택, Proxmox VE

가정에서 홈 서버나 홈랩을 구축하려고 할 때, 많은 분들이 처음 고민하는 것이 가상화 플랫폼의 선택일 것입니다. VMware vSphere는 업계 표준이지만 라이선스 비용이 만만치 않죠. 오늘은 무료로 사용할 수 있으면서도 엔터프라이즈급 기능을 제공하는 Proxmox VE를 소개하고자 합니다.

비용 부담 없는 시작

  • VMware vSphere의 경우 가정에서 테스트용으로 사용하더라도 라이선스 비용이 발생
  • Proxmox VE는 완전한 오픈소스로 무료로 사용 가능
  • 기업용 서브스크립션이 있지만, 홈랩 용도라면 커뮤니티 버전으로 충분

다운로드 : https://www.proxmox.com/en/downloads

(N100 서버에 실제 구동하고 있는 다양한 서비스들)

놀라운 기본 기능들

Proxmox VE는 생각보다 훨씬 더 많은 기능들을 기본으로 제공합니다:

1. 통합된 스토리지 관리

  • ZFS 기본 지원으로 데이터 안정성 보장
  • Ceph 통합으로 분산 스토리지 구성 가능
  • NFS, iSCSI, SMB 등 다양한 스토리지 프로토콜 지원

2. 백업 및 복구

  • 내장된 백업 기능으로 VM/CT 전체 백업
  • 증분 백업 지원으로 효율적인 백업 관리
  • 스냅샷 기능으로 빠른 복구 지점 생성

3. 고가용성(HA) 기능

  • 무료 버전에서도 클러스터링 지원
  • 노드 간 실시간 마이그레이션
  • 자동 페일오버 구성 가능

4. 컨테이너와 VM 통합 관리

  • KVM 가상머신과 LXC 컨테이너 동시 지원
  • 웹 인터페이스에서 통합 관리
  • 템플릿을 통한 빠른 배포

5. 네트워크 가상화

  • 내장된 방화벽 기능
  • VLAN, 본딩 등 고급 네트워크 기능
  • SDN(Software Defined Networking) 지원

사용자 친화적인 관리

  • 직관적인 웹 인터페이스 제공
  • CLI를 통한 고급 관리 가능
  • REST API로 자동화 구현 용이
  • 상세한 리소스 모니터링 제공

활발한 커뮤니티

  • 광범위한 문서화
  • 활발한 포럼 활동
  • 지속적인 업데이트와 버그 수정
  • 다양한 커뮤니티 템플릿 제공

그렇기에,

Proxmox VE는 단순히 “무료 대안”이 아닌, 엔터프라이즈급 기능을 제공하는 완성도 높은 가상화 플랫폼입니다. VMware의 대안을 찾고 계신다면, 특히 홈랩 환경에서는 Proxmox VE가 최적의 선택이 될 수 있습니다. 무료로 제공되는 기능만으로도 대부분의 홈랩 시나리오를 충분히 커버할 수 있으며, 고급 기능들도 별도의 비용 없이 사용할 수 있다는 점이 큰 장점입니다.

추가로, Proxmox VE는 계속해서 발전하고 있으며, 매 릴리스마다 새로운 기능들이 추가되고 있습니다. 홈랩을 시작하시는 분들께 자신 있게 추천드릴 수 있는 플랫폼입니다.

옵시디언에 로컬 LLM(LM Studio 0.35 최신 버전 기준)연결

LM스튜디오를 처음 실행하면 왼쪽 하단에 디벨로퍼 혹은 파워 유저를 선택한다.

(그래야 디벨로퍼 메뉴가 나옴)

디벨로퍼 메뉴에 들어 오면 우측에
The local server is reachable at this address
요기에 표시되는 사설 ip를 복사한다.
(물론 상단에 스타트 서버를 꼭 눌러 주도록)


옵시디언 -> 설정 -> 커뮤니티 플러그인 -> 탐색에 가서 copilot을 설치해주고 활성화 해준다.

코파일럿 설정으로 와서 Add Custom Model을 선택하고 (*이후 부터 중요함)

모델네임(이미지와 같이 당신이 lm스튜디오에 로드한 모델이름을 입력해 준다)을 잘 작성해주고

프로바이더는 lmstudio를 선택하고

가장 중요한 베이스 url을 잘 입력해 줘야 한다.

lm스튜디오 디벨로퍼 메뉴에 있다. 참고 이미지 참조.

마지막으로 코파일럿에서 애드 모델을 해 주면 윗윗 짤 처럼 모델이 추가 되었을것이다.

CORS항목에 꼭 체크를 잊지 말것! (이거 체크 안하면 서로 통신이 안됨)

로컬 설치된 옵시디언에 웹훅 적용하기.

  1. 옵시디언 실행
  2. 왼쪽 하단의 설정(톱니바퀴) 진입
  3. 커뮤니티 플러그인 메뉴 선택
  4. 커뮤니티 플러그인 탐색 버튼 클릭
  5. 플러그인 검색 항목에서 “webhook” 검색

설치하고 활성화

https://obsidian-buffer.web.app 사이트로 이동 하여

토큰 발행 하고 하단에 webhook url을 받으면 끝!

마지막 테스트로 윈도우에서 터미너이나 쉘 접속 하여

Invoke-WebRequest -Uri “https://us-central1-obsidian-buffer.cloudfunctions.net/webhook/499b114f389f8c050e560acc6e4485ec419b324ab54251cc?path=test/spotify.md” -Method POST
-Headers @{ “Content-Type” = “text/plain” } `
-Body “- This is a test note from the webhook”

실행한 뒤 노트가 생성되었는지 확인 하면 끝.