n8n이란? 📍
오픈소스 기반의 워크플로우 자동화 도구
n8n is a workflow automation platform that gives technical teams the flexibility of code with the speed of no-code. With 400+ integrations, native AI capabilities, and a fair-code license, n8n lets you build powerful automations while maintaining full control over your data and deployments.
n8n.io - a powerful workflow automation tool
n8n is a free and source-available workflow automation tool
n8n.io
n8n Community
Join the n8n Community to connect with other users, learn from detailed discussions, and share your automation insights. Explore topics and get support.
community.n8n.io
GitHub - n8n-io/n8n: Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom cod
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations. - n8n-io/n8n
github.com
특징
- 오픈소스 & 자체 호스팅 지원 → 자체 서버에 설치 가능
- JavaScript를 통해 커스텀 로직 작성 가능 (Python은 Beta)
- 400개 넘는 서비스와 연결 가능
옵션
- n8n Cloud → 설치 없이 빠르게 사용 (SaaS)
- n8n Self-Hosted → 자체 서버에 설치 (무료)
- n8n Embed → SaaS 제품에 n8n을 통합 (API 기반)
서비스 비교
https://blog.n8n.io/make-vs-zapier/
Self-hosting 방법 📍
운영 환경에 따라 npm, Docker, Docker Compose, 서버에 직접 설치(Server Setup) 중 선택
서버에 직접 설치하는 경우 Docker Compose로 설치하거나, Kubernetes 환경에 설치할 수 있다.
n8n에서 AWS EKS, Azure AKS, GCP GKE를 공식적으로 지원한다.
- Bare Metal Kubernetes의 경우
- https://github.com/8gears/n8n-helm-chart
- https://github.com/n8n-io/n8n-hosting/tree/main/kubernetes
- Ingress, LB 등 추가적인 설정 필요!
Docker
docker volume create n8n_data
docker run -it --rm \
--name n8n \
-p 5678:5678 \
-v n8n_data:/home/node/.n8n \
docker.n8n.io/n8nio/n8n
Docker Compose
version: "3.8"
services:
postgres:
image: postgres:15
container_name: postgres
restart: always
ports:
- "5432:5432"
environment:
POSTGRES_DB: ${POSTGRES_DB}
POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
volumes:
- postgres_data:/var/lib/postgresql/data
n8n:
image: docker.n8n.io/n8nio/n8n
container_name: n8n
restart: always
ports:
- "5678:5678"
environment:
- DB_TYPE=postgresdb
- DB_POSTGRESDB_DATABASE=${POSTGRES_DB}
- DB_POSTGRESDB_HOST=postgres
- DB_POSTGRESDB_PORT=5432
- DB_POSTGRESDB_USER=${POSTGRES_USER}
- DB_POSTGRESDB_PASSWORD=${POSTGRES_PASSWORD}
depends_on:
- postgres
volumes:
- n8n_data:/home/node/.n8n
volumes:
postgres_data:
n8n_data:
Workflow 생성 방법 📍
구성
- Nodes: 워크플로우를 구성하는 블록
- Regular Node
- Trigger Node: 특정 이벤트/조건으로 작업 시작
- Connections: 노드 사이 연결
- Sticky notes: 워크플로우 설명하는 문서
생성 방법
- n8n 웹 UI 접속
- "New Workflow" 버튼 클릭
- Workflow 편집 화면에서 트리거 노드 추가 (예: Webhook, Schedule 등)
- 필요시, 사전에 credentials 설정
- 필요한 Regular 노드 추가 후 연결
- "Execute Workflow"를 눌러 실행 테스트
- 정상 작동 확인 후 "Activate" 버튼을 눌러 활성화
'DevOps' 카테고리의 다른 글
[ArgoCD] ArgoCD Image Updater 적용기 (0) | 2024.12.10 |
---|---|
[ArgoCD][트러블 슈팅] ArgoCD path 설정 (0) | 2024.12.05 |
[CI/CD] Github Actions와 ArgoCD를 활용한 CI/CD (0) | 2024.11.05 |
[Kafka] Docker로 Kafka 구축 (0) | 2024.08.19 |
[Kafka] Kafka란? (0) | 2024.08.19 |