⏱️ 예상 읽기 시간: 약 9분
📌 n8n 완전정복 시리즈 (고급편)
중급편 5개 | 완료 ✅
▶️ 고급 1편 | n8n Docker 설치 방법 | VPS 셀프호스팅 완전 정복 가이드
고급 2편 | n8n + OpenAI 자동화 만들기 | AI 에이전트 워크플로우 실전 가이드
고급 3편 | n8n 데이터베이스 연동 방법 | MySQL·PostgreSQL 자동화 실전 가이드
고급 4편 | n8n 자동화 실전 사례 모음 | 업무 효율 10배 만드는 워크플로우 정리
💡 이런 분께 추천해요
✅ 이 글에서 배우는 것
N8N 설치 방법은 여러 가지가 있지만 Docker로 배포하면 워커나 DB 통합도 한 번에 처리할 수 있어 운영이 편해요. 특히 VPS 환경에서는 이미지·컨테이너 단위로 버전을 고정하고, 재현 가능한 환경을 유지하기 쉽다는 장점이 있어요.
셀프호스팅 vs 클라우드 비용 비교
| 방식 | 월 비용 | 실행 횟수 | 데이터 보안 |
|---|---|---|---|
| n8n Cloud | €24~ (약 38,000원~) | 플랜별 제한 | n8n 서버 저장 |
| VPS 셀프호스팅 | $5 |
무제한 | 내 서버 저장 |
| 구글 클라우드 프리티어 | 무료 | 무제한 | 내 서버 저장 |
추천 VPS 서비스 비교
| 서비스 | 월 비용 | 사양 | 추천 이유 |
|---|---|---|---|
| DigitalOcean | $6~ | 1GB RAM | 안정적, 한국어 지원 |
| Hetzner | €3.79~ | 2GB RAM | 가성비 최고 (유럽) |
| Vultr | $6~ | 1GB RAM | 서울 리전 있음 |
| 구글 클라우드 | 무료 | 0.6GB RAM | 완전 무료 (프리티어) |
n8n 최소 권장 사양
CPU: 1 Core 이상
RAM: 1GB 이상 (2GB 권장)
Storage: 20GB 이상
OS: Ubuntu 22.04 / 24.04 (권장)
VPS 생성 후 SSH로 접속해서 아래 명령어를 순서대로 실행하세요.
Ubuntu 기준 Docker 설치
# 1. 기존 Docker 제거 (있다면)
sudo apt-get remove docker docker-engine docker.io containerd runc
# 2. 패키지 목록 업데이트
sudo apt-get update
# 3. 필수 패키지 설치
sudo apt-get install -y \
ca-certificates \
curl \
gnupg \
lsb-release
# 4. Docker 공식 GPG 키 추가
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \
sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
# 5. Docker 저장소 추가
echo "deb [arch=$(dpkg --print-architecture) \
signed-by=/etc/apt/keyrings/docker.gpg] \
https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 6. Docker 설치
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io \
docker-compose-plugin
# 7. Docker 설치 확인
docker --version
docker compose version
📸 [스크린샷: Docker 설치 성공 후 버전 확인 화면]
단순 docker run 대신 docker-compose로 설치하면 설정 관리와 재시작이 훨씬 편해요.
작업 디렉토리 생성
mkdir ~/n8n-setup
cd ~/n8n-setup
docker-compose.yml 파일 생성
version: '3'
services:
n8n:
image: docker.n8n.io/n8nio/n8n
container_name: n8n
restart: unless-stopped
ports:
- "5678:5678"
environment:
- N8N_HOST=${N8N_HOST}
- N8N_PORT=5678
- N8N_PROTOCOL=https
- WEBHOOK_URL=https://${N8N_HOST}
- GENERIC_TIMEZONE=Asia/Seoul
- N8N_ENCRYPTION_KEY=${N8N_ENCRYPTION_KEY}
volumes:
- n8n_data:/home/node/.n8n
networks:
- n8n_network
volumes:
n8n_data:
networks:
n8n_network:
driver: bridge
.env 파일 생성 (환경변수 설정)
# .env 파일 생성
cat > .env << 'EOF'
N8N_HOST=your-domain.com
N8N_ENCRYPTION_KEY=랜덤으로-32자-이상-문자열-생성해서-입력
EOF
⚠️
N8N_ENCRYPTION_KEY는 반드시 고유하고 복잡한 문자열로 설정하세요. 한번 설정하면 변경하면 안 돼요!
n8n 실행
# 백그라운드로 실행
docker compose up -d
# 실행 확인
docker compose ps
# 로그 확인
docker compose logs -f
브라우저에서 http://서버IP:5678 접속하면 n8n이 뜨면 성공! 🎉
📸 [스크린샷: n8n 최초 실행 후 관리자 계정 설정 화면]
IP 주소 대신 도메인으로 접속하고 HTTPS를 활성화해야 안전하게 사용할 수 있어요. (Webhook도 HTTPS가 필수!)
Nginx + Certbot으로 HTTPS 설정
# Nginx 설치
sudo apt-get install -y nginx
# Certbot 설치 (무료 SSL 인증서)
sudo apt-get install -y certbot python3-certbot-nginx
# Nginx 설정 파일 생성
sudo nano /etc/nginx/sites-available/n8n
Nginx 설정 내용
server {
listen 80;
server_name your-domain.com;
location / {
proxy_pass http://localhost:5678;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_cache_bypass $http_upgrade;
chunked_transfer_encoding on;
proxy_buffering off;
}
}
# 설정 활성화
sudo ln -s /etc/nginx/sites-available/n8n /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
# SSL 인증서 발급 (도메인이 서버 IP를 가리켜야 함)
sudo certbot --nginx -d your-domain.com
# SSL 자동 갱신 확인
sudo certbot renew --dry-run
이제 https://your-domain.com으로 n8n에 접속할 수 있어요! 🔒
n8n 업데이트
cd ~/n8n-setup
# 최신 이미지 다운로드
docker compose pull
# 재시작 (다운타임 최소화)
docker compose down && docker compose up -d
데이터 백업
# n8n 데이터 볼륨 백업
docker run --rm \
-v n8n_data:/data \
-v $(pwd)/backup:/backup \
alpine tar czf /backup/n8n-backup-$(date +%Y%m%d).tar.gz /data
# 자동 백업 스크립트 (crontab에 등록)
# 매일 새벽 2시에 자동 백업
0 2 * * * cd ~/n8n-setup && docker run --rm -v n8n_data:/data -v $(pwd)/backup:/backup alpine tar czf /backup/n8n-backup-$(date +\%Y\%m\%d).tar.gz /data
상태 모니터링
# 컨테이너 상태 확인
docker compose ps
# 실시간 로그 확인
docker compose logs -f --tail=50
# 리소스 사용량 확인
docker stats n8n
| 환경 | 난이도 | 비용 | 추천 |
|---|---|---|---|
| 구글 클라우드 프리티어 | ⭐⭐⭐ | 무료 | 비용 0원 원하는 분 |
| DigitalOcean | ⭐⭐ | $6/월 | 안정성 중시 |
| Hetzner | ⭐⭐ | €3.79/월 | 가성비 최고 |
| 로컬 PC (미니PC) | ⭐⭐⭐⭐ | 전기세만 | 이미 PC 있는 분 |
문제 1. 5678 포트로 접속이 안 돼요
→ VPS 방화벽(Security Group)에서 5678 포트 인바운드 허용을 추가하세요. AWS/GCP/DigitalOcean 모두 방화벽 규칙 추가가 필요해요.문제 2. Webhook URL이 localhost로 설정돼요
→ docker-compose.yml의WEBHOOK_URL과N8N_HOST를 실제 도메인으로 설정했는지 확인하세요.문제 3. 재부팅 후 n8n이 꺼져요
→restart: unless-stopped설정이 되어 있으면 자동 재시작돼요. 이 설정을 꼭 추가하세요.문제 4. SSL 인증서 발급이 안 돼요
→ 도메인 DNS가 서버 IP를 가리키고 있는지 확인하세요.nslookup your-domain.com으로 확인 가능해요.
| 항목 | 내용 |
|---|---|
| 권장 설치 방법 | docker-compose 방식 |
| 권장 VPS | Hetzner(가성비) 또는 DigitalOcean(안정성) |
| 최소 사양 | 1 Core, 1GB RAM, 20GB Storage |
| HTTPS 설정 | Nginx + Certbot (무료 Let's Encrypt) |
| 백업 | n8n_data 볼륨 정기 백업 필수 |
Q. 도커를 전혀 모르는데 셀프호스팅이 가능할까요?
명령어 복사·붙여넣기 수준이면 가능해요. 다만 오류가 나면 해결하는 데 시간이 필요해요. 클라우드로 먼저 시작하고 익숙해진 후에 도전하는 걸 권장해요.
Q. n8n 데이터가 날아가면 어떻게 되나요?
워크플로우, Credentials, 실행 기록이 모두 사라져요. 정기 백업이 필수예요! n8n 워크플로우 자동화로 백업까지 자동화하는 게 좋아요.
Q. 셀프호스팅 n8n은 인스턴스를 여러 개 쓸 수 있나요?
동일한 N8N_ENCRYPTION_KEY와 데이터베이스를 공유하면 여러 인스턴스를 큐 모드로 운영할 수 있어요. 대규모 자동화가 필요할 때 고려해보세요.
💬 셀프호스팅 도전해보셨나요? 어떤 VPS를 사용하셨는지 댓글로 공유해 주세요!
🔔 다음 편에서는 n8n + OpenAI 연동으로 AI 에이전트 워크플로우를 만드는 법을 알려드릴게요!
📚 n8n 완전정복 시리즈 전체 보기
🔰 입문편
입문 1편 | n8n이란 무엇인가? 자동화 시작 전 꼭 알아야 할 핵심 개념 5가지
입문 2편 | n8n 설치 방법 총정리 | 클라우드 vs 셀프호스팅 현실 비교
입문 3편 | n8n 워크플로우 만드는 법 | 10분 만에 자동화 시작하기
입문 4편 | n8n 핵심 노드 5가지 | 이것만 알면 자동화 절반 끝납니다
입문 5편 | n8n 오류 해결 방법 | 실행 안 될 때 가장 많이 막히는 문제 5가지
⚡ 초급편
초급 1편 | n8n 구글 시트 자동화 방법 | 업무 시간 줄이는 실전 설정 따라하기
초급 2편 | n8n Gmail 자동화 설정법 | 조건별 이메일 자동 발송 10분 완성
초급 3편 | n8n Slack 자동 알림 만들기 | 이벤트 발생 시 바로 받는 설정 방법
초급 4편 | n8n Webhook 사용법 완전정복 | 외부 서비스 자동 연결하는 방법
초급 5편 | n8n Cron 예약 자동화 설정 | 매일 자동 실행되는 워크플로우 만들기
초급 6편 | n8n 조건 분기 설정 방법 | IF·Switch로 자동화 흐름 제어하는 법
🔧 중급편
중급 1편 | n8n API 연동 방법 | HTTP Request로 외부 서비스 연결하는 법
중급 2편 | n8n 데이터 변환 방법 | Function 노드로 자동 처리하는 법
중급 3편 | n8n 에러 핸들링 설정 | 자동화 실패해도 멈추지 않는 구조 만들기
중급 4편 | n8n 서브워크플로우 활용법 | 복잡한 자동화를 깔끔하게 나누는 방법
중급 5편 | n8n API 키·환경변수 설정법 | 보안 문제 없이 안전하게 사용하는 방법
🚀 고급편
▶️ 고급 1편 | n8n Docker 설치 방법 | VPS 셀프호스팅 완전 정복 가이드
고급 2편 | n8n + OpenAI 자동화 만들기 | AI 에이전트 워크플로우 실전 가이드
고급 3편 | n8n 데이터베이스 연동 방법 | MySQL·PostgreSQL 자동화 실전 가이드
고급 4편 | n8n 자동화 실전 사례 모음 | 업무 효율 10배 만드는 워크플로우 정리
| n8n 자동화 실전 사례 모음 | 업무 효율 10배 만드는 워크플로우 정리 (고급 4편) (0) | 2026.05.03 |
|---|---|
| n8n 데이터베이스 연동 방법 | MySQL·PostgreSQL 자동화 실전 가이드 (고급 3편) (0) | 2026.05.03 |
| n8n + OpenAI 자동화 만들기 | AI 에이전트 워크플로우 실전 가이드 (고급 2편) (0) | 2026.05.03 |