Cách cài đặt n8n trên VPS từ A đến Z

5/5 - (1 bình chọn)

Trong thế giới số hóa không ngừng phát triển, tự động hóa quy trình làm việc đã trở thành yếu tố then chốt giúp các doanh nghiệp và cá nhân tối ưu hóa hiệu suất, tiết kiệm thời gian và giảm thiểu sai sót. Một trong những công cụ mạnh mẽ và linh hoạt nhất trong lĩnh vực này chính là n8n – một nền tảng tự động hóa mã nguồn mở, cho phép bạn kết nối bất kỳ ứng dụng nào với API một cách dễ dàng. Bài viết này sẽ cung cấp một hướng dẫn toàn diện về cách cài đặt n8n trên VPS từ A đến Z trong năm 2026, đảm bảo bạn có thể triển khai hệ thống của mình một cách mượt mà và hiệu quả nhất.

Việc triển khai n8n trên một máy chủ riêng ảo (VPS) mang lại nhiều lợi ích vượt trội so với việc sử dụng các dịch vụ đám mây có sẵn. Bạn sẽ có toàn quyền kiểm soát môi trường, tối ưu hóa tài nguyên theo nhu cầu cụ thể, và đảm bảo tính riêng tư dữ liệu ở mức cao nhất. Dù bạn là nhà phát triển, chủ doanh nghiệp, hay đơn giản là người muốn tự động hóa các tác vụ cá nhân, việc nắm vững quy trình cài đặt n8n trên VPS sẽ mở ra cánh cửa đến vô vàn khả năng mới.

n8n Là Gì và Tại Sao Nên Cài Đặt Trên VPS?

