n8n과 Hostinger로 Zero to MCP

채널 아이콘
Matt Williams 구독자 70,600명

요약

이 영상에서는 Anthropic의 모델 컨텍스트 프로토콜(MCP)을 활용해 강력한 자동화 플랫폼을 구축하는 과정을 단계별로 안내합니다. 비용 효율적인 Hostinger VPS 선택부터 서버 보안 강화, n8n 설치 및 Docker·Caddy를 통한 HTTPS 설정, Tailscale을 이용한 원격 연동까지 실습합니다. 마지막에는 n8n에서 MCP 도구를 노출해 Windsurf 같은 클라이언트에서 활용하는 방법을 보여줍니다.

주요 키워드

MCP n8n VPS Hostinger Docker Compose Tailscale Caddy Watchtower MCP Proxy

하이라이트

  • 🔑 MCP 소개: MCP는 AI 도구를 정의·공유하는 표준 프로토콜로, n8n과 결합해 다양한 워크플로우를 자동화할 수 있습니다.
  • 🚀 No-code 자동화: n8n을 이용하면 코딩 없이도 수천 개의 MCP 컴포넌트를 조합해 콘텐츠 생성, Slack 연동 등 다양한 작업을 구현합니다.
  • 💰 호스팅 비용 절감: DigitalOcean 대비 Hostinger의 KVM 인스턴스가 더 저렴하면서 성능이 뛰어남을 벤치마크로 입증합니다.
  • 🛡️ 서버 보안 필수: 방화벽 설정, 비밀번호 인증 비활성화, 비루트 사용자 생성 등 최소한의 보안 조치를 반드시 적용해야 합니다.
  • 🔗 Tailscale 연동: Tailscale Tailnet을 통해 자신의 노트북과 서버 간 안전한 사설 네트워크 연결을 설정합니다.
  • 🐳 Docker Compose 예제: 환경변수·시크릿 파일을 분리해 n8n 및 호스팅 전용 컨테이너를 구성하고 관리하는 방법을 설명합니다.
  • 🔒 HTTPS 자동 발급: Caddy를 리버스 프록시로 사용해 Let’s Encrypt SSL 인증서를 자동으로 발급받고 n8n에 적용합니다.
  • 🔄 Watchtower 자동 업데이트: 매일 새벽 Watchtower가 모든 컨테이너 이미지를 최신 버전으로 업데이트해 서버 운영을 편리하게 유지합니다.

용어 설명

MCP(Model Context Protocol)

AI 도구를 정의·공유하기 위한 표준 프로토콜

n8n

노코드(no-code) 자동화 워크플로우 플랫폼

VPS(가상 사설 서버)

클라우드 상에서 격리된 가상 머신 서버

KVM

Kernel-based Virtual Machine, 가상화 기술

Docker Compose

멀티 컨테이너 Docker 애플리케이션 정의·실행 도구

Caddy

자동 SSL 발급을 지원하는 경량 리버스 프록시 서버

Tailscale

WireGuard 기반 사설 네트워크(VPN) 서비스

Watchtower

Docker 컨테이너 자동 업데이트 도구

MCP Proxy

MCP 서버를 인증·중계해 클라이언트 보호하는 프록시 도구

[00:00:00] 인트로 및 전체 개요

MCP(Model Context Protocol)와 n8n을 소개하며, AI 도구 공유 표준으로서 MCP를 다양한 자동화 워크플로우에 활용할 수 있는 가능성을 설명합니다.

MCP(모델 컨텍스트 프로토콜)의 소개와 중요성을 설명합니다. 이 기술은 AI와 함께 사용할 도구를 작성하고 공유하는 표준으로, N8N 플랫폼을 통해 코딩 지식 없이도 활용할 수 있습니다.
[00:00:36] MCP와 n8n의 기능 및 확장성

코딩 없이도 n8n으로 수천 개의 MCP 컴포넌트를 조합해 콘텐츠 생성, Slack 연동 등 다양한 자동화 작업을 구축하는 방법을 소개합니다.

MCP는 AI 코딩 도구에서 주로 활용되지만, N8N과 같은 도구를 사용하면 수천 개의 MCP 컴포넌트를 워크플로우에 통합해 원하는 작업을 자동화할 수 있습니다. 코딩 기초만 배워도 훨씬 더 많은 것을 할 수 있습니다.
[00:01:24] Hostinger VPS 선택 이유

DigitalOcean 대비 Hostinger VPS의 가격·성능을 Geekbench 벤치마크로 비교해, 더 저렴하면서 강력한 KVM 인스턴스를 추천합니다.

영상에서 다룰 내용으로, VPS 설정(비용 절약 방법 포함), 서버 보안 설정, N8N 설치, 테일스케일 연결 및 Caddy를 사용한 HTTPS 설정 등을 소개합니다.
VPS 제공업체로 Hostinger를 사용할 것이며, 기존에 사용하던 Digital Ocean보다 비용 효율적임을 설명합니다. Digital Ocean은 처음에는 저렴했지만 현재는 제공하는 서비스에 비해 비싼 편입니다.
이전 설정(가상 CPU 1개, RAM 2GB, SSD 50GB, 데이터 전송량 2GB)에 Digital Ocean에서 월 12달러와 백업용 3달러를 지불했었으며, 이미 이런 한계에 많이 부딪히고 있었음을 설명합니다.
Digital Ocean에서는 월 $12와 추가로 주간 백업에 $3를 지불했으나 이미 한계에 도달했습니다. 다른 플랫폼의 가상 CPU 성능을 비교하기 위해 Geekbench 테스트를 실행했습니다.
테스트 결과, Hostinger의 단일 vCPU가 Digital Ocean보다 훨씬 강력하면서도 저렴했습니다. Digital Ocean에서 한 달 비용으로 Hostinger에서는 더 좋은 머신을 3개월 이용할 수 있습니다.
[00:03:52] Hostinger VPS 옵션 구성

KVM1~KVM8의 vCPU, RAM, NVMe 디스크, 대역폭 옵션을 살펴보고 개인 워크로드에 적합한 KVM2 플랜(2vCPU·8GB RAM)을 선택하는 과정을 안내합니다.

