n8n 을 셀프호스팅으로 옮긴 이유
n8n Cloud 무료 플랜의 200 execution/일 한계에 한 달 만에 부딪혔다. 셀프호스팅으로 옮기며 배운 것.
n8n Cloud 무료 플랜은 하루 200 execution. RSS 30개에 분기 처리 몇 번 들어가면 한 달 안에 한계에 닿는다.
처음엔 유료 plan ($20/월) 을 고민했다. 그러다 vGNA 류 2vCPU/2GB VM 이 월 1만원대인 걸 보고 셀프호스팅으로 결심.
옮기는 데 걸린 시간
- Docker Compose 작성: 1시간
- Postgres 대신 SQLite 로 시작 (작은 워크플로우라 충분): 0분
- Cloudflare Tunnel 로 외부 노출: 30분
- Cloud 에서 export → 로컬 import: 워크플로우 12개 모두 한 번에 성공
비용 비교
| 항목 | Cloud 유료 | 셀프호스팅 |
|---|---|---|
| 월 비용 | $20 (~₩28,000) | ₩13,100 |
| execution 제한 | 5,000/월 | 사실상 무제한 |
| 자동 백업 | 있음 | 직접 cron 으로 |
| 유지보수 시간 | 0 | 월 ~30분 |
유지보수 30분이 ₩15,000 절약과 맞을까? 처음엔 자신 없었는데, 한 달 지나니 30분도 안 들었다. n8n 컨테이너는 안정적이다.
셀프호스팅에서 배운 한 가지
n8n 의 워크플로우 데이터 (SQLite) 는 백업이 진짜 필요하다. 한 번 컨테이너 재시작 중에 SQLite WAL 파일이 손상돼 워크플로우 3개가 빈 상태로 돌아왔다. 다행히 일주일 전 백업이 있었다. 그 사건 후 매일 새벽 3시에 cp + gzip 로 외부 디스크에 백업.
다음에는 다르게 할 한 가지
새 도구를 자체호스팅으로 시작할 땐 백업 cron 을 첫날 같이 만든다. 워크플로우 자체보다, 그게 사라졌을 때 복구 시간이 항상 더 길었다.
🛒 이 글과 어울리는 추천 상품
위 링크는 쿠팡파트너스 활동의 일환이며, 일정액의 수수료를 제공받을 수 있습니다.