본문 바로가기
AI & 자동화/n8n

n8n 시작하기

by 안드레날린 2026. 4. 29.

1. n8n 개요

n8n은 워크플로우 자동화 도구로 여러 앱이나 서비스를 연결해서 반복 작업을 자동으로 처리해주는 오픈소스 플랫폼이다.

 

2. n8n 설치

n8n은 셀프 호스팅(Self-hosting) 환경에서 Docker 사용을 권장 한다.

즉, 사전 준비 사항으로 Docker가 설치 되어 있어야 한다.

 

2.1 기본 설치 #1 (SQLite 기반)

n8n은 기본적으로 SQLite를 사용하여 자격 증명(credentials), 실행 이력(past executions), 워크 플로(workflows)를 저장한다.

docker volume create n8n_data

docker run -it --rm \
 --name n8n \
 -p 5678:5678 \
 -e GENERIC_TIMEZONE="Asia/Seoul" \
 -e TZ="Asia/Seoul" \
 -e N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true \
 -e N8N_RUNNERS_ENABLED=true \
 -v n8n_data:/home/node/.n8n \
 docker.n8n.io/n8nio/n8n

 

 - GENERIC_TIMEZONE : Schedule Trigger 노드와 같은 스케줄 기반 노드의 시간 설정 및 실행 기준에 영향을 준다.

 - TZ : date와 같은 스크립트 및 명령어의 출력 결과에 영향을 준다.

 - N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS : 설정 파일의 권한을 엄격하게 체크, 보안 강화 옵션 (default: true)

 - N8N_RUNNERS_ENABLED : 워크플로우 실행을 분리된 실행기(Runner)로 처리하도록 활성화하는 옵션 (default: false)

 

2.2 기본 설치 #2 (PostgreSQL 사용)

n8n은 PostgreSQL도 지원하며, 환경 변수를 통해 설정할 수 있다.

docker volume create n8n_data

docker run -it --rm \
 --name n8n \
 -p 5678:5678 \
 -e GENERIC_TIMEZONE="Asia/Seoul" \
 -e TZ="Asia/Seoul" \
 -e N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true \
 -e N8N_RUNNERS_ENABLED=true \
 -e DB_TYPE=postgresdb \
 -e DB_POSTGRESDB_DATABASE=<POSTGRES_DATABASE> \
 -e DB_POSTGRESDB_HOST=<POSTGRES_HOST> \
 -e DB_POSTGRESDB_PORT=<POSTGRES_PORT> \
 -e DB_POSTGRESDB_USER=<POSTGRES_USER> \
 -e DB_POSTGRESDB_SCHEMA=<POSTGRES_SCHEMA> \
 -e DB_POSTGRESDB_PASSWORD=<POSTGRES_PASSWORD> \
 -v n8n_data:/home/node/.n8n \
 docker.n8n.io/n8nio/n8n

 

2.3 기본 설치 #3 (Docker Compose 기반 설치)

# ======================================================================
# 🚀 Stack: n8n + open-webui
# 📄 File: docker-compose.yml
# 📍 Full Path: $HOME/ai-services/docker-compose.yml
# 🎯 Purpose: AI automation service stack
#
# 💾 Persistent Storage (Docker-managed volumes)
#
# n8n_data:
#   host location → /var/lib/docker/volumes/ai-services_n8n_data/_data
#   purpose       → n8n workflows, credentials, executions
#
# open_webui_data:
#   host location → /var/lib/docker/volumes/ai-services_open_webui_data/_data
#   purpose       → chat history, configs, user data
#
# 🚀 운영 명령어
#
# 서비스 실행 / 관리
# cd $HOME/ai-services
# docker compose up -d                 # 서비스 실행 (백그라운드)
# docker compose down                  # 서비스 중지
# docker compose restart               # 전체 재시작
#
# 상태 확인
# docker compose ps                    # 컨테이너 상태 확인
#
# 로그 확인
# docker compose logs -f               # 전체 로그 실시간
# docker compose logs -f n8n           # n8n 로그만 보기
# docker compose logs -f open-webui    # open-webui 로그만 보기
#
# ======================================================================

services:
  n8n:
    image: docker.n8n.io/n8nio/n8n
    container_name: n8n
    restart: unless-stopped

    ports:
      - "127.0.0.1:5678:5678"

    environment:
      - GENERIC_TIMEZONE=Asia/Seoul
      - TZ=Asia/Seoul
      - N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true
      - N8N_RUNNERS_ENABLED=true

      # 🔥 리버스 프록시 필수 설정
      - N8N_HOST=n8n.ahndrenaline.com
      - N8N_PROTOCOL=https
      
      # 🌐 외부 API(Webhook) 기준 주소
      # → Slack, GitHub, Stripe 등 외부 서비스가 n8n을 호출할 때 사용하는 기본 URL
      # → 모든 webhook URL 생성 기준이 됨
      - WEBHOOK_URL=https://n8n.ahndrenaline.com/

      # 🖥️ n8n 웹 UI(브라우저) 기준 주소
      # → 로그인, 워크플로우 편집기, 실행 결과 링크 등 사용자 화면에서 사용하는 기본 URL
      # → UI 내부에서 생성되는 모든 링크의 기준이 됨
      - N8N_EDITOR_BASE_URL=https://n8n.ahndrenaline.com/

      # 🔥 프록시 뒤에 있음을 명시 (중요)
      - N8N_PROXY_HOPS=1

    volumes:
      - n8n_data:/home/node/.n8n

  open-webui:
    image: ghcr.io/open-webui/open-webui:main
    container_name: open-webui
    restart: unless-stopped

    ports:
      - "127.0.0.1:3000:8080"

    environment:
      - CORS_ALLOW_ORIGIN=*

    volumes:
      - open_webui_data:/app/backend/data

volumes:
  n8n_data:
  open_webui_data:

 

3. 더 많은 항목에 대하여

n8n의 추가 환경 변수 및 상세 설명은 아래 문서를 참고하면 된다.

 

셀프 호스팅 관련 문서: https://docs.n8n.io/hosting/

 

n8n Hosting Documentation and Guides | n8n Docs

Self-hosting n8n This section provides guidance on setting up self-hosted n8n. All self-hosted installations use the same core product. Without a license key, n8n runs as the free Community edition. Adding a Business or Enterprise license key enables those

docs.n8n.io