이 영상은 Hostinger의 스폰서를 받았지만, 그들은 스크립트를 사전에 확인하지 않았으므로 솔직한 의견입니다. 설정을 시작하려면 hostinger.com/mattw를 방문하세요.
Hostinger는 VPS 호스팅을 단순화하여 네 가지 옵션만 제공합니다. KVM1(vCPU 1개, RAM 4GB, 디스크 50GB, 대역폭 4TB)부터 시작해 각 단계마다 사양이 두 배로 증가합니다.
Digital Ocean의 한계를 자주 경험했기 때문에, vCPU 2개, RAM 8GB, 디스크 100GB, 대역폭 8TB를 제공하는 KVM2를 선택했습니다. 이것이 여러 서비스를 실행하기에 최적입니다.
Hostinger는 월별, 1년 또는 2년 단위로 요금을 청구하며, 사용 기간이 길수록 더 저렴해집니다. 다른 서비스들은 보통 사용한 만큼 월말에 청구하는 방식입니다.
[00:06:17] VPS 생성 및 OS 설치

Hostinger 대시보드에서 요금제 기간 선택, 데이터센터 위치 지정, OS(도커 베이스) 설치 옵션을 설정하고 가상 서버를 생성하는 절차를 보여줍니다.

Hostinger에서는 선결제 방식으로 서비스를 이용하며, 30일 환불 보증이 제공됩니다. 서버 위치는 전 세계 데이터 센터 중에서 선택할 수 있습니다.
서버에 설치할 OS 선택 시 11가지 기본 옵션이 있으며, 'OS with panel'은 DocPloy나 Coolify 같은 도구를 설치해 프로젝트 배포를 쉽게 합니다. 다양한 애플리케이션 중 n8n 관련 옵션도 두 가지가 있습니다.
일반 n8n 설정은 3-4분 만에 Docker 설치 및 실행이 가능하고 서브도메인도 생성해 줍니다. 이 비디오에서는 다른 방식으로 n8n을 구성할 것이므로 Docker만 선택합니다.
쿠폰 코드 'MattW'를 사용하면 연간 요금제에 추가 할인이 적용됩니다. 계정 등록 후 루트 비밀번호를 설정하고 SSH 키를 추가한 다음 VPS 설정을 완료합니다.
[00:08:22] 서버 보안 강화

방화벽에서 SSH(22)·HTTPS(443) 포트만 허용, 비밀번호 인증 비활성화, 비루트 사용자 생성 등 최소 보안 조치를 적용해 서버를 보호하는 방법을 설명합니다.

클라우드에 VPS가 생성되었습니다. 설정 중 문제가 생기면 언제든 OS 및 패널 메뉴를 통해 완전히 초기화할 수 있습니다.
어떤 플랫폼을 사용하든 보안이 중요하므로, 보안 메뉴에서 방화벽을 추가하고 규칙을 설정해야 합니다. 이 후에 웹 서버를 설정할 예정입니다.
방화벽 설정: 웹 서버를 위한 443 포트와 SSH를 위한 22 포트를 허용하는 규칙을 추가하고 방화벽을 활성화합니다. 이렇게 하면 사용자는 이 두 포트로만 서버에 접속할 수 있습니다.
서버 접속과 사용자 설정: 브라우저 터미널로 서버에 접속한 후, 보안을 위해 루트 사용자가 아닌 개인 사용자 계정을 생성합니다.
설정 자동화: 준비 작업을 자동화하기 위해 GitHub 리포지토리를 클론하고 prep.sh 스크립트의 기능을 설명합니다. 이 스크립트는 사용자 생성, 권한 설정, SSH 보안 구성 등을 수행합니다.
[00:11:00] 홈랩 준비 자동화

GitHub의 HomeLab 리포지토리 클론 후 prep.sh 스크립트를 실행해 사용자 생성, SSH 키 복사, ZSH 설정, sudo·docker 권한 부여를 자동화합니다.

보안의 중요성: 이러한 보안 설정이 번거로워 보일 수 있지만, 클라우드 환경에서는 필수적인 기본 보안 조치입니다. 웹에는 의심스러운 인물이 많기 때문에 이런 최소한의 보안 설정이 필요합니다.
SSH 접속 문제 해결: SSH 키가 키체인에 없어 접속이 안 될 경우, ssh-add로 키를 추가하거나 SSH config 파일에 항목을 만들어 해결할 수 있습니다.
[00:12:35] Tailscale Tailnet 설정

Tailscale 계정 생성, 인증 키(off key) 저장, VPS에 Tailscale 설치·등록해 서버와 로컬 머신 간 안전한 사설 네트워크를 구축합니다.

Hostinger의 AI 도우미: VPS 관리에 대해 궁금한 점이 있으면 Hostinger 대시보드의 Kodi라는 무료 AI 도우미를 활용할 수 있습니다. 앞으로의 과정은 더 쉬워질 것입니다.
Tailscale을 사용하여 N8N 설정에서 Mac의 GPU를 활용하고 개인만 접근 가능한 서비스를 호스트에 추가하는 방법을 설명합니다.
Tailscale 계정 생성 및 클라이언트 설치 후, 관리자 페이지에서 재사용 가능한 인증 키(auth key)를 생성하고 VPS에 설치하는 과정을 안내합니다.
[00:14:18] n8n·Docker Compose 구성

n8n 환경변수(env)·시크릿 파일 설정, tailnet 네트워크 모드 지정, Docker Compose로 n8n 및 호스팅 전용 컨테이너를 실행하는 방식을 설명합니다.

VPS를 Tailscale tailnet에 추가한 후, n8n 디렉토리의 .env 파일에서 N8N_HOST와 WEBHOOK_URL 변수를 설정하는 방법을 보여줍니다.
docker-compose.yaml 파일에 있는 두 서비스(n8n과 n8n-on-hstgr)의 구성과 연결 방식을 설명하며, 호스트명 변경 시 주의점을 안내합니다.
도커 컴포즈 파일에서 env 파일과 시크릿의 차이점을 설명하고, Tailscale auth key를 시크릿으로 관리하면 여러 Docker 컨테이너에서 쉽게 사용할 수 있음을 설명합니다.
n8n 설정을 위해 시크릿을 컨테이너 내 /run/sec/ts_offkey 파일로 추가하고 TS_EXTRAARGS 환경변수에서 읽도록 구성합니다.
docker compose up 명령으로 n8n을 시작하고, 성공적으로 실행되면 tailscale 머신 목록에 'n8n on hostinger'가 표시됩니다.
[00:17:06] Caddy로 HTTPS 설정

