n8n 설치 방법? Ubuntu에서 직접 호스팅하기
n8n은 다양한 애플리케이션과 API를 원활하게 통합하여 맞춤 워크플로우를 구축할 수 있는 강력한 오픈소스 자동화 도구입니다. Ubuntu VPS에서 n8n을 직접 호스팅하면 데이터 프라이버시가 강화되고, 환경에 대한 더 큰 제어가 가능하며, 관리형 호스팅 솔루션에 비해 비용 효율성도 높아집니다. docker란 환경에서 활용도 가능합니다.
이 가이드에서는 두 가지 설치 방법을 안내합니다:
- 수동 설치: 직접 설정하고 더 많은 커스터마이징 옵션을 선호하는 사용자에게 이상적입니다.
- Hostinger의 원클릭 설치: 빠르고 쉽게 설치를 완료하고 싶은 사용자에게 적합합니다.
이 튜토리얼을 완료하면 VPS에서 완전히 작동하는 n8n 인스턴스를 갖게 되며, 워크플로우를 자동화하고 생산성을 향상시킬 준비가 완료됩니다.
필수 조건
n8n을 설치하기 전에 호스팅 환경이 다음 요구 사항을 충족하는지 확인하세요:
- Ubuntu 가상 사설 서버(VPS)
최소: 1 vCPU, 1GB RAM (KVM1)
권장: 2 vCPU, 2GB RAM (KVM2)
아직 VPS가 없는 경우, Hostinger는 n8n 직접 호스팅 솔루션을 포함한 다양한 VPS 옵션을 제공합니다.
- 도메인/서브도메인: 선택 사항이지만 HTTPS 설정과 접근 용이성을 위해 권장됩니다.
- VPS 접근 권한: SSH(root 필요)를 통해 또는 호스팅 컨트롤 패널(hPanel 등)을 사용하여 VPS에 연결해야 합니다.
- Docker: 수동 설치 방식을 따르는 경우, VPS에 Docker가 설치되어 있는지 확인하세요. (템플릿 사용 시에는 필요하지 않습니다. docker란 환경 활용 가능).
Ubuntu에서 n8n 설치 방법
만약 VPS 호스팅 제공업체에서 원클릭 n8n 템플릿을 제공하지 않는 경우, n8n을 수동으로 설치해야 합니다. Ubuntu에서 실행되도록 단계별 과정을 안내합니다.
1. 필수 의존성 설치
n8n을 수동으로 설치하기 전에 몇 가지 필수 의존성을 설치해야 합니다. 먼저 SSH 또는 웹 기반 콘솔을 통해 VPS에 연결하세요. 다음으로 패키지 목록을 업데이트하고 기존 패키지를 최신 버전으로 업그레이드합니다:
sudo apt-get update && sudo apt-get upgrade -y
이 명령은 설치를 진행하기 전에 시스템에 최신 보안 패치와 소프트웨어 버전이 적용되도록 합니다.
직접 설치 방식과 컨테이너화 설치 방식 두 가지가 있습니다:
- 직접 설치
- 컨테이너화 설치
컨테이너화 설치가 대부분의 상황에서 권장되지만, 두 가지 방식을 간략히 설명합니다.
직접 설치
n8n은 Node.js 환경에서 직접 실행될 수 있으므로, Docker를 사용하지 않는 경우 최신 장기 지원(LTS) 버전의 Node.js를 설치하세요.
- curl과 Node.js 설정 스크립트 설치:
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
- Node.js와 npm 설치:
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
- Docker 공식 GPG 키 추가:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
- Docker 저장소 추가 및 설치:
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 설치 확인:
docker --version
설치되어 있다면 Docker 버전이 표시됩니다. docker란 환경 활용 가능.
2. n8n 설정
모든 의존성을 설치한 후 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
- -d – 컨테이너를 백그라운드에서 실행
- –name n8n – 컨테이너 이름을 n8n으로 지정
- -p 5678:5678 – 서버 포트 5678을 컨테이너 포트 5678에 매핑
브라우저에서 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
3. 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
4. 보안 액세스 활성화
n8n 인스턴스를 보호하고 암호화된 연결을 보장하기 위해, Let’s Encrypt와 NGINX를 리버스 프록시로 사용하여 SSL(HTTPS)을 설정합니다. 커스텀 도메인을 사용하는 경우 특히 중요합니다.
- NGINX와 Certbot 설치:
sudo apt update && sudo apt install nginx certbot python3-certbot-nginx -y
- NGINX 활성화 및 시작:
sudo systemctl enable nginx
sudo systemctl start nginx
- n8n용 새로운 NGINX 구성 파일 생성 및 열기:
sudo nano /etc/nginx/sites-available/N8N
- 아래 구성을 추가하고 yourdomain.com을 실제 도메인으로 교체하세요:
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/
- NGINX 재시작:
sudo systemctl restart nginx
- 무료 Let’s Encrypt SSL 인증서 생성:
sudo certbot --nginx -d yourdomain.com
- crontab 열기:
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 VPS 템플릿을 사용하여 n8n 설치 방법
가장 쉬운 방법부터 시작해 보겠습니다. Hostinger의 원클릭 n8n 템플릿을 사용하면 Ubuntu 서버 설정과 n8n 및 필요한 종속 항목 설치가 자동으로 진행됩니다.
1. VPS 대시보드 접속
먼저 VPS 대시보드에 접속해야 합니다.
- hPanel에 접속하여 원하는 방법으로 로그인합니다.
- 로그인 후, 왼쪽 메뉴에서 VPS 섹션으로 이동합니다.
- n8n 템플릿을 적용할 VPS를 선택하고 옆의 Manage 버튼을 클릭합니다.

2. n8n 템플릿 설치
- VPS 대시보드에서 왼쪽의 OS & Panel 드롭다운 메뉴를 열고 Operating System을 선택합니다.

여기서 VPS 서버용 운영 체제와 템플릿을 찾을 수 있습니다.
- Change OS 패널에서 검색창에 n8n을 입력하고 n8n 템플릿을 선택합니다.
- 열리는 대화 창에서 Change OS를 클릭합니다.
- VPS OS가 덮어써지고 모든 파일이 삭제될 것이라는 안내 창이 표시됩니다. “I recognize that all my files will be deleted and cannot be restored” 옆에 체크하고 Next를 클릭합니다.
- root 사용자의 비밀번호를 입력하고 Confirm을 클릭합니다.

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

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

- 그러면 등록용 n8n 대화창이 열립니다. 예시 화면과 비슷하게 나타납니다.

- 세부 정보를 입력하고 안내된 사양에 따라 비밀번호를 생성합니다. Next 버튼을 클릭하고, 추가 팝업이 나타나면 일단 비워둔 채로 진행합니다. 이렇게 하면 n8n Overview 페이지가 열립니다.

- 기본 화면에서 n8n 패널이 보인다면, 설치가 성공적으로 완료된 것입니다!
4. n8n 인스턴스 구성
n8n 인스턴스가 실행 중이면, 보안 및 맞춤 설정을 위해 세부 설정을 조정합니다.
- 왼쪽 하단에서 이름 옆의 세 점 아이콘을 클릭하고 Settings를 선택합니다.

- 왼쪽 메뉴에서 Personal을 선택합니다.

여기에서 이름, 성, 이메일, 비밀번호 등 모든 자격 증명을 확인하고 조정할 수 있습니다.
환경 변수를 사용하여 n8n을 수정할 수도 있습니다:
- SSH 또는 브라우저 터미널을 통해 VPS에 접속합니다.
- nano로 docker compose.yml 파일을 엽니다:
nano ../root/docker compose.yml
- Environment 섹션을 편집하여 환경 변수를 추가하거나 조정합니다. 예: 기본 인증을 활성화하려면 다음을 추가합니다:
- N8N_BASIC_AUTH_ACTIVE=true
- N8N_BASIC_AUTH_USER=username
- N8N_BASIC_AUTH_PASSWORD="password"
위 username과 password를 실제 사용자 계정으로 교체합니다.

자주 사용되는 다른 환경 변수:
- N8N_HOST – 도메인을 사용하는 경우 설정
- N8N_PORT – 기본값 5678, 필요시 변경 가능
- N8N_PROTOCOL – n8n이 사용할 프로토콜 지정
- WEBHOOK_URL – 도메인과 함께 웹후크를 사용하는 경우 필수
- GENERIC_TIMEZONE – 선택적 시간대
- nano에서 CTRL+X, Y, ENTER를 눌러 저장 후 종료합니다. 변경 사항이 저장되었는지 확인하려면:
cat docker compose.yml
이 명령어를 실행하면 전체 Docker Compose 파일이 출력됩니다. 여기서 변경한 내용이 반영되었는지 확인할 수 있습니다.
- 변경 사항을 적용하려면 Docker Compose를 재시작합니다:
docker compose down
docker compose up -d
Docker Compose를 재시작한 후, 변경 사항이 적용됩니다. 이제 n8n은 설정한 환경 변수를 사용합니다.
커스텀 도메인을 사용하는 경우 SSL도 설정해야 합니다. 안전한 HTTPS 연결을 위해 NGINX를 리버스 프록시로 사용하여 Let’s Encrypt를 설정할 수 있습니다.
- Certbot과 NGINX 설치:
sudo apt install certbot nginx python3-certbot-nginx -y
- n8n용 NGINX 사이트 파일 생성/열기:
sudo nano /etc/nginx/sites-available/N8N
- n8n 트래픽 프록시 설정 (아래 예시에서 yourdomain.com을 실제 도메인으로 변경):
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)
- 설정 활성화 및 NGINX 재시작:
sudo ln -s /etc/nginx/sites-available/N8N /etc/nginx/sites-enabled/
sudo systemctl restart nginx
- 커스텀 도메인 SSL 인증서 발급 (아래 yourdomain.com을 실제 도메인으로 변경):
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이 필요할 때 자동으로 인증서를 갱신합니다.
- docker compose.yml 파일 열기:
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 재시작하여 변경 사항 적용:
docker compose down
docker compose up -d
이제 n8n 인스턴스를 커스텀 도메인 (예: https://yourdomain.com)에서 안전하게 접속할 수 있습니다.
결론
축하합니다! 이제 n8n을 성공적으로 설치하고 자체 서버에서 셀프 호스팅하고 있습니다. Hostinger의 원클릭 설정을 사용했든 수동으로 설치했든, 이제 강력한 워크플로 자동화 도구를 사용할 수 있습니다.
이제 워크플로를 구축하고 작업을 자동화할 시간입니다! 간단한 n8n 통합부터 복잡한 비즈니스 프로세스까지, n8n은 많은 코드를 작성하지 않고도 앱, API 및 데이터베이스를 연결할 수 있는 유연성을 제공합니다. 다양한 n8n 자동화 아이디어를 탐색하여 워크플로를 간소화하고 일상 업무를 쉽게 만들 수 있습니다.
다음 핵심 사항을 기억하세요:
- n8n 보안 유지: 인증 사용, HTTPS 활성화, 필요 시 접근 제한.
- 정기 업데이트: 최신 n8n 및 보안 패치를 설치하여 업데이트 유지.
- 데이터 백업: docker란 사용 시, 워크플로와 인증 정보가 안전하도록 지속적 스토리지 설정.
문제가 발생하거나 고급 구성을 탐색하고 싶다면, n8n 문서를 확인하거나 n8n 커뮤니티에서 지원을 받으세요.
n8n 설치 FAQ
n8n을 로컬에서 실행할 수 있을까요?
예, npm을 사용하여 전역 설치(npm install n8n -g)하면 n8n을 로컬에서 실행할 수 있습니다. 설치 후 n8n 또는 n8n start 명령어로 실행하세요.
n8n을 실행하려면 어떤 VPS 플랜이 필요할까요?
2 vCore와 4GB RAM을 갖춘 VPS면 충분합니다. 이 경우 Hostinger의 KVM2 플랜이면 충분합니다.
설치 후 n8n에 어떻게 접근할까요?
로컬에 설치한 경우, 웹 브라우저에서 http://localhost:5678 로 접속하면 인터페이스를 사용할 수 있습니다. VPS에 셀프 호스팅하면서 커스텀 도메인을 사용하는 경우, http://yourdomain.com:5678 또는 SSL 설정 시 https://yourdomain.com 으로 접속하세요.
이 웹사이트의 모든 튜토리얼 콘텐츠는 Hostinger의 엄격한 편집 기준과 가치에 따라 제작되었습니다.
