Dec 18, 2025
Miho W.
6분 읽기
n8n은 다양한 애플리케이션과 API를 원활하게 통합하여 맞춤 워크플로우를 구축할 수 있는 강력한 오픈소스 자동화 도구입니다. Ubuntu VPS에서 n8n을 직접 호스팅하면 데이터 프라이버시가 강화되고, 환경에 대한 더 큰 제어가 가능하며, 관리형 호스팅 솔루션에 비해 비용 효율성도 높아집니다. docker란 환경에서 활용도 가능합니다.
이 가이드에서는 두 가지 설치 방법을 안내합니다:
이 튜토리얼을 완료하면 VPS에서 완전히 작동하는 n8n 인스턴스를 갖게 되며, 워크플로우를 자동화하고 생산성을 향상시킬 준비가 완료됩니다.
n8n을 설치하기 전에 호스팅 환경이 다음 요구 사항을 충족하는지 확인하세요:
최소: 1 vCPU, 1GB RAM (KVM1)
권장: 2 vCPU, 2GB RAM (KVM2)
아직 VPS가 없는 경우, Hostinger는 n8n 직접 호스팅 솔루션을 포함한 다양한 VPS 옵션을 제공합니다.
만약 VPS 호스팅 제공업체에서 원클릭 n8n 템플릿을 제공하지 않는 경우, n8n을 수동으로 설치해야 합니다. Ubuntu에서 실행되도록 단계별 과정을 안내합니다.
n8n을 수동으로 설치하기 전에 몇 가지 필수 의존성을 설치해야 합니다. 먼저 SSH 또는 웹 기반 콘솔을 통해 VPS에 연결하세요. 다음으로 패키지 목록을 업데이트하고 기존 패키지를 최신 버전으로 업그레이드합니다:
sudo apt-get update && sudo apt-get upgrade -y
이 명령은 설치를 진행하기 전에 시스템에 최신 보안 패치와 소프트웨어 버전이 적용되도록 합니다.
직접 설치 방식과 컨테이너화 설치 방식 두 가지가 있습니다:
컨테이너화 설치가 대부분의 상황에서 권장되지만, 두 가지 방식을 간략히 설명합니다.
직접 설치
n8n은 Node.js 환경에서 직접 실행될 수 있으므로, Docker를 사용하지 않는 경우 최신 장기 지원(LTS) 버전의 Node.js를 설치하세요.
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs
node -v
npm -v
위 명령을 실행하면 npm과 Node.js가 설치되어 있는 경우 버전 정보가 반환됩니다. docker란 환경에서는 컨테이너화 설치가 용이합니다.
컨테이너화 설치
n8n을 Docker 컨테이너에서 실행하고 싶다면, 먼저 Docker를 설치하세요.
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io
docker --version
설치되어 있다면 Docker 버전이 표시됩니다. docker란 환경 활용 가능.
모든 의존성을 설치한 후 n8n을 설정할 수 있습니다.
직접 설치
이전에 Node.js를 설치했다면, npm을 사용해 n8n을 전역 설치할 수 있습니다:
npm install -g N8N
n8n용 스크린 세션 시작:
screen -S N8N
스크린 세션에서 n8n 실행:
N8N
스크린 세션에서 분리하려면 CTRL+A 후 D를 입력하세요. 다시 연결하여 n8n과 상호작용하려면:
screen -R N8N
기본적으로 n8n은 포트 5678에서 실행됩니다. 이제 다음에서 접근 가능합니다:
http://your-server-ip:5678
이 시점에서 보안 쿠키 오류가 발생할 수 있습니다. SSL 인증서 생성은 이후 단계에서 다룹니다.
컨테이너화 설치
최신 n8n Docker 이미지 가져오기:
docker pull N8Nio/N8N
포트 매핑과 함께 컨테이너 실행:
docker run -d --name N8N -p 5678:5678 N8Nio/N8N
브라우저에서 n8n 접근:
http://your-server-ip:5678
위 설치 단계와 마찬가지로, 보안 쿠키 오류가 발생할 수 있습니다. 아래 SSL 인증서 생성 섹션을 참고하세요.
기본적으로 Docker 컨테이너 내부의 데이터는 지속되지 않습니다. 워크플로우와 설정을 저장하려면, 마운트된 볼륨과 함께 n8n을 실행하세요:
docker stop N8N && docker rm N8N #stop and remove previous N8N container
docker run -d --name N8N -p 5678:5678 -v ~/.N8N:/home/node/.N8N N8Nio/N8N
이 명령은 ~/.n8n 폴더를 컨테이너 내부 n8n의 데이터 디렉토리에 매핑합니다.
컨테이너가 시작되지 않으면, 볼륨에 쓰기 권한이 없을 수 있습니다. 권한을 부여하려면:
sudo chown -R 1000:1000 ~/.N8N
sudo chmod -R 755 ~/.N8N
그런 다음 컨테이너를 시작합니다:
docker start N8N
기본적으로 n8n은 인증을 강제하지 않으므로, 서버 IP에 접근할 수 있는 누구나 사용할 수 있습니다. 인스턴스를 보호하려면 컨테이너 실행 전에 환경 변수를 설정하세요.
직접 설치 시, export 명령을 사용하여 변수를 추가할 수 있습니다. 아래 예제에서는 username, password, yourdomain.com을 원하는 자격 증명으로 바꾸세요:
export N8N_BASIC_AUTH_ACTIVE=true export N8N_BASIC_AUTH_USER=username export N8N_BASIC_AUTH_PASSWORD=password export N8N_HOST=yourdomain.com export N8N_PORT=5678 export WEBHOOK_URL=https://yourdomain.com/ export GENERIC_TIMEZONE=UTC
Docker 컨테이너 설치(컨테이너화 설치) 시에는 -e 플래그를 사용하여 환경 변수를 전달할 수 있습니다. 아래 예제에서도 자신의 자격 증명을 추가하세요.
docker stop n8n && docker rm n8n #stop and remove previous n8n container docker run -d --name n8n \ -p 5678:5678 \ -e N8N_BASIC_AUTH_ACTIVE=true \ -e N8N_BASIC_AUTH_USER=username \ -e N8N_BASIC_AUTH_PASSWORD=password \ -e N8N_HOST=yourdomain.com \ -e N8N_PORT=5678 \ -e WEBHOOK_URL=https://yourdomain.com/ \ -e GENERIC_TIMEZONE=UTC \ -v ~/.n8n:/home/node/.n8n \ n8nio/n8n
n8n 인스턴스를 보호하고 암호화된 연결을 보장하기 위해, Let’s Encrypt와 NGINX를 리버스 프록시로 사용하여 SSL(HTTPS)을 설정합니다. 커스텀 도메인을 사용하는 경우 특히 중요합니다.
sudo apt update && sudo apt install nginx certbot python3-certbot-nginx -y
sudo systemctl enable nginx
sudo systemctl start nginx
sudo nano /etc/nginx/sites-available/N8N
server {
server_name yourdomain.com;
location / {
proxy_pass http://localhost:5678; # Forward requests to n8n
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
listen 80;
}CTRL+X → Y → ENTER를 눌러 저장하고 종료합니다.
sudo ln -s /etc/nginx/sites-available/N8N /etc/nginx/sites-enabled/
sudo systemctl restart nginx
sudo certbot --nginx -d yourdomain.com
sudo certbot renew
편집기 선택 시 nano를 선택하고, 아래 크론 작업 추가:
0 2 * * * certbot renew --quiet --post-hook "systemctl restart nginx"
Let’s Encrypt 인증서는 기본적으로 90일마다 만료됩니다. 이 작업이 설정되어 있으면 Certbot이 인증서를 자동으로 갱신합니다.
HTTPS로 n8n이 실행되는지 확인하려면, 브라우저에서 https://yourdomain.com 형식으로 도메인을 입력하세요. SSL 경고 없이 n8n 인터페이스가 표시되면, 설정이 성공적으로 완료되었으며 n8n을 바로 사용할 수 있습니다.
가장 쉬운 방법부터 시작해 보겠습니다. Hostinger의 원클릭 n8n 템플릿을 사용하면 Ubuntu 서버 설정과 n8n 및 필요한 종속 항목 설치가 자동으로 진행됩니다.
먼저 VPS 대시보드에 접속해야 합니다.


여기서 VPS 서버용 운영 체제와 템플릿을 찾을 수 있습니다.

템플릿 설치가 시작됩니다. 대시보드 상단에서 진행 상태 표시줄을 확인할 수 있습니다.

잠시 기다리면 n8n 인스턴스를 사용할 준비가 완료됩니다.
VPS 비밀번호를 변경하고 싶다면 Settings 메뉴에서 하거나, AI 지원 도우미 Kodee를 이용할 수 있습니다. Kodee를 사용하면 훨씬 쉽습니다 – 서버 비밀번호 변경을 요청하는 프롬프트를 입력하고 새 비밀번호를 포함하면 됩니다. 예: “Please change my VPS password to MyNewSecurePassword123.”
VPS에 n8n을 설정한 후, 로그인하여 정상 작동하는지 확인합니다.



n8n 인스턴스가 실행 중이면, 보안 및 맞춤 설정을 위해 세부 설정을 조정합니다.


여기에서 이름, 성, 이메일, 비밀번호 등 모든 자격 증명을 확인하고 조정할 수 있습니다.
환경 변수를 사용하여 n8n을 수정할 수도 있습니다:
nano ../root/docker compose.yml
- N8N_BASIC_AUTH_ACTIVE=true
- N8N_BASIC_AUTH_USER=username
- N8N_BASIC_AUTH_PASSWORD="password"
위 username과 password를 실제 사용자 계정으로 교체합니다.

자주 사용되는 다른 환경 변수:
cat docker compose.yml
이 명령어를 실행하면 전체 Docker Compose 파일이 출력됩니다. 여기서 변경한 내용이 반영되었는지 확인할 수 있습니다.
docker compose down
docker compose up -d
Docker Compose를 재시작한 후, 변경 사항이 적용됩니다. 이제 n8n은 설정한 환경 변수를 사용합니다.
커스텀 도메인을 사용하는 경우 SSL도 설정해야 합니다. 안전한 HTTPS 연결을 위해 NGINX를 리버스 프록시로 사용하여 Let’s Encrypt를 설정할 수 있습니다.
sudo apt install certbot nginx python3-certbot-nginx -y
sudo nano /etc/nginx/sites-available/N8N
server {
server_name yourdomain.com;
location / {
proxy_pass http://localhost:5678; # Forward requests to n8n
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
listen 80;
}파일 저장 후 닫기 (CTRL+X → Y → ENTER)
sudo ln -s /etc/nginx/sites-available/N8N /etc/nginx/sites-enabled/
sudo systemctl restart nginx
sudo certbot --nginx -d yourdomain.com
sudo certbot renew
에디터 선택 시 nano 선택
0 2 * * * certbot renew --quiet --post-hook "systemctl restart nginx"
Let’s Encrypt 인증서는 기본적으로 90일마다 만료됩니다. 이 작업으로 certbot이 필요할 때 자동으로 인증서를 갱신합니다.
nano ../root/docker compose.yml
- WEBHOOK_URL=https://yourdomain.com/
- N8N_HOST=yourdomain.com
- N8N_PORT=5678
- N8N_PROTOCOL=https
저장 후 닫기 (CTRL+X → Y → ENTER)
docker compose down
docker compose up -d
이제 n8n 인스턴스를 커스텀 도메인 (예: https://yourdomain.com)에서 안전하게 접속할 수 있습니다.
축하합니다! 이제 n8n을 성공적으로 설치하고 자체 서버에서 셀프 호스팅하고 있습니다. Hostinger의 원클릭 설정을 사용했든 수동으로 설치했든, 이제 강력한 워크플로 자동화 도구를 사용할 수 있습니다.
이제 워크플로를 구축하고 작업을 자동화할 시간입니다! 간단한 n8n 통합부터 복잡한 비즈니스 프로세스까지, n8n은 많은 코드를 작성하지 않고도 앱, API 및 데이터베이스를 연결할 수 있는 유연성을 제공합니다. 다양한 n8n 자동화 아이디어를 탐색하여 워크플로를 간소화하고 일상 업무를 쉽게 만들 수 있습니다.
다음 핵심 사항을 기억하세요:
문제가 발생하거나 고급 구성을 탐색하고 싶다면, n8n 문서를 확인하거나 n8n 커뮤니티에서 지원을 받으세요.
예, npm을 사용하여 전역 설치(npm install n8n -g)하면 n8n을 로컬에서 실행할 수 있습니다. 설치 후 n8n 또는 n8n start 명령어로 실행하세요.
2 vCore와 4GB RAM을 갖춘 VPS면 충분합니다. 이 경우 Hostinger의 KVM2 플랜이면 충분합니다.
로컬에 설치한 경우, 웹 브라우저에서 http://localhost:5678 로 접속하면 인터페이스를 사용할 수 있습니다. VPS에 셀프 호스팅하면서 커스텀 도메인을 사용하는 경우, http://yourdomain.com:5678 또는 SSL 설정 시 https://yourdomain.com 으로 접속하세요.
이 웹사이트의 모든 튜토리얼 콘텐츠는 Hostinger의 엄격한 편집 기준과 가치에 따라 제작되었습니다.