Cloudflare DNS에 A 레코드 추가, Caddy 컨테이너를 Docker Compose로 실행해 리버스 프록시 및 Let’s Encrypt SSL 인증서를 자동 발급받는 절차를 진행합니다.

테일스케일에서 해당 머신의 IP 주소를 복사하여 브라우저에서 포트 5678과 함께 접속하면 HTTPS 사용 안내 화면이 나타납니다.
Cloudflare DNS에서 n8n을 가리키는 A 레코드를 추가합니다. 이때 테일넷 주소가 아닌 호스팅어 서버의 실제 IP 주소를 사용합니다.
컨테이너를 중지하고 docker compose up -d로 백그라운드에서 실행한 후, caddy 디렉토리로 이동하여 Caddyfile에 실제 도메인을 설정합니다.
Caddy를 시작하고 웹 브라우저에서 설정한 도메인으로 접속합니다. Caddy는 프록시 역할을 하며 Let's Encrypt에서 자동으로 HTTPS 인증서를 추가합니다.
인증서 발급에는 몇 분이 걸릴 수 있으며, 완료 후 n8n 초기 설정 화면이 표시됩니다. 이메일, 이름, 비밀번호를 입력하여 첫 사용자를 설정합니다.
n8n 설정에서 '사용량 및 계획'으로 이동해 잠금 해제하면 무료로 보너스 기능을 얻을 수 있습니다. 보안을 위해 2단계 인증을 활성화하세요.
n8n 사용 전에 호스팅어 관리 패널에도 2단계 인증을 추가하고, homelab/watchtower에서 env 파일을 편집하여 적절한 시간대를 설정한 후 docker compose up -d로 실행합니다.
[00:19:59] Watchtower 자동 업데이트

Watchtower 컨테이너에 타임존 설정을 적용하고 매일 새벽 4시에 이미지 업데이트·재시작을 수행해 Docker 서비스 최신화를 자동화합니다.

Docker Compose를 사용해 컨테이너를 최신 버전으로 자동 업데이트하는 방법을 설명합니다. 매일 오전 4시에 자동으로 최신 소프트웨어를 가져와 재시작하며, 이는 개인 서버에는 이상적이지만 기업 환경에는 적합하지 않을 수 있습니다.
N8N 서버를 구성한 후 MCP 클라이언트(Claw 데스크톱, Cursor, Windsurf 등)를 설정하는 과정을 시작합니다. Windsurf를 사용해 N8N에서 노출된 도구들을 활용하는 방법을 보여줍니다.
[00:20:32] MCP 도구 노출 및 Windsurf 연결

n8n에서 MCP 서버 트리거 노드를 추가해 calculator 도구를 활성화하고, Windsurf 클라이언트에서 해당 도구를 호출하는 과정을 실습합니다.

N8N에서 첫 워크플로우를 만드는 단계를 설명합니다. MCP 서버 트리거를 추가하고, URL 구성 및 Bearer 인증을 설정하여 보안을 강화하는 방법을 보여줍니다.
MCP 클라이언트에 추가할 수 있는 다양한 도구 옵션을 소개합니다. JavaScript, Python, RESTful API 호출, 벡터 스토어, Airtable, S3, Discord 등 N8N의 다양한 통합 기능을 활용할 수 있습니다.
간단한 계산기 도구를 추가하고 활성화하는 과정을 보여줍니다. 프로덕션 URL을 복사하여 Windsurf나 Cursor가 설치된 기기에서 사용할 수 있도록 준비합니다.
Windsurf와 Cursor의 차이점을 설명합니다. Windsurf의 한계점으로, MCP와 함께 SSC를 사용할 수 있지만 Cursor와 달리 인증 기능을 활성화할 수 없다는 점을 언급합니다.
Windsurf에서는 Cursor와 달리 인증 활성화가 불가능하여 MCP 서버가 완전히 개방되어야 하는 문제가 있습니다.
이 문제를 해결하기 위해 MCP 프록시를 사용하는 것이 가장 간단한 방법입니다. config.json 파일을 만들어 MCP 서버 URL과 bearer 토큰을 지정해야 합니다.
설정을 저장하고 새로고침하면 계산기 도구를 가진 서버가 표시되며, n8n에서 날짜/시간 도구와 같은 추가 도구를 설정할 수 있습니다.
[00:24:18] MCP Proxy로 인증 문제 해결

Windsurf의 인증 제약을 우회하기 위해 MCP Proxy를 설정하고, proxy config.json에 서버 URL·Bearer 토큰을 지정해 보안을 유지합니다.

기본 MCP 노드는 SSE 서버만 지원하지만, 표준 IO MCP 서버를 사용하려면 n8n-nodes-mcp 커뮤니티 노드를 사용할 수 있습니다.
앞으로의 영상에서 n8n의 더 많은 기능과 searchng, firecrawl, perplexica 등 다양한 서비스 설정 방법을 소개할 예정입니다.
[00:25:07] 결론 및 향후 계획

추가 서비스(searchng, firecrawl, no-code UI 등) 통합 예고, n8n과 MCP를 활용한 확장 기능을 다음 영상에서 다룰 예정입니다.

타임라인 정보가 없습니다.