n8n (đọc là ‘node-n') là một công cụ tự động hóa quy trình làm việc mã nguồn mở, dựa trên giao diện người dùng trực quan. Nó cho phép bạn tạo ra các luồng công việc phức tạp bằng cách kết nối hàng trăm ứng dụng và dịch vụ khác nhau mà không cần viết một dòng mã nào. Với n8n, bạn có thể tự động hóa từ những tác vụ đơn giản như gửi email khi có sự kiện mới đến các quy trình kinh doanh phức tạp như đồng bộ dữ liệu giữa các hệ thống CRM và ERP.

Vậy tại sao lại chọn cài đặt n8n trên VPS thay vì các giải pháp SaaS (Software as a Service) khác? Có nhiều lý do chính đáng:

  • Toàn quyền kiểm soát: Bạn sở hữu toàn bộ dữ liệu và môi trường hoạt động. Điều này đặc biệt quan trọng đối với các thông tin nhạy cảm hoặc yêu cầu tuân thủ quy định nghiêm ngặt.
  • Khả năng tùy chỉnh cao: Bạn có thể tùy chỉnh mọi khía cạnh của n8n, từ cấu hình hệ thống đến việc cài đặt các module bổ sung, phù hợp với nhu cầu cụ thể của mình.
  • Tiết kiệm chi phí dài hạn: Mặc dù có chi phí ban đầu cho VPS, nhưng về lâu dài, việc tự host n8n thường rẻ hơn so với việc trả phí hàng tháng cho các dịch vụ tự động hóa đám mây, đặc biệt khi quy mô sử dụng tăng lên.
  • Hiệu suất và độ tin cậy: Với VPS, bạn có thể lựa chọn cấu hình phần cứng phù hợp, đảm bảo n8n hoạt động với hiệu suất cao nhất và độ ổn định đáng tin cậy.
  • Bảo mật nâng cao: Bạn có thể triển khai các biện pháp bảo mật tùy chỉnh, kiểm soát tường lửa, và giám sát chặt chẽ môi trường của mình, giảm thiểu rủi ro bảo mật.

Chuẩn Bị Trước Khi Cài Đặt n8n Trên VPS

Trước khi bắt tay vào quy trình cài đặt n8n trên VPS, việc chuẩn bị kỹ lưỡng là vô cùng quan trọng để đảm bảo mọi thứ diễn ra suôn sẻ. Dưới đây là những bước cần thiết bạn cần thực hiện:

Lựa Chọn Nhà Cung Cấp VPS Phù Hợp

Việc chọn một nhà cung cấp VPS uy tín và phù hợp với nhu cầu của bạn là bước đầu tiên. Các nhà cung cấp phổ biến bao gồm DigitalOcean, Vultr, Linode, AWS EC2, Google Cloud, và OVHcloud. Khi lựa chọn, hãy cân nhắc các yếu tố như:

  • Vị trí máy chủ: Chọn vị trí địa lý gần với người dùng hoặc các dịch vụ mà n8n sẽ kết nối để giảm độ trễ.
  • Giá cả và gói dịch vụ: So sánh các gói để tìm ra sự cân bằng giữa hiệu suất và chi phí.
  • Hỗ trợ khách hàng: Đảm bảo nhà cung cấp có dịch vụ hỗ trợ tốt trong trường hợp bạn gặp sự cố.

Yêu Cầu Hệ Thống Tối Thiểu

Để cài đặt n8n trên VPS và hoạt động ổn định, VPS của bạn cần đáp ứng các yêu cầu tối thiểu sau:

  • Hệ điều hành: Ubuntu 20.04 LTS trở lên (hoặc các bản phân phối Linux tương tự). Ubuntu là lựa chọn phổ biến và dễ sử dụng.
  • RAM: Tối thiểu 2GB (khuyến nghị 4GB trở lên cho các luồng công việc phức tạp).
  • CPU: Tối thiểu 1 vCPU (khuyến nghị 2 vCPU trở lên).
  • Dung lượng ổ đĩa: Tối thiểu 20GB SSD (khuyến nghị 40GB trở lên để lưu trữ dữ liệu n8n và các bản sao lưu).

Các Công Cụ Cần Thiết

Bạn sẽ cần các công cụ sau trên máy tính cá nhân để kết nối và quản lý VPS:

  • SSH Client: Terminal (macOS/Linux) hoặc PuTTY/WSL (Windows).
  • Trình duyệt web: Để truy cập giao diện n8n sau khi cài đặt.
  • Tên miền (Domain Name): Không bắt buộc nhưng rất khuyến nghị để truy cập n8n qua HTTPS với chứng chỉ SSL.

Để giúp bạn hình dung rõ hơn về các bước chuẩn bị, bảng dưới đây tóm tắt một số hạng mục quan trọng cần kiểm tra trước khi bắt đầu cài đặt:

Checklist Chuẩn Bị Trước Khi Cài Đặt n8n Trên VPS
Hạng Mục Mô Tả Chi Tiết Trạng Thái
VPS đã được cấp phát Đảm bảo bạn đã có thông tin đăng nhập (IP, user, password/SSH key) Hoàn thành
Hệ điều hành tương thích Ưu tiên Ubuntu 20.04 LTS hoặc mới hơn Hoàn thành
Cấu hình VPS đủ mạnh Tối thiểu 2GB RAM, 1 vCPU, 20GB SSD Hoàn thành
Cài đặt SSH Client Terminal, PuTTY, hoặc WSL Hoàn thành
Tên miền (tùy chọn) Đã trỏ A record đến IP của VPS Đã có/Không cần
Kiến thức cơ bản Linux Biết cách sử dụng các lệnh cơ bản qua SSH Đã có

Hướng Dẫn Cài Đặt n8n Trên VPS Chi Tiết Từng Bước

Chúng ta sẽ sử dụng Docker và Docker Compose để cài đặt n8n. Đây là phương pháp được khuyến nghị vì nó giúp cô lập môi trường n8n, dễ dàng quản lý, nâng cấp và di chuyển.

Bước 1: Kết Nối Đến VPS Của Bạn Qua SSH

Mở Terminal (hoặc PuTTY/WSL) và kết nối đến VPS của bạn bằng lệnh SSH:

ssh user@your_vps_ip_address

Thay user bằng tên người dùng của bạn (thường là root hoặc user bạn đã tạo) và your_vps_ip_address bằng địa chỉ IP của VPS. Nếu bạn sử dụng SSH key, hãy đảm bảo key đã được thiết lập đúng cách.

Bước 2: Cập Nhật Hệ Thống và Cài Đặt Docker

Sau khi kết nối, hãy cập nhật các gói hệ thống và cài đặt Docker:

sudo apt update
sudo apt upgrade -y
sudo apt install apt-transport-https ca-certificates curl software-properties-common -y
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) 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 update
sudo apt install docker-ce docker-ce-cli containerd.io -y
sudo usermod -aG docker $USER
newgrp docker

