HowtoAI
ai-automation2026-04-30 5 min read

n8n 자가호스팅 가이드 — 월 비용 0원으로 자동화 시스템 만들기

🤖
HowtoAI 편집팀AI 전문 에디터

AI 기술을 누구나 쉽게 활용할 수 있도록 실전 가이드를 작성합니다. ChatGPT, Claude, AI 자동화, SEO 분야를 전문으로 다룹니다.

📅 2026-04-30⏱️ 5 min read🌐 how-toai.com
목차 보기

매달 Zapier 결제일 알림 보고 한숨 쉬어보신 적 있으시죠?

자동화 몇 개 돌리자고 매달 구독료가 빠져나가는 게 아깝다는 이야기, 주변에서도 자주 들려요. 워크플로가 늘어날수록 상위 플랜으로 올라가야 하는 구조라 부담이 계속 커지고요. 그래서 아예 n8n을 직접 서버에 올려 쓰는 쪽으로 넘어가는 분이 늘고 있어요. 무료 티어 서버를 쓰면 워크플로를 몇 개로 늘리든 호스팅 비용은 그대로거든요.

오늘은 n8n을 무료로 올리는 4가지 방법과 1시간 안에 끝나는 셋업 과정을 정리해 드릴게요.

왜 n8n 자가호스팅인가요?

n8n은 Zapier·Make와 같은 노코드 자동화 도구지만 결정적으로 다른 점이 있어요. 소스코드를 공개하고, 직접 서버에 올릴 수 있다는 거예요.

비교해 볼까요.

항목ZapierMake.comn8n 자가호스팅
월 비용실행량 기준 유료 구독실행량 기준 유료 구독서버비만 (무료 티어면 0원)
워크플로 제한플랜별 다름플랜별 다름무제한
통합 앱6,000+1,500+400+
데이터 보관 위치Zapier 서버Make 서버내 서버
커스텀 코드제한적가능자유 (JS/Python)

구독형 서비스의 요금제는 실행 횟수 구간과 플랜 이름이 수시로 바뀌니, 정확한 최신 금액은 각 서비스 공식 요금 페이지에서 직접 확인하시는 게 안전해요. 여기서는 금액 자체보다 비용 구조가 어떻게 다른지만 보시면 됩니다. 구독형은 실행량이 늘수록 요금이 계단식으로 올라가지만, 자가호스팅은 서버 한 대 값으로 고정된다는 게 핵심이에요.

차이가 큰 부분은 두 군데예요. 데이터 보관 위치커스텀 코드 자유도.

저는 고객 이메일을 자동 분류하는 워크플로를 돌리는데, 그 데이터가 외부 SaaS에 저장되는 게 영 찝찝했거든요. n8n으로 옮기니까 모든 데이터가 제 서버 안에서만 도는 구조라 마음이 편해요.

4가지 호스팅 옵션 비교

옵션 1: Oracle Cloud Free Tier (추천)

가장 무난한 방법이에요. ARM 인스턴스 4 OCPU + 24GB RAM이 영구 무료거든요.

장점:

  • 사양이 넘쳐서 워크플로 100개도 무리 없음
  • 24/7 가동, 인터넷 끊길 걱정 없음
  • 고정 IP 제공

단점:

  • 신용카드 등록 필요 (과금은 안 되지만 등록은 해야 함)
  • 가입 절차가 다른 클라우드보다 까다로운 편
  • 가입 직후 ARM 인스턴스 capacity 부족할 수 있음 (시간대 바꿔서 재시도)

옵션 2: 라즈베리파이 (집 서버)

장기적으로 가장 안정적인 옵션이에요. 한 번 사두면 영구 사용.

장점:

  • 초기 비용 8만~15만원, 이후 월 전기료 2,000원
  • 외부 의존성 0%, 클라우드 약관 변경 영향 X
  • 네트워크 환경 직접 통제 가능

단점:

  • 정전·네트워크 끊기면 멈춤 (UPS 추가 권장)
  • 외부 접속하려면 도메인+DDNS 또는 Cloudflare Tunnel 필요
  • 집에 항상 켜둘 곳 마련해야 함

옵션 3: Fly.io 무료 티어

