개발/IT 기타

n8n Self-hosting 완벽 가이드 (2025)

TF포지 2025. 5. 31. 19:43

목표: 이 글에서는 오픈소스 자동화 도구인 n8n로컬 환경에서 Docker로 직접 설치(Self-hosted) 하는 방법을 가장 쉽게 설명합니다. 개발자, 마케터, 운영자 누구나 따라할 수 있도록 구성했습니다.


🔍 n8n이란?

n8n노코드(No-code) 기반의 워크플로우 자동화 플랫폼입니다. 다양한 API를 연결하거나 반복 작업을 자동화할 수 있으며, 아래와 같은 특징을 가지고 있습니다:

  • 시각적 인터페이스로 자동화 구성 가능
  • Slack, Gmail, Google Sheet, OpenAI 등 수백 개의 서비스 연동
  • JavaScript 코드 삽입 가능 (하이브리드 자동화도 가능)

👉 공식 사이트: https://n8n.io

 

n8n.io - a powerful workflow automation tool

n8n is a free and source-available workflow automation tool

n8n.io


✅ 설치 방법 비교

설치 방식특징

n8n 클라우드 공식 유료 서비스 (빠른 시작 가능)
n8n Self-hosted 직접 환경 구축 (무료, 유연성 높음)

이 포스트는 Self-hosted 방식, 그 중에서도 Docker를 활용한 로컬 설치 방법에 집중합니다.


🛠️ n8n Self-hosted 설치 준비

  • 운영체제: Windows 11
  • 설치 방식: Docker + Docker Compose

2025.05.31 - [개발/IT 기타] - Docker Desktop 설치 완벽 가이드 (2025)

 

Docker Desktop 설치 완벽 가이드 (2025)

🐳 Docker 설치 가이드🔹 Windows (WSL2 포함 환경 지원)Docker는 n8n을 Self-hosted 방식으로 설치하기 위해 반드시 필요한 도구입니다. 이 섹션에서는 Windows 환경에서 Docker Desktop을 설치하고 설정하는 방

tradeforge.tistory.com

1. Docker 설치

    • 최신 Docker Desktop 설치

 

2. Docker Volume 생성

docker volume create n8n_data

n8n의 설정 및 데이터가 저장될 볼륨입니다. 컨테이너 삭제 시에도 데이터는 유지됩니다.

3. n8n 이미지 다운로드 및 실행

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

n8n 셀프 호스팅 완료

📸 실행 화면 PowerShell 예시

PS C:\Users\user> docker run -it --rm --name n8n -p 5678:5678 -v n8n_data:/home/node/.n8n docker.n8n.io/n8nio/n8n
Permissions 0644 for n8n settings file /home/node/.n8n/config are too wide. This is ignored for now, but in the future n8n will attempt to change the permissions automatically. To automatically enforce correct permissions now set N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true (recommended), or turn this check off set N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=false.
User settings loaded from: /home/node/.n8n/config
Initializing n8n process
n8n ready on 0.0.0.0, port 5678

There is a deprecation related to your environment variables. Please take the recommended actions to update your configuration:
 - N8N_RUNNERS_ENABLED -> Running n8n without task runners is deprecated. Task runners will be turned on by default in a future version. Please set `N8N_RUNNERS_ENABLED=true` to enable task runners now and avoid potential issues in the future. Learn more: https://docs.n8n.io/hosting/configuration/task-runners/

[license SDK] Skipping renewal on init because renewal is not due yet or cert is not initialized
Version: 1.94.1

Editor is now accessible via:
http://localhost:5678

Press "o" to open in Browser.

🛠️ 번외 - 서버 호스팅 방법

서버 호스팅 시 아래와 같은 오류가 발생할 수 있습니다. (HTTPS/TLS 오류)

오류 예시

✅ 해결 방안

🔐 서버 내 ssl 키 생성

mkdir -p ~/n8n-certs
cd ~/n8n-certs

openssl req -x509 -nodes -days 365 \
  -newkey rsa:2048 \
  -keyout server.key \
  -out server.crt \
  -subj "/CN=localhost"

 

🔐 TLS 설정 및 HTTPS 세팅

docker run -it --rm \
  --name n8n \
  -p 5678:5678 \
  -v n8n_data:/home/node/.n8n \
  -v ~/n8n-certs:/files \
  -e N8N_SECURE_COOKIE=false \
  -e N8N_PROTOCOL=https \
  -e N8N_SSL_KEY=/files/server.key \
  -e N8N_SSL_CERT=/files/server.crt \
  docker.n8n.io/n8nio/n8n

/path/to/ssl/을 SSL 키/인증서 파일을 저장하는 실제 경로로 변경하여, HTTPS가 활성화되고 쿠키 문제가 해결됩니다.


📦 docker-compose로 환경 설정하기

n8n은 도메인, 타임존 등 다양한 설정을 docker-compose.yml로 구성할 수 있습니다.

1. 작업 폴더 생성

예시: C:\devtool\n8n

2. .env 파일 생성

DOMAIN_NAME=selfhosted.com
SUBDOMAIN=n8n
GENERIC_TIMEZONE=Asia/Seoul

이 설정은 도메인 주소와 타임존을 정의합니다.

3. docker-compose.yml 파일 생성

version: "3.7"

services:
  n8n:
    image: docker.n8n.io/n8nio/n8n
    restart: always
    ports:
      - "80:80"
    environment:
      - N8N_HOST=${SUBDOMAIN}.${DOMAIN_NAME}
      - N8N_PORT=80
      - N8N_PROTOCOL=http
      - NODE_ENV=production
      - WEBHOOK_URL=http://${SUBDOMAIN}.${DOMAIN_NAME}
      - GENERIC_TIMEZONE=${GENERIC_TIMEZONE}
      - N8N_SECURE_COOKIE=false
    env_file:
      - .env
    volumes:
      - n8n_data:/home/node/.n8n

volumes:
  n8n_data:
    external: true

4. 실행하기

docker-compose up -d

정상적으로 실행되면 http://n8n.selfhosted.com 으로 접속 가능해야 합니다.

5. 로컬 호스트 파일 수정 (Windows)

C:\Windows\System32\drivers\etc\hosts 파일을 열어 아래 한 줄 추가:

127.0.0.1       n8n.selfhosted.com

관리자 권한으로 편집기 실행 필수!


🚀 설치 완료 후 할 수 있는 일

  • 웹에서 워크플로우 시각적으로 만들기
  • OpenAI, Telegram, Gmail 등과 연동 테스트
  • Node.js Function 노드를 활용한 고급 자동화 구성

🔖 요약

단계 설명
1 Docker Desktop 설치
2 n8n 볼륨 생성: docker volume create n8n_data
3 이미지로 실행: docker run ...
4 .env, docker-compose.yml 생성 후 docker-compose up -d 실행
5 hosts 파일 수정 후 도메인 접속

💬 마무리

n8n은 개발자뿐 아니라 비개발자도 활용 가능한 강력한 자동화 플랫폼입니다.
직접 설치(Self-hosting)를 통해 비용을 아끼고, 더 높은 자유도로 자신만의 자동화 서버를 구축해보세요!

질문이 있다면 댓글로 남겨주세요. 다음에는 n8n 워크플로우 실전 예제로 찾아뵙겠습니다.


 

이 글이 도움이 되셨다면 공감 ❤️ 과 궁금하셨던 점들을 댓글로 ✍️ 부탁드립니다.
감사합니다 🙌