Hướng dẫn cài đặt n8n trên VPS Ubuntu – Nhanh chóng & Dễ dàng

Thái Duy Khang

Thái Duy Khang

Đăng ngày: 17/07/2025
Huon dan cai dat n8n vps ubuntu

n8n là gì ?

n8n là nền tảng workflow automation mã nguồn mở, giúp bạn kết nối và tự động hóa công việc giữa các ứng dụng, API, mail, database… Với giao diện trực quan kéo-thả và khả năng self-host (tự lưu trữ), n8n là giải pháp linh hoạt, bảo mật, chi phí chỉ còn một phần nhỏ so với các công cụ như Zapier hay Make.com

Tự đặt trên VPS Ubuntu giúp toàn quyền kiểm soát dữ liệu, dễ dàng mở rộng và tiết kiệm chi phí đáng kể.

Yêu cầu hệ thống & cấu hình DNS

  • CPU: 2 vCPU
  • RAM: 4 GB
  • SSD: 40 GB trở lên
  • OS: Ubuntu 22.04
  • DNS: Tạo bản ghi A tại nhà cung cấp DNS:
    • Loại: A
    • Tên: n8n.yourdomain.com
    • Giá trị: địa chỉ IPv4 của VPS bạn
    • TTL: mặc định (mỗi nhà cung cấp)

Cài đặt Docker & Docker Compose

Cách 1: Cài đặt từng bước

1. Cập nhật hệ thống

Đảm bảo hệ thống của bạn đang ở trạng thái mới nhất và tránh lỗi khi cài đặt Docker.

Bash
sudo apt update && sudo apt upgrade -y

2. Cài đặt gói phụ trợ (cần thiết để cài Docker đúng cách)

Bash
sudo apt install ca-certificates curl gnupg lsb-release -y

3. Tạo thư mục chứa khóa GPG của Docker

Đây là nơi lưu trữ khóa bảo mật (keyring) dùng để xác minh phần mềm từ kho Docker.

Bash
sudo mkdir -p /etc/apt/keyrings

4. Tải và lưu khóa GPG của Docker

Giúp xác minh tính toàn vẹn và nguồn gốc của phần mềm Docker.

Bash
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \
sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

5. Thêm kho Docker chính thức vào hệ thống

Bash
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

6. Cập nhật danh sách gói sau khi thêm kho Docker

Bash
sudo apt update

7. Cài đặt Docker và Docker Compose plugin

Đây là cách cài chính thức, mới nhất, dùng lệnh docker compose (thay vì công cụ rời docker-compose trước đây).

Bash
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y

8. Kích hoạt Docker & khởi chạy

Bash
sudo systemctl enable --now docker

Cách 2: Tạo script cài tự động toàn bộ

1. Tạo file script

Bash
nano install-docker.sh

2. Copy toàn bộ script bên dưới và dán vào file script

Nhấn Ctrl + O → Enter → Ctrl + X để lưu và thoát

Bash
#!/bin/bash
sudo apt update && sudo apt upgrade -y
sudo apt install ca-certificates curl gnupg lsb-release -y
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \
sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.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 docker-compose-plugin -y
sudo systemctl enable --now docker
docker --version
docker compose version

3. Cấp quyền thực thi

Bash
chmod +x install-docker.sh

4. Chạy script

Bash
./install-docker.sh

5. Sau khi chạy xong bạn có thể kiểm tra

Bash
docker --version
docker compose version

Tạo cấu hình Docker Compose mới nhất (v3.7+)

Tạo thư mục làm việc

Bash
mkdir ~/n8n && cd ~/n8n

Tạo file .env

  • Sửa yourdomain.com thành tên miền của bạn.
  • Sửa SUBDOMAIN=n8n thành SUBDOMAIN=subdomain của bạn
  • SSL_EMAIL nếu không có email tên miền vẫn có thể sử dụng Gmail để nhận thông báo cấu hình với Let’s Encrypt
Bash
cat <<EOF > .env
DOMAIN_NAME=yourdomain.com
SUBDOMAIN=n8n
SSL_EMAIL=you@domain.com
GENERIC_TIMEZONE=Asia/Ho_Chi_Minh
N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true
N8N_DEFAULT_BINARY_DATA_MODE=filesystem
EOF

Tạo file docker-compose.yml

Bash
nano docker-compose.yml

Copy nội dung bên dưới vào file docker-compose.yml, sau đó nhấn Ctrl + O → Enter → Ctrl + X để lưu và thoát

YAML
version: "3.7"

services:
  traefik:
    image: traefik:v2.10
    restart: always
    command:
      - "--api.insecure=true"
      - "--providers.docker=true"
      - "--entrypoints.web.address=:80"
      - "--entrypoints.websecure.address=:443"
      - "--certificatesresolvers.mytls.acme.tlschallenge=true"
      - "--certificatesresolvers.mytls.acme.email=${SSL_EMAIL}"
      - "--certificatesresolvers.mytls.acme.storage=/letsencrypt/acme.json"
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - traefik_letsencrypt:/letsencrypt
      - /var/run/docker.sock:/var/run/docker.sock:ro

  n8n:
    image: n8nio/n8n:latest
    restart: always
    ports:
      - "127.0.0.1:5678:5678"
    environment:
      - GENERIC_TIMEZONE=${GENERIC_TIMEZONE}
      - N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=${N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS}
      - N8N_DEFAULT_BINARY_DATA_MODE=${N8N_DEFAULT_BINARY_DATA_MODE}
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.n8n.rule=Host(`${SUBDOMAIN}.${DOMAIN_NAME}`)"
      - "traefik.http.routers.n8n.entrypoints=websecure"
      - "traefik.http.routers.n8n.tls.certresolver=mytls"
      - "traefik.http.middlewares.n8n-headers.headers.SSLRedirect=true"
      - "traefik.http.middlewares.n8n-headers.headers.STSSeconds=31536000"