도커 컨테이너 띄우는 데 익숙하면 가장 빠른 옵션.

장점:

  • 셋업 5분 완료
  • 도커 이미지를 그대로 올릴 수 있어 이전이 쉬움
  • 자동 HTTPS, 글로벌 CDN

단점:

  • 가장 작은 인스턴스로는 가벼운 워크플로 몇 개가 한계
  • 무료 크레딧·무료 티어 조건이 자주 바뀌고, 가입 시점에 따라 아예 유료로만 쓸 수도 있음 (가입 전 공식 요금 페이지 확인 필수)
  • 결제 카드 등록 필수

옵션 4: VPS (Vultr·Linode·Hetzner)

월 4~6달러 들지만 안정성과 자유도가 가장 높아요. 진정한 무료는 아니지만 Zapier 대비 90% 절감.

무료 티어로 시작했다가 안정성 때문에 저가형 VPS로 옮기는 경우가 흔해요. 커피 몇 잔 값으로 재부팅·백업·모니터링 걱정을 덜 수 있으니, 업무에 쓰는 자동화라면 오히려 이쪽이 마음 편하거든요. 다만 업체별 요금제 이름과 사양은 개편이 잦으니, 결제 전에 공식 요금 페이지에서 현재 판매 중인 플랜을 확인하세요.

n8n Docker 셋업 — 1시간 만에 끝내기

호스팅 옵션 정했으면 셋업은 거의 같아요. Oracle Free Tier 기준으로 보여드릴게요.

1단계: 서버 접속·Docker 설치

ssh ubuntu@your-server-ip

sudo apt update && sudo apt upgrade -y
curl -fsSL https://get.docker.com | sudo bash
sudo usermod -aG docker $USER
newgrp docker

여기까지 약 5분.

2단계: docker-compose.yml 작성

version: '3.8'

services:
  n8n:
    image: n8nio/n8n:latest
    restart: always
    ports:
      - "5678:5678"
    environment:
      - N8N_BASIC_AUTH_ACTIVE=true
      - N8N_BASIC_AUTH_USER=admin
      - N8N_BASIC_AUTH_PASSWORD=your-strong-password
      - N8N_HOST=automation.yourdomain.com
      - N8N_PORT=5678
      - N8N_PROTOCOL=https
      - WEBHOOK_URL=https://automation.yourdomain.com/
      - GENERIC_TIMEZONE=Asia/Seoul
      - N8N_ENCRYPTION_KEY=your-32-char-random-string
    volumes:
      - ./n8n_data:/home/node/.n8n

N8N_ENCRYPTION_KEY는 자격증명 암호화에 쓰이는 핵심 값이에요. 한 번 설정하면 절대 바꾸지 마세요. 바꾸면 저장된 모든 자격증명이 깨져요.

3단계: 컨테이너 기동

docker compose up -d
docker compose logs -f n8n

로그에 Editor is now accessible via: 메시지 뜨면 성공.

4단계: HTTPS·도메인 연결

Cloudflare Tunnel이 가장 간단해요. 도메인 IP 노출도 안 되고 무료.

curl -L https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64 -o cloudflared
chmod +x cloudflared
sudo mv cloudflared /usr/local/bin/

cloudflared tunnel login
cloudflared tunnel create n8n
cloudflared tunnel route dns n8n automation.yourdomain.com

~/.cloudflared/config.yml에 다음 내용 추가:

tunnel: n8n
credentials-file: /home/ubuntu/.cloudflared/n8n.json

ingress:
  - hostname: automation.yourdomain.com
    service: http://localhost:5678
  - service: http_status:404
sudo cloudflared service install

이제 https://automation.yourdomain.com으로 접속하면 n8n 로그인 화면이 뜨거든요.

첫 워크플로 — 구글 시트 → Slack 알림

가장 쉬운 워크플로부터 만들어 볼게요.

  1. Trigger 노드: Google Sheets — Row Added 이벤트
  2. IF 노드: 새 행의 priority 컬럼이 high인 경우만 통과
  3. Action 노드: Slack — #alerts 채널에 메시지 전송