Lệnh newgrp docker sẽ áp dụng quyền Docker cho phiên hiện tại. Bạn cũng có thể thoát và đăng nhập lại để áp dụng thay đổi.

Bước 3: Cài Đặt Docker Compose

Docker Compose giúp định nghĩa và chạy các ứng dụng Docker multi-container. Cài đặt nó bằng lệnh sau:

sudo curl -L "https://github.com/docker/compose/releases/download/v2.24.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version

Lưu ý: Thay v2.24.5 bằng phiên bản Docker Compose mới nhất nếu có.

Bước 4: Tạo Thư Mục và Cấu Hình n8n

Tạo một thư mục riêng cho n8n và tạo file docker-compose.yml:

mkdir n8n-data
cd n8n-data
nano docker-compose.yml

Dán nội dung sau vào file docker-compose.yml:

version: '3.8'

services:
  n8n:
    image: n8n.io/n8n
    restart: always
    ports:
      - "5678:5678"
    volumes:
      - ./n8n_data:/home/node/.n8n
    environment:
      - N8N_HOST=localhost
      - N8N_PORT=5678
      - N8N_PROTOCOL=http
      - WEBHOOK_URL=http://your_vps_ip_address:5678/
      - GENERIC_TIMEZONE=Asia/Ho_Chi_Minh
      - TZ=Asia/Ho_Chi_Minh
      # - N8N_BASIC_AUTH_ACTIVE=true
      # - N8N_BASIC_AUTH_USER=your_username
      # - N8N_BASIC_AUTH_PASSWORD=your_password
      # - N8N_EDITOR_BASE_URL=https://your.domain.com/
      # - VUE_APP_URL_BASE_API=https://your.domain.com/

