N8N 설치 가이드와 초보자 환경 설정 방법

N8N 설치 가이드와 초보자 환경 설정 방법

N8N은 작업 자동화를 위한 강력한 워크플로우 자동화 도구로, 다양한 서비스와 애플리케이션을 연결하여 복잡한 자동화 작업을 쉽게 구현할 수 있게 해줍니다. 이 글에서는 N8N의 설치 방법부터 초기 설정까지 상세히 알아보겠습니다. Docker와 NPM을 통한 설치 방법, 필요한 시스템 요구사항, 기본 설정 방법 등을 단계별로 설명하여 N8N을 빠르게 시작할 수 있도록 안내합니다.

목차

N8N 소개

N8N(pronounced as n-eight-n)은 오픈소스 워크플로우 자동화 도구로, 다양한 애플리케이션과 서비스를 연결하여 복잡한 자동화 작업을 노드 기반 인터페이스로 쉽게 구현할 수 있습니다. Zapier나 Make(구 Integromat)와 유사하지만, 자체 호스팅이 가능하고 확장성이 뛰어납니다.

N8N의 주요 특징:

  • 직관적인 노드 기반 워크플로우 에디터
  • 200개 이상의 내장 통합 서비스
  • 자체 호스팅 가능(데이터 보안 강화)
  • 커스텀 노드 개발 지원
  • 서브워크플로우 지원

A visual representation of workflow automation showing various applications connected seamlessly.

최신 버전의 기능

N8N은 지속적으로 개선되고 있으며, 최신 버전에서는 다음과 같은 기능이 추가되었습니다:

  • 향상된 에러 처리 및 디버깅
  • 워크플로우 버전 관리
  • API 응답 캐싱
  • 워크플로우 공유 및 내보내기 기능
  • 향상된 보안 기능

Icons representing the features of N8N's latest version.

설치 전 준비사항

N8N을 설치하기 전에 시스템이 다음 요구사항을 충족하는지 확인하세요.

시스템 요구사항

  • 운영체제: Linux, macOS, Windows
  • 메모리: 최소 1GB RAM (권장 2GB 이상)
  • 저장공간: 최소 1GB 여유 공간
  • 네트워크: 인터넷 연결 필수

A checklist of system requirements for N8N installation.

필요한 소프트웨어

설치 방법에 따라 아래 소프트웨어가 필요합니다:

Docker 방식 설치 시:

  • Docker Engine 19.03.0 이상
  • Docker Compose (선택사항)

NPM 방식 설치 시:

  • Node.js 16 이상 (18 LTS 권장)
  • npm 7 이상

Visual representation of the necessary software for N8N installation.

설치 방법 비교

N8N을 설치하는 방법은 여러 가지가 있습니다. 가장 일반적인 두 가지 방법과 각각의 장단점을 비교해 보겠습니다.

Docker 설치:

  • 장점: 격리된 환경, 의존성 충돌 없음, 배포 용이
  • 단점: Docker에 대한 기본 지식 필요

NPM 설치:

  • 장점: 직접 설치, 사용자 정의 용이
  • 단점: 시스템 의존성 문제 발생 가능

A comparative infographic of N8N installation methods with pros and cons.

Docker를 이용한 설치

Docker를 사용하면 N8N을 빠르고 간편하게 설치할 수 있습니다. 이 방법은 의존성 문제를 최소화하고 여러 환경에서 일관된 설치를 보장합니다.

기본 Docker 설치

다음 명령어로 N8N 도커 이미지를 설치하고 실행할 수 있습니다:

docker run -it --rm \
  --name n8n \
  -p 5678:5678 \
  -v ~/.n8n:/home/node/.n8n \
  n8nio/n8n

이 명령은 다음을 수행합니다:

  • N8N 컨테이너를 생성하고 실행
  • 호스트의 5678 포트를 컨테이너의 5678 포트에 연결
  • 로컬 ~/.n8n 디렉토리를 컨테이너의 데이터 디렉토리에 마운트

Step-by-step guide for installing N8N with Docker.

영구 데이터 저장을 위한 볼륨 설정

N8N의 데이터를 영구적으로 저장하기 위해 Docker 볼륨을 생성할 수 있습니다:

# 볼륨 생성
docker volume create n8n_data

# 볼륨을 사용하여 N8N 실행
docker run -it \
  --name n8n \
  -p 5678:5678 \
  -v n8n_data:/home/node/.n8n \
  n8nio/n8n

Illustration of Docker volume creation for N8N data persistence.

환경 변수 설정

다양한 환경 변수를 사용하여 N8N의 동작을 사용자 정의할 수 있습니다:

docker run -it \
  --name n8n \
  -p 5678:5678 \
  -e N8N_BASIC_AUTH_ACTIVE=true \
  -e N8N_BASIC_AUTH_USER=username \
  -e N8N_BASIC_AUTH_PASSWORD=password \
  -v n8n_data:/home/node/.n8n \
  n8nio/n8n

위 예시는 기본 인증을 활성화하고 사용자 이름과 비밀번호를 설정합니다.

Setup process for N8N Docker container.

Docker Compose 사용

더 복잡한 설정을 위해 Docker Compose를 사용할 수 있습니다. 다음은 기본적인 docker-compose.yml 파일 예시입니다:

version: '3'

services:
  n8n:
    image: n8nio/n8n
    restart: always
    ports:
      - "5678:5678"
    environment:
      - N8N_BASIC_AUTH_ACTIVE=true
      - N8N_BASIC_AUTH_USER=username
      - N8N_BASIC_AUTH_PASSWORD=password
    volumes:
      - n8n_data:/home/node/.n8n

volumes:
  n8n_data:
    external: true

이 파일을 생성한 후 다음 명령어로 N8N을 시작할 수 있습니다:

docker-compose up -d

Visual representation of a Docker Compose configuration for N8N.

NPM을 이용한 설치

Node.js와 npm을 사용하여 N8N을 설치하는 방법을 알아보겠습니다.

Node.js 설치

먼저 시스템에 Node.js가 설치되어 있어야 합니다. 공식 웹사이트에서 다운로드하거나 패키지 관리자를 통해 설치할 수 있습니다.

Linux(Ubuntu/Debian):

curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs

macOS(Homebrew):

brew install node@18

Windows:

Node.js 공식 웹사이트(https://nodejs.org)에서 설치 프로그램을 다운로드하여 실행하세요.

Installation process for Node.js on various operating systems.

NPM을 통한 N8N 설치

Node.js가 설치되면 npm을 사용하여 N8N을 설치할 수 있습니다. 글로벌 설치와 로컬 설치 두 가지 방법이 있습니다.

글로벌 설치:

npm install -g n8n

로컬 프로젝트 설치:

mkdir n8n-project
cd n8n-project
npm init -y
npm install n8n

Comparison between global and local installations of N8N.

npm 설치 특별 고려사항

일부 시스템에서는 추가 의존성이 필요할 수 있습니다. 특히 Linux 시스템에서 다음 패키지를 설치해야 할 수 있습니다:

# Ubuntu/Debian
sudo apt-get install -y build-essential python

Windows에서는 node-gyp 관련 오류가 발생할 수 있으므로 다음 도구가 필요합니다:

  • Visual Studio Build Tools
  • Python 2.7 또는 3.x

기본 설정

N8N을 설치한 후에는 몇 가지 기본 설정을 통해 보안과 성능을 최적화할 수 있습니다.

환경 변수 설정

N8N은 다양한 환경 변수를 통해 구성할 수 있습니다. 주요 설정 옵션은 다음과 같습니다:

  • N8N_PORT: N8N 웹 인터페이스 포트 (기본값: 5678)
  • N8N_PROTOCOL: 사용할 프로토콜 (http 또는 https)
  • N8N_HOST: 호스트 이름이나 IP 주소
  • N8N_BASIC_AUTH_ACTIVE: 기본 인증 활성화 여부 (true/false)
  • N8N_ENCRYPTION_KEY: 자격 증명 암호화를 위한 키
  • N8N_TIMEZONE: 워크플로우 실행 시간대

Infographic of primary settings for N8N after installation.

보안 구성

N8N의 보안을 강화하기 위한 중요 설정:

기본 인증 활성화:

export N8N_BASIC_AUTH_ACTIVE=true
export N8N_BASIC_AUTH_USER=admin
export N8N_BASIC_AUTH_PASSWORD=secure_password

암호화 키 설정:

export N8N_ENCRYPTION_KEY=your_secure_encryption_key

HTTPS 활성화:

export N8N_PROTOCOL=https
export N8N_SSL_KEY=/path/to/ssl/key.pem
export N8N_SSL_CERT=/path/to/ssl/cert.pem

Visual security enhancements for N8N setup.

데이터베이스 구성

기본적으로 N8N은 SQLite 데이터베이스를 사용하지만, 대규모 배포를 위해 PostgreSQL 또는 MySQL을 사용할 수 있습니다.

PostgreSQL 설정:

export DB_TYPE=postgresdb
export DB_POSTGRESDB_HOST=localhost
export DB_POSTGRESDB_PORT=5432
export DB_POSTGRESDB_DATABASE=n8n
export DB_POSTGRESDB_USER=postgres
export DB_POSTGRESDB_PASSWORD=password

MySQL 설정:

export DB_TYPE=mysqldb
export DB_MYSQLDB_HOST=localhost
export DB_MYSQLDB_PORT=3306
export DB_MYSQLDB_DATABASE=n8n
export DB_MYSQLDB_USER=root
export DB_MYSQLDB_PASSWORD=password

N8N 시작하기

이제 N8N을 시작하고 웹 인터페이스에 접속하는 방법을 알아보겠습니다.

N8N 서버 실행

npm으로 설치한 경우:

# 글로벌 설치 시
n8n start

# 로컬 설치 시
npx n8n

Docker로 설치한 경우:

docker start n8n

Docker Compose로 설치한 경우:

docker-compose up -d

Guide to start N8N server and access the web interface.

웹 인터페이스 접속

N8N 서버가 시작된 후, 웹 브라우저에서 다음 URL로 접속할 수 있습니다:

http://localhost:5678

원격 서버에 설치한 경우 서버의 IP 주소나 도메인 이름을 사용하세요:

http://your-server-ip:5678

초기 설정 마법사

처음 N8N 웹 인터페이스에 접속하면 다음과 같은 설정 과정을 수행해야 합니다:

  1. 관리자 계정 생성
  2. 사용 환경 설정 (시간대, 언어 등)
  3. 필요한 노드 설치
  4. 첫 번째 워크플로우 생성

Overview of N8N's initial setup wizard.

문제 해결

N8N 설치 및 실행 중 발생할 수 있는 일반적인 문제와 해결책입니다.

일반적인 오류

포트 충돌 문제:

5678 포트가 이미 사용 중인 경우 다른 포트를 지정할 수 있습니다.

export N8N_PORT=5679
n8n start

데이터베이스 연결 문제:

데이터베이스 연결 정보가 올바른지 확인하고, 데이터베이스 서버가 실행 중인지 확인하세요.

메모리 부족 오류:

Node.js의 메모리 제한을 늘릴 수 있습니다.

export NODE_OPTIONS=--max_old_space_size=4096
n8n start

Troubleshooting guide for common N8N installation errors.

로그 확인

문제 해결을 위해 N8N 로그를 확인할 수 있습니다.

npm 설치:

n8n start --log-level=debug

Docker 설치:

docker logs n8n

백업 및 복원

워크플로우와 자격 증명을 백업하고 복원하는 방법:

백업:

n8n export:workflow --all --output=workflows-backup.json
n8n export:credentials --all --output=credentials-backup.json

복원:

n8n import:workflow --input=workflows-backup.json
n8n import:credentials --input=credentials-backup.json

자주 묻는 질문

Q: N8N은 무료로 사용할 수 있나요?

A: 네, N8N은 오픈소스이며 Fair-Code 라이선스로 제공됩니다. 자체 호스팅은 무료이지만, 클라우드 호스팅 서비스는 유료로 제공됩니다.

Q: N8N과 Zapier의 차이점은 무엇인가요?

A: N8N은 자체 호스팅이 가능하며 데이터가 외부로 유출되지 않습니다. 또한, 커스텀 노드 개발이 가능하고 워크플로우 실행에 대한 더 많은 제어가 가능합니다. Zapier는 클라우드 기반 서비스로 더 많은 통합을 제공하지만, 모든 데이터가 Zapier 서버를 통과합니다.

Q: N8N을 위한 최소 시스템 요구사항은 무엇인가요?

A: N8N은 비교적 가벼워서 1GB RAM의 소형 서버에서도 실행 가능합니다. 일반적으로 2GB RAM과 1GB 이상의 저장 공간을 권장합니다.

Q: N8N에서 커스텀 노드를 개발할 수 있나요?

A: 네, N8N은 TypeScript로 커스텀 노드를 개발할 수 있는 기능을 제공합니다. 자세한 내용은 공식 문서의 노드 개발 가이드를 참조하세요.

Q: N8N 워크플로우는 어떻게 트리거되나요?

A: N8N 워크플로우는 여러 방법으로 트리거될 수 있습니다. 웹훅(Webhook), 일정(Schedule), 외부 이벤트, 수동 실행 등의 트리거 방식을 지원합니다.

Q: N8N에서 사용자 인증을 구현할 수 있나요?

A: 네, 기본 인증(Basic Authentication)을 활성화하여 사용자 이름과 비밀번호로 액세스를 제한할 수 있습니다. 또한 환경 변수를 통해 더 복잡한 인증 메커니즘을 구성할 수 있습니다.

Q: N8N은 어떤 데이터베이스를 지원하나요?

A: N8N은 기본적으로 SQLite를 사용하지만, PostgreSQL과 MySQL/MariaDB도 지원합니다. 대규모 배포나 고가용성이 필요한 경우 PostgreSQL을 권장합니다.