UI에서 노드 끌어다 놓고, 자격증명 입력하면 5분이면 완성. n8n의 강점은 각 노드 사이에 Code 노드(JS/Python)를 끼워넣을 수 있다는 거예요. Zapier에서 안 되던 복잡한 데이터 변환이 자유로워져요.

운영 팁 3가지

1) 자동 백업 설정

GitHub Actions로 매일 워크플로 JSON export → private repo push.

docker exec n8n n8n export:workflow --all --output=/tmp/workflows.json

이 명령을 cron에 걸어두고 결과를 GitHub에 push하면 끝. 서버 날아가도 30분이면 복구.

2) 업데이트는 매월 한 번

docker compose pull
docker compose up -d

너무 자주 업데이트하면 워크플로 호환성 문제 생기는 경우 있어요. 월 1회, 메이저 버전 안 바뀐 시점에만 업데이트하세요.

3) 메모리 모니터링

docker stats n8n

512MB 넘기 시작하면 워크플로 정리하거나 인스턴스 사양 올려야 해요. n8n은 워크플로가 누적되면 메모리 사용량이 천천히 늘어요.

자가호스팅이 맞는 사람, 맞지 않는 사람

모두에게 권할 만한 방식은 아니에요. 성향과 상황에 따라 갈리거든요.

이런 분에게는 잘 맞아요.

  • 터미널에서 명령어를 붙여넣는 정도는 부담 없는 분
  • 워크플로 개수가 계속 늘어날 것 같아 구독 상위 플랜이 눈앞에 보이는 분
  • 고객 정보나 사내 데이터처럼 외부 SaaS에 두기 꺼려지는 데이터를 다루는 분
  • 자동화가 몇 시간 멈춰도 업무가 무너지지 않는 분

반대로 이런 경우라면 구독형을 그대로 쓰는 편이 낫습니다.

  • 자동화가 멈추면 매출이 바로 끊기는 핵심 업무에 물려 있는 경우
  • 서버 장애가 났을 때 대신 봐줄 사람이 없고, 본인도 대응할 시간이 없는 경우
  • 워크플로가 몇 개뿐이라 구독료가 크게 부담되지 않는 경우

자가호스팅으로 아끼는 건 결국 돈이고, 대신 내주는 건 시간과 책임이에요. 이 교환이 남는 장사인지 먼저 계산해보시는 걸 권해요.

실제로 이렇게 씁니다 — 시나리오 3가지

감이 잘 안 잡히면 아래 세 가지부터 떠올려보세요.

첫째, 문의 정리. 문의 폼이나 메일함에 새 글이 들어오면 내용을 분류해 담당자별 채널로 던지고, 스프레드시트에 한 줄씩 쌓아두는 흐름이에요. 가장 흔하고, 효과도 바로 체감돼요.

둘째, 콘텐츠 배포. 새 글을 발행하면 여러 SNS 채널과 뉴스레터 대기열에 동시에 밀어넣는 흐름. 채널이 늘어날수록 손으로 하기 싫어지는 일이라 자동화 효과가 커요.

셋째, 정기 리포트. 매일 정해진 시간에 여기저기 흩어진 데이터를 모아 한 장으로 요약해 메신저로 보내는 흐름이에요. 자가호스팅이면 실행 횟수를 신경 쓸 필요가 없어서 주기를 촘촘하게 잡아도 부담이 없어요.

처음에 자주 겪는 실수

미리 알아두면 하루씩 날리지 않는 것들이에요.

  • 암호화 키를 나중에 바꾸는 실수N8N_ENCRYPTION_KEY를 바꾸면 저장된 자격증명이 전부 못 쓰게 돼요. 처음 값을 비밀번호 관리자에 따로 보관해두세요.
  • 웹훅 주소를 안 맞추는 실수WEBHOOK_URL이 실제 접속 도메인과 다르면 외부 서비스가 보내는 신호를 못 받아요. 트리거가 조용하다면 여기부터 확인하세요.
  • 볼륨을 안 잡고 컨테이너를 지우는 실수 — 데이터 디렉터리를 호스트에 연결해두지 않으면 컨테이너를 재생성하는 순간 워크플로가 통째로 사라져요.
  • 백업을 미루는 실수 — 잘 돌아갈 때는 필요를 못 느끼다가, 필요해진 시점에는 이미 늦어요. 첫 워크플로를 만든 날 백업부터 걸어두는 편이 낫습니다.
  • 시간대를 기본값으로 두는 실수GENERIC_TIMEZONE을 설정하지 않으면 예약 실행이 엉뚱한 시각에 돌아요. 한국 기준으로 쓴다면 반드시 지정하세요.

지금 바로 시작하는 법

오늘 30분만 빼서 이거 두 개 하세요.

첫째, Oracle Cloud 가입하고 Always Free ARM 인스턴스 한 개 띄우기. 카드 등록은 검증용일 뿐 과금되지 않아요.

둘째, 위 docker-compose.yml 그대로 복사해서 띄워보기. 도메인 없이 IP 직접 접속(http://your-ip:5678)으로 일단 작동만 확인.

이 두 단계만 끝내도 Zapier 구독 해지 결심이 서거든요. 워크플로 옮기는 건 그다음 주에 천천히 하면 돼요.

❓ 자주 묻는 질문 (FAQ)

n8n 자가호스팅이 정말 무료인가요?

n8n 코드 자체는 Fair-code 라이선스라 개인·내부 사용은 100% 무료예요. 호스팅 비용도 Oracle Free Tier·Fly.io 무료 티어·집 라즈베리파이로 0원 가능. 단, 외부에 SaaS로 재판매하려면 라이선스 별도 협의가 필요해요.

Zapier·Make 대비 n8n 단점은 뭔가요?

셋업 진입장벽이 가장 큰 단점. Docker·Node.js 기본 지식이 필요하고 직접 업데이트도 해야 해요. 통합 앱 개수도 Zapier 6,000+ 대비 n8n은 약 400개로 적어요. 단 n8n은 HTTP Request 노드로 어떤 API든 직접 연동 가능해서 결국 비슷해져요.

Oracle Free Tier가 진짜 영구 무료인가요?

Always Free 티어는 ARM 인스턴스 4 OCPU + 24GB RAM까지 영구 무료예요. n8n에 충분하고도 남는 사양. 단, 90일간 무활성 시 회수될 수 있으니 월 1회 정도 SSH 접속 또는 트래픽 발생시키면 안전해요.

라즈베리파이로 돌리면 성능이 충분한가요?

라즈베리파이 4(4GB) 정도면 가벼운 워크플로를 여러 개 돌리는 데는 대체로 무리가 없어요. 다만 실제 여유는 워크플로 종류와 실행 주기에 따라 달라지니, 몇 개를 올린 뒤 docker stats로 메모리를 보면서 늘려가는 게 안전해요. 영상 처리·대용량 데이터 ETL은 느릴 수 있고요. 일반적인 시트→Slack→이메일 자동화는 충분합니다. 전기료는 월 2,000원 수준.

n8n과 Zapier 워크플로 마이그레이션이 가능한가요?

자동 변환 도구는 없어요. 하지만 Zapier에서 워크플로 구조를 캡처하고 n8n UI에 비슷하게 다시 만드는 식으로 1워크플로당 평균 20~30분이면 옮길 수 있어요. 트리거→필터→액션 구조가 같아서 학습 곡선이 짧아요.

n8n 보안은 어떻게 챙겨야 하나요?

필수 3가지: ① N8N_BASIC_AUTH_ACTIVE=true로 베이직 인증 켜기 ② HTTPS 강제(Let's Encrypt 무료) ③ N8N_ENCRYPTION_KEY 환경변수로 자격증명 암호화. 외부 노출되는 도메인이라면 Cloudflare Tunnel로 IP 숨기는 것도 방법이에요.

워크플로 백업은 어떻게 하나요?

두 가지 방법. 첫째, n8n UI에서 워크플로 JSON export 후 GitHub private repo에 push. 둘째, n8n DB(SQLite/Postgres) 통째로 주기적으로 클라우드 스토리지에 dump. 저는 깃허브 액션으로 매일 자동 export 돌려요.

📚 함께 읽으면 좋은 글 (Related Posts)

AI 업무 자동화 더 보기 →