Lưu ý quan trọng:

  • Thay your_vps_ip_address bằng địa chỉ IP thực của VPS của bạn.
  • Đối với GENERIC_TIMEZONETZ, hãy thay Asia/Ho_Chi_Minh bằng múi giờ phù hợp với bạn.
  • Các dòng N8N_BASIC_AUTH_*N8N_EDITOR_BASE_URL, VUE_APP_URL_BASE_API được comment (#). Bạn nên bỏ comment và cấu hình chúng nếu muốn sử dụng xác thực cơ bản hoặc thiết lập tên miền với HTTPS.

Bước 5: Khởi Chạy n8n Bằng Docker Compose

Trong cùng thư mục n8n-data, chạy lệnh sau để khởi động n8n:

docker-compose up -d

Lệnh này sẽ tải image n8n và chạy nó trong một container. Tham số -d (detached) sẽ chạy container ở chế độ nền. Bạn có thể kiểm tra trạng thái của container bằng lệnh:

docker-compose ps

Bây giờ, bạn có thể truy cập n8n bằng cách mở trình duyệt web và nhập http://your_vps_ip_address:5678. Bạn sẽ thấy giao diện cài đặt ban đầu của n8n.

Bước 6: Cấu Hình Reverse Proxy (Nginx/Caddy) và SSL (Let's Encrypt)

Để truy cập n8n qua tên miền với HTTPS (ví dụ: https://n8n.yourdomain.com), bạn cần cấu hình một reverse proxy (Nginx hoặc Caddy) và chứng chỉ SSL từ Let's Encrypt. Đây là bước rất quan trọng để đảm bảo bảo mật và tính chuyên nghiệp.

Cấu hình Nginx với Let's Encrypt

1. Cài đặt Nginx và Certbot (công cụ Let's Encrypt):

sudo apt install nginx -y
sudo snap install core; sudo snap refresh core
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot

2. Tạo file cấu hình Nginx cho n8n:

sudo nano /etc/nginx/sites-available/n8n.conf

Dán nội dung sau (thay your.domain.com bằng tên miền của bạn):

server {
    listen 80;
    server_name your.domain.com;

    location / {
        proxy_pass http://localhost:5678;
        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;
    }
}

3. Kích hoạt cấu hình và kiểm tra:

sudo ln -s /etc/nginx/sites-available/n8n.conf /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

4. Lấy chứng chỉ SSL với Certbot:

sudo certbot --nginx -d your.domain.com

Làm theo hướng dẫn của Certbot. Nó sẽ tự động cập nhật cấu hình Nginx để sử dụng HTTPS. Sau khi hoàn tất, bạn có thể truy cập n8n qua https://your.domain.com.

Cập nhật file docker-compose.yml cho n8n với tên miền:

Chỉnh sửa lại file docker-compose.yml (bằng cách cd n8n-data rồi nano docker-compose.yml) và bỏ comment các biến môi trường sau, thay https://your.domain.com/ bằng tên miền của bạn:

      - N8N_EDITOR_BASE_URL=https://your.domain.com/
      - WEBHOOK_URL=https://your.domain.com/
      - VUE_APP_URL_BASE_API=https://your.domain.com/

Sau đó, khởi động lại n8n để áp dụng thay đổi:

docker-compose down
docker-compose up -d

Các Cấu Hình Nâng Cao và Tối Ưu n8n Trên VPS

Sau khi hoàn tất việc cài đặt n8n trên VPS cơ bản, bạn có thể muốn thực hiện một số cấu hình nâng cao để tối ưu hiệu suất, bảo mật và khả năng quản lý của hệ thống.

Tối Ưu Hiệu Suất và Bảo Mật

  • Sử dụng cơ sở dữ liệu bên ngoài: Mặc định, n8n sử dụng SQLite. Đối với môi trường sản xuất, bạn nên cấu hình n8n sử dụng PostgreSQL hoặc MySQL để tăng hiệu suất và độ tin cậy. Điều này yêu cầu thiết lập một service database riêng trong Docker Compose.
  • Giới hạn truy cập: Sử dụng firewall (ví dụ: UFW trên Ubuntu) để chỉ cho phép truy cập cổng 80 (HTTP), 443 (HTTPS) và 22 (SSH) từ các địa chỉ IP đáng tin cậy.
  • Kích hoạt xác thực: Nếu bạn chưa làm, hãy kích hoạt xác thực cơ bản (Basic Auth) trong file docker-compose.yml của n8n hoặc sử dụng các giải pháp xác thực khác (ví dụ: OAuth) nếu có.
  • Giám sát tài nguyên: Sử dụng các công cụ giám sát như htop, Prometheus/Grafana để theo dõi tài nguyên VPS và hiệu suất của n8n.

Sao Lưu và Khôi Phục Dữ Liệu n8n

Dữ liệu của n8n (bao gồm các workflow, thông tin xác thực, cài đặt) được lưu trữ trong thư mục ./n8n_data mà bạn đã map trong docker-compose.yml. Để sao lưu, bạn chỉ cần nén và sao chép thư mục này:

cd /path/to/n8n-data # Thư mục chứa docker-compose.yml và n8n_data
docker-compose down # Dừng n8n trước khi sao lưu để đảm bảo tính toàn vẹn
tar -czvf n8n_backup_$(date +%Y%m%d%H%M%S).tar.gz n8n_data
docker-compose up -d # Khởi động lại n8n

Để khôi phục, chỉ cần giải nén file backup vào đúng vị trí thư mục n8n_data và khởi động lại n8n.

Cập Nhật n8n và Docker

Để cập nhật n8n lên phiên bản mới nhất, bạn chỉ cần thay đổi tag image trong file docker-compose.yml (ví dụ: từ n8n.io/n8n:latest hoặc một phiên bản cụ thể) và sau đó chạy:

cd /path/to/n8n-data
docker-compose pull
docker-compose up -d

Để cập nhật Docker và Docker Compose, bạn có thể chạy lại các lệnh cài đặt ở Bước 2 và Bước 3, hoặc theo dõi tài liệu chính thức của Docker để biết các phương pháp cập nhật được khuyến nghị.

Việc quản lý VPS hiệu quả không chỉ dừng lại ở việc cài đặt ban đầu. Hãy luôn cập nhật hệ thống, giám sát tài nguyên và thực hiện sao lưu định kỳ để đảm bảo hệ thống tự động hóa của bạn hoạt động ổn định và an toàn.

Khắc Phục Sự Cố Thường Gặp Khi Cài Đặt n8n Trên VPS

Trong quá trình cài đặt n8n trên VPS, bạn có thể gặp phải một số vấn đề. Dưới đây là một vài sự cố phổ biến và cách khắc phục:

  • Không thể truy cập n8n qua trình duyệt:
    • Kiểm tra xem container n8n có đang chạy không: docker-compose ps.
    • Đảm bảo cổng 5678 đã được mở trên firewall của VPS (nếu bạn không dùng reverse proxy).
    • Kiểm tra cấu hình Nginx/Caddy nếu bạn đang sử dụng reverse proxy.
  • Lỗi “permission denied” khi chạy Docker:
    • Đảm bảo người dùng của bạn đã được thêm vào nhóm docker (sudo usermod -aG docker $USER và đăng nhập lại).
  • Lỗi SSL/HTTPS:
    • Kiểm tra lại cấu hình Nginx/Caddy và đảm bảo tên miền của bạn đã trỏ đúng IP của VPS.
    • Chạy lại Certbot để gia hạn hoặc cấp mới chứng chỉ SSL.
  • n8n chạy chậm hoặc bị treo:
    • Kiểm tra tài nguyên VPS (CPU, RAM) bằng lệnh htop. Nâng cấp gói VPS nếu cần.
    • Kiểm tra log của n8n để tìm lỗi: docker-compose logs n8n.
    • Cân nhắc chuyển sang cơ sở dữ liệu PostgreSQL/MySQL nếu bạn đang dùng SQLite với nhiều workflow phức tạp.
  • Webhooks không hoạt động:
    • Đảm bảo biến môi trường WEBHOOK_URL trong docker-compose.yml được cấu hình đúng với địa chỉ công khai (IP hoặc tên miền) của n8n.
    • Kiểm tra firewall có chặn các kết nối đến webhook không.

Bằng cách tuân thủ hướng dẫn chi tiết này, bạn đã có thể tự tin triển khai n8n trên môi trường VPS của riêng mình. Từ việc lựa chọn VPS phù hợp, cài đặt các thành phần cần thiết, đến cấu hình nâng cao và khắc phục sự cố, mọi bước đều được trình bày rõ ràng để đảm bảo trải nghiệm tốt nhất. Giờ đây, bạn đã sẵn sàng để khai thác sức mạnh của n8n, tạo luồng công việc tự động và biến ý tưởng thành hiện thực.

Hãy nhớ rằng việc tối ưu hiệu suất VPS và duy trì bảo mật là một quá trình liên tục. Luôn cập nhật kiến thức, theo dõi các bản phát hành mới của n8n và Docker, đồng thời áp dụng các biện pháp bảo mật tốt nhất để đảm bảo hệ thống tự động hóa của bạn luôn hoạt động trơn tru và an toàn. Khám phá thêm về các giải pháp tự động hóa khác để mở rộng khả năng của bạn.

Bài viết liên quan

Bạn có thể tham khảo thêm các bài viết sau: