지난 포스팅에서 우리는 가성비 좋은 콘타보 VPS 서버를 구매하고 도메인까지 연결하는 준비 과정을 마쳤습니다. 이제는 텅 빈 서버 공간에 실제 일을 수행할 디지털 노동자인 n8n을 설치할 차례입니다. 하지만 단순히 프로그램을 설치하는 것이 아니라, 추후 관리와 확장을 고려해 도커(Docker)라는 가상화 기술을 사용할 것입니다. 리눅스 명령어에 익숙하지 않은 분들도 쉽게 따라 할 수 있도록, GUI 관리 도구인 포르테이너와 윈도우 친화적인 RaiDrive를 활용한 실전 구축 노하우를 공유합니다.
서버 운영, 모바엑스텀(Mobaxterm)
서버 운영의 첫 관문은 검은 화면의 터미널 접속입니다. 보통 PuTTY를 많이 사용하지만, 저는 모바엑스텀(Mobaxterm)을 강력하게 추천합니다. 이 프로그램은 SSH 접속뿐만 아니라 서버 내부의 파일을 윈도우 탐색기처럼 보여주는 SFTP 기능이 내장되어 있어, 파일 업로드와 다운로드가 매우 직관적이기 때문입니다. 서버에 접속했다면 가장 먼저 해야 할 일은 도커를 설치하는 것입니다. 도커는 우리가 사용할 n8n을 포함한 각종 소프트웨어를 컨테이너라는 상자에 담아 구동시키는 기술입니다. 이렇게 하면 프로그램 간의 충돌을 막고, 서버를 깔끔하게 관리할 수 있습니다. 필수 패키지를 업데이트하고 도커 엔진을 설치하는 과정은 복잡해 보이지만, 명령어 몇 줄을 복사해서 붙여넣기만 하면 금방 완료됩니다.

서버 관리, 포르테이너(Portainer)
도커 설치가 끝났다면, 이제 터미널의 검은 화면과 작별할 시간입니다. 우리는 눈으로 보면서 서버를 관리하기 위해 포르테이너(Portainer)를 설치했습니다. 포르테이너는 도커를 웹페이지 형태의 그래픽 환경에서 관리할 수 있게 해주는 도구입니다. 복잡한 명령어를 칠 필요 없이, 마우스 클릭만으로 컨테이너를 끄고 켜거나 로그를 확인할 수 있습니다. 포르테이너 컨테이너를 실행하고 웹브라우저를 통해 접속하면, 내 서버의 상태가 한눈에 들어오는 대시보드를 마주하게 됩니다. 여기서 이미지 관리, 네트워크 설정, 볼륨 생성 등 모든 도커 관리가 가능해집니다. 초보자가 리눅스 서버를 운영할 때 포르테이너의 유무는 하늘과 땅 차이입니다.
n8n 설치, Self-hosted AI Starter Kit
이제 본격적으로 n8n을 설치할 차례입니다. 저는 일반적인 n8n 설치 대신, n8n 본사에서 제공하는 Self-hosted AI Starter Kit을 사용하기로 했습니다. 이 키트는 단순한 n8n뿐만 아니라, AI 데이터를 저장하는 벡터 데이터베이스인 Qdrant와 안정적인 데이터 관리를 위한 PostgreSQL이 하나의 세트로 구성되어 있습니다. 요즘 n8n을 사용하는 가장 큰 이유가 AI 에이전트 구축이기 때문에, 미래를 위해 이 구성을 선택하는 것이 훨씬 유리합니다.
하지만 여기서 문제가 하나 있습니다. 이 스타터 킷에는 Ollama라는 로컬 LLM 구동 프로그램이 포함되어 있는데, 이는 그래픽카드(GPU)가 없는 저렴한 VPS에서는 구동이 불가능하거나 서버를 멈추게 만들 만큼 무겁습니다. 그래서 우리는 이 구성에서 Ollama를 제거해야 합니다. 이때 설정 파일을 수정해야 하는데, 리눅스 편집기인 vi나 nano는 초보자에게 너무 어렵습니다. 여기서 제가 사용한 비장의 무기는 바로 RaiDrive입니다.
RaiDrive는 원격 서버의 저장 공간을 마치 내 컴퓨터의 하드디스크나 USB 드라이브처럼 인식하게 해주는 프로그램입니다. 이것을 설치하고 SSH 프로토콜을 통해 VPS와 연결하면, 윈도우 탐색기에 Z 드라이브나 Y 드라이브처럼 서버 폴더가 나타납니다. 우리는 이제 익숙한 윈도우 환경에서 메모장이나 VS Code를 열어 설정 파일을 편하게 수정할 수 있습니다. n8n 리포지토리를 클론(복제)한 폴더로 들어가 docker-compose.yml 파일을 열고, 불필요한 Ollama 관련 서비스 코드를 삭제해 줍니다. 그리고 시스템 리소스가 부족하지 않도록 환경 변수들을 내 서버 사양에 맞게 조금씩 조정해 줍니다.
도커 컴포즈
설정 수정이 끝났다면 다시 터미널이나 포르테이너로 돌아와 도커 컴포즈를 실행합니다. 이 과정은 설계도에 적힌 대로 건물들을 한 번에 짓는 것과 같습니다. 수많은 코드가 화면을 스쳐 지나가고, n8n과 데이터베이스 컨테이너들이 하나둘씩 초록색 불을 밝히며 실행됩니다. 만약 이 과정에서 에러가 발생한다면 당황하지 말고 로그를 확인해야 합니다. 대부분 포트가 겹치거나 오타로 인한 설정 파일 오류인 경우가 많습니다. 저 역시 몇 번의 시행착오 끝에 정상적으로 구동되는 것을 확인했습니다.
드디어 웹브라우저 주소창에 내 서버 IP와 n8n 포트 번호를 입력하고 엔터를 누르는 순간, n8n의 초기 설정 화면이 나타납니다. 관리자 계정을 생성하고 로그인하면, 자동화의 세계로 연결되는 화면이 펼쳐집니다. 월 구독료 없이, 내가 구축한 서버에서 마음껏 워크플로우를 만들고 AI를 실험할 수 있는 환경이 완성된 것입니다. 물론 이 과정에는 리눅스, 네트워크, 도커에 대한 기초 지식이 필요하여 다소 험난하게 느껴질 수 있습니다. 하지만 남의 집에 월세를 사는 것이 아니라 내 집을 짓는 과정이라 생각하면 그 고생은 즐거움으로 바뀝니다.
마무리
이렇게 구축된 n8n은 단순한 자동화 툴이 아닙니다. 블로그 글을 자동으로 쓰고, 뉴스 정보를 수집하고, 업무를 대신 처리해 주는 든든한 AI 비서가 있는 집입니다. 다음 단계에서는 이렇게 설치한 n8n을 외부 서비스들과 안전하게 연결하기 위한 웹훅 설정과, 보안을 위한 리버스 프록시 설정에 대해 더 깊이 있게 다뤄볼 예정입니다. 여러분도 포기하지 말고 나만의 자동화 서버 구축에 도전해 보시길 바랍니다.