volumes:
  traefik_letsencrypt:

Phiên bản Docker Compose trên (v3.7+) đảm bảo tính tương thích với label nâng cao và Traefik 2.x. Đây là cấu hình mới nhất, dài và đầy đủ hơn các phiên bản cũ chỉ chạy qua Nginx.

Khởi động toàn bộ

Bash
docker compose up -d
Cài đặt n8n - Khởi động Docker

Trỏ DNS & vào n8n

Sau khi DNS đã lan truyền (~5–15 phút), bạn chỉ cần truy cập:
https://n8n.yourdomain.com để bắt đầu.

Traefik tự động cấp SSL miễn phí qua Let’s Encrypt.

Truy cap va cai dat n8n

Mở rộng & vận hành ổn định dài hạn

  • DB production: chuyển sang PostgreSQL/MySQL để quản lý dữ liệu tốt hơn
  • Queue: bật Redis queue nếu dùng nhiều workflow
  • Backup: sử dụng snapshot định kỳ hoặc backup volume .n8n
  • Giám sát: kết nối Prometheus/Grafana hoặc sử dụng plugin traefik + n8n
  • Autoscaling: nâng cấp dễ dàng – CPU, RAM, Storage – với VPS vSAN ESA từ EZtech mà không cần downtime

Tại sao nên chọn VPS vSAN ESA & VPS giá rẻ EZtech ?

Tiêu chíVPS vSAN ESAVPS Giá Rẻ
Hiệu năngCPU Intel Xeon Platinum Gen 2, SSD NVMe U.3 + mạng 300Mbps, tối ưu Docker, Traefik, n8nCPU Intel Xeon Gold, SSD NVMe U.2 + mạng 100Mbps, đủ dùng cho chạy nhẹ & dev
Độ ổn địnhỔn định, phù hợp doanh nghiệp và cá nhânỔn định, phù hợp startup và cá nhân
Mở rộngTăng cấu hình ngay, không downtimeNâng cấp đơn giản, giá mềm
Quản lý dễ dàngBảng điều khiển thân thiệnGiao diện quản lý gọn nhẹ
Hỗ trợ kỹ thuật24/7, hỗ trợ cài đặt Docker/Traefik/n8n24/7, hỗ trợ cài đặt Docker/Traefik/n8n
Đăng kýĐăng kýĐăng ký

Với hai lựa chọn đa dạng, EZtech giúp bạn dễ dàng tùy chỉnh theo nhu cầu – từ dev cá nhân đến triển khai sản xuất toàn diện.

Kết luận

Trên đây là hướng dẫn chi tiết, cập nhật và đầy đủ nhất để bạn triển khai n8n trên VPS Ubuntu, tích hợp DNS, SSL, Traefik và docker-compose mới.

  • Phiên bản docker-compose 3.7+ với Traefik 2.10 là cấu hình tối ưu, thay thế các phiên bản Nginx/VPS thông thường.
  • Tự host trên VPS giúp bạn bảo mật dữ liệu, tiết kiệm chi phí và dễ mở rộng.
  • Lựa chọn EZtech VPS vSAN ESA hoặc VPS giá rẻ EZtech chính là nền tảng vững chắc cho mọi cấp độ nhu cầu.

Truy cập https://eztech.vn để chọn gói phù hợp và nhận tư vấn triển khai miễn phí. Chúc bạn tự động hóa thành công và hiệu quả !

Tham khảo hơn 2000 workflows premium miễn phí cho n8n

Đánh giá bài viết này

Tác giả

Thái Duy Khang
Thái Duy Khang Thiết kế & lập trình tại EZ TECH
Xin chào! Tôi là Thái Duy Khang, Senior Designer chuyên về UX/UI, với gần 10 năm kinh nghiệm trong lĩnh vực thiết kế đồ họa và hơn 7 năm tập trung vào thiết kế trải nghiệm người dùng cũng như giao diện web. Ngoài thiết kế, tôi còn có nền tảng vững chắc về lập trình Front-end (HTML, CSS, JavaScript) và WordPress, giúp tôi dễ dàng phối hợp giữa tư duy sáng tạo và khả năng triển khai thực tế. Hiện tại, tôi đang đảm nhiệm vai trò Thiết kế & Lập trình tại công ty công nghệ EZ (EZ TECH), nơi tôi tham gia vào việc xây dựng giao diện, tối ưu trải nghiệm người dùng và phát triển các sản phẩm web hoàn chỉnh.
Theo dõi
Thông báo của
guest
0 Comments
Cũ nhất
Mới nhất Được bỏ phiếu nhiều nhất
Phản hồi nội tuyến
Xem tất cả bình luận