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