바위 밑에 살고 있지 않다면,
아마 MCP, 즉 Anthropic의 모델 컨텍스트 프로토콜에
대해 들어봤을 겁니다. 아마도
이제 MCP로 작업을 시작해야 한다고 생각할 수도 있죠.
하지만 어떻게 시작해야 할지 모를 수도 있습니다.
이 영상에서는 MCP와
앞으로 나올 다른 기술들을 위한 플랫폼을
만드는 방법을 보여드리고,
다른 작업들도 자동화할 수 있는 방법을
알려드리겠습니다. N8N이라는 플랫폼을 사용하는데,
한 번 설정해 놓으면 사용하기 정말 쉽습니다.
이 영상은 설정하고 시작하는 데
필요한 모든 단계를 포함한 포괄적인 튜토리얼입니다.
설정하고 시작하는 데 필요한
모든 단계를 포함한 종합적인 튜토리얼입니다.
MCP는 AI와 함께 사용할 도구를 작성하고
공유하는 방법에 대한 표준입니다.
현재로서는 주로 AI 코딩 도구에서
활용하는 방식이지만, N8N과 같은 도구를 사용하면
수천 개의 MCP 컴포넌트를 어떤 워크플로우에서든
사용해 원하는 작업을 자동화할 수 있습니다.
소셜 미디어용 새 콘텐츠를 생성하거나
Slack과 통합되는 애플리케이션을
구축하고 싶을 수도 있습니다.
아니면 상상할 수 있는 그 어떤 것이든 가능합니다.
N8N과 MCP를 사용하면 코딩 방법을
알 필요도 없이 거의 모든 것을 구축할 수 있습니다.
그렇긴 하지만, 코딩 기초만이라도
며칠만 배우면 훨씬 더 빠르게,
훨씬 더 많은 것을 할 수 있습니다.
그럼 여기서 무엇을 설정할지 알아볼까요?
먼저, VPS 설정 방법을 안내해 드리겠습니다.
이전 영상에서도 다뤘지만,
이번 방법은 몇 년에 걸쳐
약 200달러를 절약할 수 있습니다.
서버를 보호하기 위해 보안 설정에도
시간을 조금 투자할 것입니다.
인터넷의 나쁜 사람들로부터
리소스를 보호하기 위해서죠.
그 VPS에 N8N을 설치하고
테일스케일(TailScale)이라는 무료 서비스에
연결할 것입니다. 이를 통해 특별한 과정 없이
메인 노트북에서 Ollama와 다른 도구들을
실행할 수 있게 됩니다.
그리고 Caddy를 사용해 N8N을
외부에 공개할 것인데, 이를 통해
인증서를 사용한 HTTPS로 안전한 연결이 가능해집니다.
또한 VPS에 다른 서비스들을
쉽게 추가할 수 있도록
몇 가지 추가 단계도 진행할 것입니다.
예를 들어 Searxng, Firecrawl,
NoCodebase 등과 같은 서비스들을 말이죠.
특정 작업을 포함한 대부분의 제 영상과 마찬가지로,
이 영상에도 필요한 모든 리소스와 명령어가 담긴
GitHub 저장소가 있습니다.
제 조직 Techno Evangelist 아래에 있는
HomeLab이라는 저장소입니다.
VPS를 설정하기 위해
Hostinger라는 제공업체를 사용할 것입니다.
저는 항상 클라우드 서버를 위해
Digital Ocean이라는 회사를 사용했습니다.
그들이 처음 시작했을 때는
다른 모든 대안들보다 훨씬 저렴했지만,
지금은 제공하는 서비스에 비해
실제로 꽤 비싼 편입니다.
Hostinger에서 사용할 수 있는
특별 코드가 있는데, 이를 통해
비용을 더 낮출 수 있습니다. 이에 대해 곧 설명하겠습니다.
제가 이전 설정에서 사용하던 것은 다음과 같습니다.
가상 CPU 1개, RAM 2GB, SSD 50GB,
그리고 2GB의 데이터 전송량이었습니다.
이것에 Digital Ocean에 월 12달러를 지불했고,
주간 백업을 위해 3달러를 더 지불했습니다.
그리고 이미 이런 한계들에 많이 부딪히고 있었죠.
하지만 저는 한 가상 CPU가
월에 주간 백업으로 $3을 추가로 지불했습니다. 그리고
이미 상당수의 한계치에 도달하고 있었습니다.
하지만 저는 한 플랫폼의 가상 CPU가
다른 플랫폼의 가상 CPU와 동일한지 궁금했습니다.
그래서 제 Digital Ocean 드롭렛과
Hostinger의 단일 가상 CPU에서
Geekbench를 실행하여 간단한 테스트를 해봤습니다.
불행히도 Geekbench는 제 Digital Ocean 인스턴스에서
작동하지도 않았습니다. 하지만 Ubuntu 대신
Debian을 사용하는, 제 설정과 동일한
다른 결과를 찾았습니다.
그래서 이 둘을 비교해 봅시다. 보시다시피,
두 서비스는 동등하지 않습니다. 둘 다 단일 vCPU 코어이지만,
Hostinger에서는 훨씬 더 강력한 칩을
훨씬 적은 비용으로 얻고 있습니다. 정말로
더 좋은 시스템을 더 저렴하게 이용할 수 있을 거라고는
예상하지 못했습니다. 만약 단지 몇 달러 차이라면,
Digital Ocean과의 오랜 경험 때문에 정당화할 수 있었을 텐데,
가격 차이가 너무 커서
무시할 수 없습니다.
Digital Ocean에서 한 달 사용하는 비용으로
Hostinger에서는 더 좋은 머신을
3개월 동안 이용할 수 있습니다.
Digital Ocean에서 한 달 비용으로
Hostinger에서는 더 좋은 머신을 3개월 동안 사용할 수 있습니다.
보시다시피, 저는 이 서비스에 꽤 감명받았습니다.
그래서 그들이 이 영상의 스폰서를
제안했을 때 특히 기뻤습니다.
하지만 그들은 제가 올리기 전에
스크립트를 보지 않았습니다. 따라서 이것은 정말로
제 솔직한 생각입니다. 그래서,
Hostinger에게 감사드립니다.
제가 하는 일을 도와주셔서요.
이제 설정을 시작해 보겠습니다. 먼저,
hostinger.com/mattw에서
Hostinger 웹사이트를 방문하세요.
이 링크의 특별한 점은 이 영상을 통해
얼마나 많은 사람들이 웹사이트를 방문하는지
확인할 수 있다는 것입니다.
이 링크는 N8N을 위한 VPS 호스팅에
관한 페이지로 연결됩니다. 많은 제공업체들이
플랫폼에서 서버를 설정할 때
다양한 선택지를 제공합니다. vCPU를 몇 개 원하나요?
속도는 얼마나 빠른가요? RAM과 저장 공간은 얼마나 필요한가요?
데이터 전송량은 얼마나 필요한가요?
쉽게 천 개의 SKU를 지원해야 합니다. 하지만 Hostinger는
단순하게 유지합니다. 네 가지 다른
가능성을 가진 하나의 옵션이 있습니다.
vCPU 코어 1개, RAM 4GB, NVME 디스크 50GB,
그리고 대역폭 4TB를 제공하는 KVM1이 있습니다.
KVM2는 이 모든 것을 두 배로 늘립니다. KVM4는 KVM2가 가진 것을
두 배로 늘리고, KVM8은 또 다시
두 배로 늘립니다. 그게 전부입니다. 제 Digital Ocean
설정은 확실히 가끔씩 많은 한계에 도달하고 있었습니다.
그래서 여전히 훨씬 저렴하기 때문에,
저는 KVM2를 선택하겠습니다.
이 머신에서 실행할 모든 서비스에 대해,
이 옵션이 최적이라고 생각합니다.
다시 말하자면, vCPU 코어 2개, RAM 8GB,
NVME 디스크 100GB 기본, 그리고
대역폭 8TB입니다.
그리고 여기에는 주간 백업이 포함됩니다.
그러니 이것을 선택하고 버튼을 클릭하세요.
다음 단계는 서버를 얼마나 오래
실행할지 결정하는 것입니다. 제가 본 대부분의 제공업체는
자원을 소비하고 한 달이 끝나면
사용한 만큼 요금이 청구되며,
제가 설정한 대부분은 2~4년 동안 유지되었습니다.
Digital Ocean은 월별로 청구하지만, Hostinger는
월별, 1년 또는 2년 단위로
청구하며, 더 오래 사용할수록 더 저렴해집니다.
Digital Ocean은 월별로 청구하지만, Hostinger는
한 달, 1년 또는 2년 단위로 요금을 청구하며,
사용 기간이 길수록 더 저렴해집니다.
그리고 사용 기간에 따라 미리 지불합니다.
선결제하게 됩니다. 그 기간에 대해 미리 지불하게 되며
30일 환불 보증이
제공됩니다.
다음으로 서버 위치를 선택하세요.
Hostinger는 전 세계에 데이터 센터를 보유하고 있습니다.
저는 제게 가장 가까운 미국을 선택합니다.
다음 선택은 서버에 설치할 내용입니다.
현재 기본 OS에 대한 11가지 선택지가 있습니다.
어느 것이든 클릭하면 버전을 선택할 수 있습니다.
'OS with panel' 옵션도 있는데,
이는 OS에 DocPloy나 Coolify 같은 것을 설치해서
사용자 정의 프로젝트를 쉽게 배포할 수 있게 해줍니다.
사용 가능한 패널이 많은데,
대부분은 제가 들어본 적 없는 것들입니다.
그리고 특정 애플리케이션도 선택할 수 있습니다.
여기에는 정말 많은 선택지가 있습니다.
그 중 두 가지가 n8n입니다. 첫 번째는 기본 n8n 설정이고,
다른 하나는 아마도
n8n 서버 클러스터를 구축하려는 경우인 것 같습니다.
일반 n8n 설정을 선택하면 약 3-4분 만에
설치 및 실행이 가능합니다. Docker를 설치하고
n8n을 실행하기 위한 Docker Compose 파일을 제공합니다.
또한 VPS 서버 이름 아래에 서브도메인도 생성하는데,
이는 꽤 편리합니다. 그리고 무엇을 선택하든
나중에 언제든지 다른 옵션으로 머신을
초기화할 수 있습니다.
이 비디오에서 설정할 방법은 n8n을 약간 다르게 구성합니다.
깔끔한 설정을 원하기 때문에
Docker만 선택하겠습니다. 이제
쿠폰 코드가 있다는 링크를 클릭하세요.
쿠폰 코드는 'MattW'입니다.
M-A-T-T-W, 제 이름입니다.
이것은 모든 연간 요금제에 추가 할인을 받을 수 있는
한정 특별 혜택입니다.
그런 다음 계속을 클릭하세요.
이제 새 계정을 등록하거나 기존 계정으로 로그인할 수 있습니다.
새 계정을 등록하는 경우,
청구 주소와 결제 정보를 입력할 수 있습니다.
그런 다음 계속 진행합니다. 다음 화면에서는
루트 비밀번호로 사용할 것을 입력합니다.
좋은 비밀번호를 입력하고 비밀번호 관리자에 저장하세요.
그런 다음 공개 SSH 키를 추가할 수 있습니다.
이미 사용하려는 키가 있으면 추가하세요.
그렇지 않으면 새로 만드는 방법에 대한 안내가 있습니다.
그런 다음 계속을 클릭하세요.
이제 설정을 완료하면
VPS가 생성됩니다. 사용할 도메인이 없다면,
하나 만드세요. Hostinger 대시보드에서
할 수 있습니다.
도메인이 이미 있다고 가정하고 VPS 관리로 넘어갑니다.
이제 클라우드에 작동하는 VPS 또는
가상 머신이 있습니다. 여러 단계를 진행할 텐데,
중간에 잘못된 것이 있다고 느껴지면
OS 및 패널로 이동한 다음 운영 체제를 선택하고,
'OS' 또는 'OS with panel' 또는 '애플리케이션'을 다시 선택해서
완전히 초기화할 수 있습니다. 대부분의 튜토리얼에서는
바로 n8n 설정으로 넘어가겠지만, 어떤 플랫폼을 사용하든
머신을 보호하는 것이 정말 중요합니다.
그러니 왼쪽의 보안으로 이동한 다음
방화벽을 클릭하세요. 방화벽을 추가하고
이름을 지정하세요.
방화벽이 작동하려면 최소한 하나의 규칙을 추가해야 합니다.
잠시 후에 웹 서버를 설정할 예정입니다.
여러 단계를 진행할 건데,
만약 중간에 뭔가 잘못했다고 느껴지면
언제든지 'OS 및 패널'로 가서
운영 체제를 선택한 다음, OS나 패널이 있는 OS,
또는 애플리케이션을 다시 선택해
완전히 초기화할 수 있습니다.
대부분의 튜토리얼은 이 시점에서
바로 n8n 설정으로 안내하겠지만,
어떤 플랫폼을 사용하든 머신을 보호하는 것이 정말 중요합니다.
그러니 왼쪽의 보안으로 이동한 다음
방화벽을 클릭하세요. 방화벽을 추가하고
이름을 지정하세요. 방화벽이 작동하려면
이름을 지정하세요. 방화벽이 작동하려면 최소한
하나의 규칙을 추가해야 합니다. 우리는
곧 웹 서버를 설치할 것이고 이 서버는
443 포트에서 응답할 것이며
SSH를 계속 사용하기 위해 22번 포트도 필요합니다. 그러니
오른쪽에 있는 세 개의 점을 클릭하고
편집을 선택하세요. 이제 방화벽 규칙 추가 아래에서
프로토콜로 SSH를 선택하고
규칙 추가를 클릭하세요. 그다음 HTTPS를 선택하고
다시 규칙 추가를 클릭하세요.
이제 방화벽 창으로 돌아가서
방화벽을 활성화하세요. 이제 사람들은 오직
443번과 22번 포트로만 서버에 접속할 수 있습니다.
이제 오른쪽 상단의 브라우저 터미널 버튼을 누르면
서버에 SSH로 접속됩니다. 이것은 시작하기에
편리한 방법입니다. 하지만 모든 작업을
루트로 하지 않는 것이 좋습니다. 비록
Ubuntu OS에는 보통 Ubuntu 사용자가 있지만,
저는 제 이름으로 사용자를 만드는 것을 선호합니다.
이 영상을 처음 준비할 때는
여러분이 모든 것을 직접 하도록 할 계획이었지만,
준비 작업을 자동화하기로 결정했습니다.
따라서 첫 번째 단계는
제가 만든 리포지토리를 클론하는 것입니다. git clone
https://github.com/technofangelist/homelab.git을 입력하세요.
이제 새 홈 디렉토리로 이동해서
less prep.sh 명령어를 실행하여
실행하기 전에 스크립트가 무엇을 하는지 살펴봅시다.
상단에서는 오류가 발생하면
스크립트가 실패하도록 설정합니다. 그런 다음 zsh가
사용 가능한지 확인합니다. Fish가 더 좋지만,
zsh도 충분히 좋고 아마 여러분에게
더 친숙할 것입니다. 다음으로 스크립트가
적절한 사용자 이름과 비밀번호를 묻습니다.
스크립트는 이 정보를 저장하지 않고 사용자를
생성하는 데만 사용합니다. 이제
해당 사용자가 이미 존재하지 않는지 확인합니다. 그런 다음
사용자를 생성하고 sudo와 docker를 실행할 수 있도록
권한을 부여합니다. 루트 사용자에 SSH 키를
추가했으므로, 그 공개 키를
새 사용자에게도 복사합니다. ZSH를 활성화합니다.
그런 다음 비밀번호로 SSH 로그인이나
루트 로그인을 할 수 없게 하고 PAM을 사용하지 않도록 설정합니다.
그리고 SSH를 재시작한 다음 HomeLab
디렉토리를 새 사용자 디렉토리로 이동합니다. 이제
스크립트를 실행하여 모든 것을 설정하세요.
./prep.sh를 실행하면 모든 작업이
수행됩니다. 이 과정이 약간 번거롭고
다른 플랫폼에서는 이런 작업을 하지 않아도 되기 때문에
다른 플랫폼을 사용해야 하는 이유라고 생각할 수도 있습니다.
하지만 이것은 클라우드의 어떤 인스턴스에서도
수행해야 하는 기본적인 작업입니다.
아시는지 모르겠지만, 웹에는 꽤
의심스러운 인물들이 있습니다. 그리고 이런
최소한의 조치를 취하지 않으면
문제를 자초하는 셈입니다.
이제 SSH를 사용해 사용자 이름과
호스팅 서버의 IP 주소로 접속을 시도해도
여전히 작동하지 않을 수 있습니다. 이는 키가
OS의 키체인에 없을 때 발생할 수 있습니다.
ssh-add 명령어로 키를 추가하거나, 저는
SSH 디렉토리의 config 파일에
항목을 만드는 것을 선호합니다. 이제 그냥
ssh video 명령어를 실행하면 접속됩니다. 이 스크립트는
많은 작업을 수행했습니다. 왜 이런 작업을 했는지 또는
VPS를 어떻게 관리해야 하는지에 대해 궁금한 점이 있으면
Hostinger 대시보드에서 Kodi도 확인해보세요.
이것은 Hostinger에서 작업하는 데 도움을 주는
무료 AI입니다. 하지만 이 영상의
나머지 부분은 앞으로 훨씬 더 쉬워질 것입니다.
Hostinger 대시보드에서 Kodi도 꼭 확인해보세요.
이것은 Hostinger 사용에 도움을 주는
무료 AI입니다. 하지만 이 영상의
나머지 내용은 앞으로 훨씬 쉬워질 것입니다.
앞으로 진행할 모든 것이 훨씬 더 쉬워질 것입니다.
이제 방향을 좀 바꿔볼게요. 저는
제 GPU를 활용하기 위해 N8N 설정에서 제 Mac에 접속하고 싶어요
또한 제 호스트에 다른 서비스들을 추가해서
저만 접근할 수 있게 하고 싶어요. 그래서
이를 위해 Tailscale을 사용할 거예요.
아직 Tailscale 계정이 없으시다면
tailscale.com에 가서 계정을 만드세요.
3명 이상의 명명된 사용자가 필요하지 않다면 완전히 무료입니다.
계정을 만든 후에는
여러분의 기기에 Tailscale 클라이언트를 설치하세요.
그런 다음
Tailscale 관리자 페이지에서
설정으로 가서 키를 선택한 다음
오프 키(auth key)를 생성하세요.
재사용 가능(reusable)을 활성화하고
키를 생성하세요. 그 키를 클립보드에 복사하세요.
이제 VPS의 터미널로 돌아가서
사용자 홈 디렉토리의 config 디렉토리로 이동하세요.
그리고 그곳에 ts_auth_key라는 새 파일을 만드세요.
그리고 파일에 키만 붙여넣으세요.
다른 내용은 추가하지 마세요. 이것이
Docker 컨테이너를 tailnet에 추가하는 데 사용할 키입니다.
이제 Tailscale 관리자 페이지에서
기기로 이동해
기기 추가 버튼을 클릭하고 Linux를 선택하세요.
그런 다음 페이지 하단에서
설치 스크립트 생성을 클릭하세요. 스크립트를 복사하고
VPS로 돌아가세요.
명령어를 붙여넣으세요.
이렇게 하면 VPS가 Tailscale tailnet에
추가됩니다. 이제 homelab
디렉토리로 이동한 다음 n8n 디렉토리로 가세요.
.env 파일을 편집해서 N8N_HOST와 WEBHOOK_URL
변수를 원하는 값으로 설정하세요.
제가 좋아하고 소유하고 있는
도메인 중 하나는
tvL.st입니다. 그래서 저는
nadn.tvl.st로 설정할 거예요. 이제 docker-compose.yaml 파일을
살펴보세요. 두 개의 서비스가 있습니다.
첫 번째는 n8n입니다.
이것은 표준 n8n 도커 컴포즈 파일과 거의 비슷합니다.
다만 제가 방금 편집한
.env 파일에서 환경 변수를 가져온다는 점이 다릅니다.
그리고 두 번째 서비스는 n8n-on-hstgr 또는
hostinger입니다. 이것을 다른 이름으로 바꾸고 싶다면
이 서비스의 호스트명과
n8n 서비스의 네트워크 모드를 변경해야 합니다.
이것이 그들이 연결되는 방식입니다.
이 서비스의 다른 모든 설정은
Tailscale tailnet에 추가하려는 모든 도커 기반 서비스에 대해
동일할 것입니다.
이건 나중 영상에서 다시 보게 될 거예요.
services 아래에는 secrets가 있습니다.
이것은 방금 전에 만든 ts_auth_key를 로드합니다.
저는 이 도커 컴포즈 파일에 두 가지 타입의 파일을 로드하고 있습니다.
env 파일과 시크릿입니다. 시크릿은
파일당 하나의 정보만 가질 수 있지만
호스트 파일 시스템 어디에나 위치할 수 있습니다.
ENV 파일은 많은 정보를 담을 수 있지만
도커 컴포즈 파일과 같은 디렉토리에
있어야 합니다.
만약 Tailscale auth key의 복사본을 하나만 두고 싶다면
시크릿을 사용해야 합니다. 이렇게 하면
그 부분이 더 쉬워집니다.
이제 많은 Docker 컨테이너를
tailnet에 추가할 수 있고 키에 대해 걱정할 필요가 없습니다.
이제 TS_AUTH_KEY는
시크릿 섹션의 파일에서 로드됩니다.
그리고 N8N on Hostinger
서비스에서 TS_AUTH_KEY가
시크릿에서 로드되었음을 선언합니다.
그런 다음 N8N on Hostinger
서비스에서 TS_AUTH_KEY가
시크릿이 로드되어야 합니다. 이것이
컨테이너 내의
/run/sec/ts_offkey 파일로 추가되고
이는 TS_EXTRAARGS 환경 변수에서 읽혀집니다.
이제 docker compose up 명령어로
n8n을 시작할 수 있습니다.
이미지를 가져오고 모든 것을 시작하는 데 몇 초 정도 걸립니다.
명령어에 -d 옵션을 추가하지 않았기 때문에
오류가 발생하면 볼 수 있습니다.
이 시점에서 tailscale의 머신 목록에
'n8n on hostinger'가 표시되어야 합니다.
테일스케일에 있는 해당 머신의
IP 주소를 복사하여 확인할 수 있습니다.
테일스케일 관리자에서 해당 머신의 IP 주소를
복사한 다음 브라우저에 붙여넣고
포트 번호를 추가하면 됩니다.
5678 포트를 추가하면
HTTPS를 사용해야 한다는 화면이 나타납니다.
이것은 테일스케일 네트워크의 IP 주소임을
알아두는 것이 중요합니다.
이는 서버에 SSH 접속하는 데 사용한 IP 주소와 다릅니다.
그럼 이 문제를 해결해 보겠습니다.
제 도메인 tvl.st는 Cloudflare에서 호스팅되고 있습니다.
Cloudflare DNS로 가서 해당 도메인에
n8n을 가리키는 A 레코드를 추가하겠습니다.
이 때 호스팅어 서버의 IP 주소를 사용하고
테일넷 주소가 아닌 실제 서버 IP를 사용합니다.
SSH 터미널로 돌아가서 Ctrl+C를 눌러
컨테이너를 중지합니다.
그런 다음 docker compose
up -d 명령어를 실행하여
정상 작동이 확인된 컨테이너를
백그라운드에서 실행합니다.
이제 상위 디렉토리로 이동한 다음 caddy 디렉토리로 이동합니다.
caddy 파일 디렉토리로 가서
Caddyfile을 편집합니다.
파일을 편집하여 첫 번째 줄에 실제 도메인을 입력하세요.
이제 docker compose up -d를 실행하여
caddy를 시작합니다. 그런 다음 웹 브라우저에서
Caddyfile에 입력한 주소로 이동합니다.
이것이 바로 작동하지 않을 수도 있습니다.
Caddy는 프록시 역할을 하여 n8n의 내용을 대신 보여줍니다.
또한 Let's Encrypt에서 자동으로
HTTPS 인증서를 추가합니다.
이 과정은 Let's Encrypt와 몇 번의 왕복 통신이 필요하며
몇 분 정도 소요될 수 있지만
페이지를 몇 번 새로고침한 후에는
첫 번째 사용자를 설정할 수 있는
이런 페이지가 표시될 것입니다.
이메일, 이름, 성 및 비밀번호를 입력하고
다음을 클릭하세요. 로그인하면
하단의 세 개의 점을 클릭하고 설정을 선택하여
설정으로 이동하세요.
사용량 및 계획으로 이동하여 잠금 해제 링크를 클릭합니다.
이메일을 입력하고 버튼을 클릭하세요.
가입하면 제품에서 좋은 보너스 기능을 얻을 수 있습니다.
게다가 완전히 무료입니다.
해당 이메일을 기다리는 동안 개인 설정으로 이동하여
2단계 인증을 활성화하는 버튼을 클릭하세요.
이렇게 하면 로그인이 공개 웹에 있기 때문에
서버에 약간의 보안이 추가됩니다.
보안을 강화하는 김에 호스팅어 관리 패널에서도
동일하게 2단계 인증을 추가하세요.
n8n을 사용하기 전에 한 가지 더 작업을 해보겠습니다.
homelab/watchtower로 이동하여
env 파일을 편집하세요.
미국 서부 해안 이외의 지역에 살고 있다면
올바른 시간대를 입력하세요.
이제 docker compose up -d를 실행하여
watchtower를 시작합니다.
이제
homelab/watchtower에서 env 파일을 편집하고
미국 서부 해안 이외의 지역에 사는 경우
올바른 시간대를 입력하세요.
이제 docker compose up -d를 실행합니다.
해당 폴더에서 docker compose up -d를 실행합니다. 이렇게 하면
이 머신의 모든 컨테이너 이미지의 최신 버전을
가져와서 컨테이너를 재시작하여
항상 최신 소프트웨어를 실행할 수 있도록 합니다.
이것은 매일 오전 4시에
실행됩니다.
회사의 프로덕션 환경에서는 이렇게 하지 않겠지만,
개인 서버이기 때문에 완벽합니다.
이제 N8N 서버가 작동하고 있으니,
MCP 클라이언트에서 MCP를 사용하는 것으로 넘어갈 수 있습니다.
이는 Claw 데스크톱이나 Cursor, Windsurf,
또는 다른 여러 플랫폼이 될 수 있습니다.
저는 Windsurf로 작업하겠습니다.
먼저, N8N을 사용하여 몇 가지 도구를 노출시켜서
Windsurf에서 사용할 수 있도록 하겠습니다.
N8N 페이지 중앙의 큰 아이콘을 클릭하여
첫 번째 워크플로우를 만들어 봅시다.
이제 플러스 기호를 클릭하여
첫 번째 노드를 추가합니다. 검색창에 MCP를 입력하고
MCP 서버 트리거를 선택합니다.
여기서 몇 가지 설정을 할 수 있습니다. 먼저 중앙의 URL을 확인하세요.
URL에는 N8N 서버 주소가 있고,
그 다음에 MCP test, 긴 GID,
그리고 SSSE가 있습니다. 이것은 테스트 URL이지만,
프로덕션 URL을 클릭하면 어떻게 생겼는지 볼 수 있습니다.
이것은 단순히 중간에 'test'를 제거한 것이지만,
활성화하기 전까지는 사용할 수 없습니다.
긴 GID 부분은
원하는 경로명으로 대체할 수 있습니다.
아마도 'my-MCP'와 같은 이름으로요. URL을 알고 있는 사람은
여기서 구성한 도구들을 모두 사용할 수 있습니다.
따라서 인증을 추가하는 것이 좋습니다.
bearer 인증이나 헤더 인증을 추가할 수 있습니다.
bearer를 선택하고 새 자격 증명을 만듭니다.
사용하고 싶은 토큰 문자열을 입력하세요.
이 간단한 예시에서는
ABC123을 사용하겠지만,
실제로는 더 긴 복잡한 비밀번호를 사용해야 합니다.
이제 캔버스로 돌아가서
이 창을 닫습니다.
MCP 서버 트리거 노드 아래에서
도구의 플러스 기호를 클릭합니다. 이것들은
Windsurf와 같은 MCP 클라이언트에 추가할 수 있는 도구 옵션입니다.
임의의 JavaScript나 Python 코드,
RESTful API 호출, N8N의 다른 워크플로우 등을 추가할 수 있습니다.
그리고 아래로 스크롤하면
다양한 벡터 스토어와
N8N에서 사용 가능한 거의 모든 통합이 있습니다.
Airtable의 특정 행을 사용할 수 있게 하거나
Sauna나 S3 버킷, Cloudflare,
DHL, Discord 등의 정보를
파일 시스템의 모든 명령이나
이메일을 활용할 수 있습니다. 이 목록은 계속 이어집니다.
하지만 첫 번째는 간단하게 유지하겠습니다.
검색창에 'calc'를 입력하고 계산기를 선택하세요.
캔버스로 돌아가서 비활성화를 활성화로 전환하고 저장합니다.
이제 MCP 서버 트리거로 돌아가서
프로덕션 URL을 선택하고 URL을 클릭합니다. 이렇게 하면
클립보드에 복사됩니다.
이제 Windsurf나 Cursor가 설치된
기기에서 MCP가 구성된 곳으로 이동합니다.
그리고 Windsurf에서 약간 귀찮은 부분이 있습니다.
사실 현재로서는 Cursor가 Windsurf보다
갖는 유일한 장점일 수도 있습니다.
물론 이것도 변할 수 있지만요.
Windsurf에서는 MCP와 함께 SSC를 사용할 수 있지만
Cursor에서처럼 인증을
활성화할 수 없습니다.
이것이 Windsurf의
약간 성가신 부분입니다.
사실 현재로서는 Cursor가 Windsurf보다
가지는 유일한 이점일 수 있습니다.
물론 이는 변할 수 있지만,
MCP에서 SSC를 사용할 수는 있어도
Windsurf에서는 인증을 활성화할 수 없습니다,
제가 생각하기엔 Cursor에서는 가능한 것 같은데요.
그래서 MCP 서버가 완전히 개방되어 있어야 하는데,
이건 좀 문제가 될 수 있습니다.
이 문제의 해결책은 MCP 프록시를 사용하는 것입니다,
물론 수퍼 게이트웨이를 사용하는 예시도 봤지만요.
MCP 프록시가 사용하기에 좀 더 간단한 것 같습니다.
그러니 다음 내용으로 MCP config.json 파일을 만드세요.
이것은 MCP 프록시를 실행할 것입니다.
MCP 서버의 URL을 인자로 전달하고
bearer 토큰을 지정합니다.
이제 저장하고 새로고침을 클릭하면
계산기 도구가 있는 서버가 표시될 것입니다.
원한다면 두 번째 도구를 추가할 수 있습니다.
n8n에 추가해보죠. 날짜/시간 도구를 원할 수도 있습니다.
Windsurf로 돌아가서,
새로고침 버튼을 클릭하면 도구가 추가됩니다.
꽤 쉽죠. n8n에서는
다른 MCP 서버도 추가할 수 있습니다.
하지만 내장된 MCP 노드에서는 SSE 서버로 제한됩니다.
만약 표준 IO MCP 서버를 사용하고 싶다면,
안타깝게도 이게 더 일반적인데요,
커뮤니티 노드인 n8n-nodes-mcp를 확인해보세요.
다른 영상에서 더 자세히 다룰 예정입니다.
정말 멋지죠. n8n으로 할 수 있는 일이
훨씬 더 많고, 앞으로의 영상에서
여러분에게 할 수 있는 것들을 보여드리고 싶습니다.
그리고 제가 호스팅이나 VPS에 추가할 계획인
다른 서비스들의 설정 방법도 보여드릴 예정입니다.
예를 들면 searchng, firecrawl,
perplexica, 어쩌면 Buddhabase나
no codeb UI 등 정말 많은 것들이 있습니다.
n8n 작업을 시작하면서,
새로운 기능 중 하나가 정말 유용할 것입니다.
이에 대해 더 자세히 알아보려면 여기 이 영상을 확인하세요.
그리고 Hostinger에 가입할 때
모든 플랜에서 추가 10% 할인을 받을 수 있는 특별 한정 혜택을 기억하세요.
그 코드는 Matt W였습니다.
MTW, 제 이름이죠.
함께해 주셔서 감사합니다.
다음 영상에서 곧 뵙겠습니다. 안녕히 계세요.