NỘI DUNG

Banner blog lễ 30.4 và 1.5

Cách cài đặt n8n trên VPS Ubuntu hiệu quả và chi tiết từ A – Z

Cao Lê Viết Tiến

Đã kiểm duyệt nội dung

Ngày đăng:08/05/2025
Lượt xem

Đánh giá

Tự host và cài n8n trên VPS Ubuntu mang lại cho bạn toàn quyền kiểm soát, bảo mật dữ liệu và khả năng tùy biến cao. Hướng dẫn này sẽ chỉ bạn cách cài đặt n8n một cách hiệu quả và an toàn bằng Docker và Docker Compose, cùng với việc cấu hình Nginx làm reverse proxy và SSL từ Let’s Encrypt.

Những điểm chính

  • Chuẩn bị môi trường VPS: Hiểu rõ các yêu cầu cơ bản về VPS để đảm bảo n8n hoạt động ổn định, bao gồm tài nguyên hệ thống và bước cập nhật hệ thống trước khi triển khai.
  • Cài đặt Docker và Docker Compose: Nắm vững cách cài đặt Docker Engine và Docker Compose dưới dạng plugin chính thức, làm nền tảng cho việc triển khai ứng dụng container hoá.
  • Triển khai n8n với Docker Compose: Học cách cấu hình file docker-compose.yml, khởi tạo thư mục làm việc, và chạy n8n một cách tự động hóa qua Docker Compose.
  • Cấu hình Reverse Proxy với Nginx và SSL (HTTPS): Biết cách cài đặt và cấu hình Nginx làm reverse proxy, đồng thời tích hợp chứng chỉ SSL miễn phí từ Let’s Encrypt để bảo vệ kết nối an toàn.

Yêu cầu VPS trước khi cài n8n trên VPS Ubuntu

  • Hệ điều hành: Ubuntu 22.04 LTS (hoặc 20.04 LTS, 24.04 LTS).
  • CPU: Tối thiểu 1 vCPU (khuyến nghị 2 vCPU trở lên cho hiệu suất tốt hơn).
  • RAM: Tối thiểu 2GB (khuyến nghị 4GB trở lên cho các workflow phức tạp).
  • Ổ cứng: Tối thiểu 20GB SSD.
  • Quyền truy cập: Root hoặc người dùng có quyền sudo.
  • Tên miền (Domain): Đã trỏ về địa chỉ IP public của VPS (cần thiết cho HTTPS).
  • Thời gian ước tính: 30-60 phút
  • Đối tượng: Người dùng có kiến thức cơ bản về VPS và dòng lệnh Linux.

Cập nhật hệ thống

Bạn cần kết nối vào VPS qua SSH và chạy lệnh sau để đảm bảo hệ thống được cập nhật:

sudo apt update && sudo apt upgrade -y
Quá trình cập nhật hệ thống đang được thực hiện
Quá trình cập nhật hệ thống đang được thực hiện

n8n được khuyến nghị cài đặt qua Docker để dễ dàng quản lý và nâng cấp.

Cài đặt Docker Engine

Bước 1: Đầu tiên, bạn cần gỡ cài đặt các phiên bản Docker cũ (nếu có) bằng cách chạy lệnh sau:

sudo apt remove docker docker-engine docker.io containerd runc -y
Gỡ cài đặt phiên bản Docker cũ
Gỡ cài đặt phiên bản Docker cũ

Bước 2: Bạn sử dụng lệnh sau để cài đặt các gói cần thiết:

sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg lsb-release -y
Cài đặt các gói cần thiết
Cài đặt các gói cần thiết

Bước 3: Tiếp theo, để thêm khóa GPG chính thức của Docker bạn chạy lệnh sau:

sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
Thêm khóa GPG
Thêm khóa GPG

Bước 4: Bạn có thể chạy lệnh sau để thêm kho lưu trữ Docker vào APT sources:

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 >
Thêm kho lưu trữ Docker
Thêm kho lưu trữ Docker

Bước 5: Tiếp đến bạn cần cài đặt Docker Engine với lệnh sau:

sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
Cài đặt Docker Engine
Cài đặt Docker Engine

Bước 6: Cuối cùng, bạn cần kiểm tra phiên bản Docker hiện tại:

docker --version
Kiểm tra phiên bản của Docker
Kiểm tra phiên bản của Docker

Kiểm tra Docker Compose (Plugin)

Giờ đây Docker Compose hiện là một plugin của Docker CLI.

docker compose version
Kiểm tra Docker Compose
Kiểm tra Docker Compose

Việc tự triển khai n8n bằng Docker giúp bạn kiểm soát hoàn toàn hệ thống, tối ưu bảo mật và linh hoạt trong cấu hình. Tuy nhiên, để n8n hoạt động ổn định và xử lý các workflow mượt mà, bạn cần một hạ tầng VPS đủ mạnh và đáng tin cậy. Với dịch vụ VPS N8N chuyên biệt tại Vietnix – được thiết kế tối ưu cho các nền tảng tự động hóa như n8n. Với CPU hiệu năng cao, ổ cứng SSD RAID 10, uptime 99.9% và đội ngũ hỗ trợ kỹ thuật 24/7, Vietnix là lựa chọn lý tưởng giúp bạn triển khai và vận hành n8n hiệu quả, ổn định và tiết kiệm chi phí.

Bước 1: Tạo thư mục và File cấu hình cho n8n

Đầu tiên, bạn cần tạo một thư mục để lưu trữ file cấu hình và dữ liệu của n8n:

mkdir ~/n8n_stack && cd ~/n8n_stack
Tạo thư mục lưu trữ file cấu hình
Tạo thư mục lưu trữ file cấu hình

Tiếp theo, tạo file docker-compose.yml bằng trình soạn thảo văn bản (ví dụ vim), bạn sử dụng lệnh sau:

vim docker-compose.yml

Bước 2: Thêm nội dung file docker-compose.yml

Ở bước này, bạn sao chép và dán nội dung sau vào file docker-compose.yml:

services:
  init_n8n_permissions:
    image: alpine:latest
    command: ["sh", "-c", "chown -R 1000:1000 /data"]
    volumes:
      - ./n8n-data:/data
    entrypoint: ["sh", "-c", "chown -R 1000:1000 /data"]
    restart: "no"

  postgres:
    image: postgres:latest
    container_name: postgres_n8n_docker
    restart: always
    environment:
      - POSTGRES_USER=n8n
      - POSTGRES_PASSWORD=n8npassword
      - POSTGRES_DB=n8ndb
    volumes:
      - ./postgres-data:/var/lib/postgresql/data

  n8n:
    image: n8nio/n8n:latest
    container_name: n8n_docker
    restart: always
    depends_on:
      - postgres
      - init_n8n_permissions
    ports:
      - "127.0.0.1:5678:5678"
    user: "1000:1000"
    environment:
      - N8N_BASIC_AUTH_ACTIVE=false
      - N8N_HOST=n8n2.vietnix.tech
      - N8N_PROTOCOL=https
      - WEBHOOK_URL=https://n8n2.vietnix.tech/
      - N8N_RUNNERS_ENABLED=true
      - GENERIC_TIMEZONE=Asia/Ho_Chi_Minh
      - DB_TYPE=postgresdb
      - DB_POSTGRESDB_HOST=postgres
      - DB_POSTGRESDB_PORT=5432
      - DB_POSTGRESDB_DATABASE=n8ndb
      - DB_POSTGRESDB_USER=n8n
      - DB_POSTGRESDB_PASSWORD=n8npassword
      - N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true
    volumes:
      - ./n8n-data:/home/node/.n8n
      - ./local_files:/files

Giải thích một số điểm quan trọng:

Biến môi trườngMô tả & ý nghĩa
DB_POSTGRESDB_DATABASETên database n8n sẽ sử dụng.
DB_POSTGRESDB_USERUsername dùng để kết nối tới database.
DB_POSTGRESDB_PASSWORDMật khẩu tương ứng với user trên.
N8N_HOSTDomain hoặc IP truy cập vào n8n từ bên ngoài. Quan trọng để cấu hình cookie, webhook,…
WEBHOOK_URLURL webhook đầy đủ (gồm https://…). Dùng để n8n sinh các webhook chính xác
GENERIC_TIMEZONEMúi giờ mặc định cho workflow (ảnh hưởng đến schedule, logs, cron). VD: Asia/Ho_Chi_Minh.
POSTGRES_USERUsername dùng để kết nối tới database.
POSTGRES_PASSWORDMật khẩu tương ứng với user trên.
POSTGRES_DBTên database n8n sẽ sử dụng.

iconLưu ý

Để đảm bảo hệ thống n8n an toàn, hoạt động đúng trong môi trường thực tế, bạn hãy thay đổi các thông tin trên.

Bước 3: Khởi chạy n8n

Từ bên trong thư mục ~/n8n_stack (nơi chứa file docker-compose.yml), bạn chạy lệnh:

docker compose up -d
Chạy lệnh Docker
Chạy lệnh Docker

Để truy cập n8n qua tên miền với HTTPS, chúng ta sẽ dùng Nginx làm reverse proxy và Certbot để lấy chứng chỉ SSL miễn phí từ Let’s Encrypt.

Bước 1: Cài Đặt Nginx và Certbot (Let’s Encrypt)

sudo apt install nginx certbot python3-certbot-nginx -y
Quá trình cài đặt Nginx và Certbot đang tiến hành
Quá trình cài đặt Nginx và Certbot đang tiến hành

Bước 2: Cấu hình Nginx 

Bước đầu, bạn cần tạo file cấu hình Nginx cho n8n (thay n8n2.vietnix.tech bằng tên miền của bạn):

    vim /etc/nginx/sites-available/n8n2.vietnix.tech

    Bước tiếp theo, bạn sẽ dán nội dung sau vào file, nhớ thay n8n2.vietnix.tech bằng tên miền thực của bạn, khi đã nhập xong bạn lưu và đóng file lại.

      server {
          listen 80;
      
          server_name n8n2.vietnix.tech;
      
          access_log /var/log/nginx/n8n2.vietnix.tech.access.log;
          error_log /var/log/nginx/n8n2.vietnix.tech.error.log;
      
          location / {
              proxy_pass http://127.0.0.1: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;
      
              proxy_http_version 1.1;
              proxy_set_header Upgrade $http_upgrade;
              proxy_set_header Connection "upgrade";
              proxy_buffering off;
              # proxy_cache off;
          }
      }

      Tiếp đến, cần kích hoạt file cấu hình bằng cách tạo symbolic link và kiểm tra cú pháp Nginx, thực hiện bằng cách bạn nhập lần lượt các câu lệnh sau:

        sudo ln -s /etc/nginx/sites-available/n8n2.vietnix.tech /etc/nginx/sites-enabled/
        nginx -t

        Sau đó, bạn cần khởi động lại Nginx và chạy Certbot để lấy và cài đặt chứng chỉ SSL (thay n8n2.vietnix.tech):

        systemctl restart nginx
        sudo certbot --nginx -d n8n2.vietnix.tech
        Khởi động lại Nginx và chạy Certbot
        Khởi động lại Nginx và chạy Certbot

        Certbot sẽ hỏi bạn các câu như sau:

        • Email: Nhập email của bạn (dùng để nhận thông báo hết hạn và các vấn đề bảo mật).
        • Terms of Service: Đồng ý với điều khoản (A).
        • Share email: Có thể chọn Y hoặc N.

        Sau khi thành công, Certbot sẽ tự động cấu hình Nginx để sử dụng SSL và tự động gia hạn chứng chỉ. Để kiểm tra trạng thái tự động gia hạn, bạn nhập lệnh sau:

        sudo systemctl status certbot.timer
        Việc cài đặt n8n trên VPS Ubuntu thành công
        Việc cài đặt n8n trên VPS Ubuntu thành công

        Vietnix – Nhà cung cấp dịch vụ VPS toàn diện, tối ưu chi phí và an toàn dữ liệu

        Dịch vụ thuê VPS tại Vietnix là một giải pháp hạ tầng ổn định, bảo mật và hiệu năng cao cho các dự án web, hệ thống tự động hóa hoặc ứng dụng doanh nghiệp. Toàn bộ máy chủ sử dụng ổ cứng SSD RAID 10 và CPU mạnh mẽ, giúp xử lý tác vụ nhanh chóng, kể cả với khối lượng công việc lớn. Hệ thống hoạt động trên nền tảng ảo hóa tối ưu, đảm bảo hiệu suất ổn định và khả năng mở rộng linh hoạt khi cần thiết. Bên cạnh đó, Vietnix cam kết uptime lên đến 99.9% và cho phép toàn quyền kiểm soát tài nguyên – giúp bạn yên tâm triển khai và vận hành bất kỳ dự án nào.

        Thông tin liên hệ:

        • Hotline: 18001093
        • Email: sales@vietnix.com.vn
        • Địa chỉ: 265 Hồng Lạc, Phường 10, Quận Tân Bình, Thành Phố Hồ Chí Minh.
        • Website: https://vietnix.vn/

        Việc cài đặt n8n trên VPS Ubuntu bằng Docker không chỉ giúp bạn chủ động kiểm soát hệ thống mà còn đảm bảo hiệu suất, tính ổn định và khả năng mở rộng cao. Chỉ với vài bước cấu hình, bạn đã có thể triển khai một nền tảng tự động hóa mạnh mẽ, sẵn sàng phục vụ các workflow từ đơn giản đến phức tạp. Đừng quên thường xuyên sao lưu và cập nhật để hệ thống luôn an toàn và hoạt động trơn tru.

        THEO DÕI VÀ CẬP NHẬT CHỦ ĐỀ BẠN QUAN TÂM

        Đăng ký ngay để nhận những thông tin mới nhất từ blog của chúng tôi. Đừng bỏ lỡ cơ hội truy cập kiến thức và tin tức hàng ngày

        Đánh giá mức độ hữu ích của bài viết

        icon 1 sao

        Thất vọng

        icon 2 sao

        Chưa hữu ích

        icon 3 sao

        Bình thường

        icon 4 sao

        Hữu ích

        icon 5 sao

        Rất hữu ích

        Kết nối với mình qua

        Kết nối với mình qua

        Theo dõi
        Thông báo của
        guest
        0 Comments
        Phản hồi nội tuyến
        Xem tất cả bình luận

        Tăng tốc độ website - Nâng tầm giá trị thương hiệu

        Banner group
        Tăng tốc tải trang

        95 điểm

        Nâng cao trải nghiệm người dùng

        Tăng 8% tỷ lệ chuyển đổi

        Thúc đẩy SEO, Google Ads hiệu quả

        Tăng tốc ngay

        SẢN PHẨM NỔI BẬT

        Icon tab

        MAXSPEED HOSTING

        TĂNG TỐC WEBSITE TOÀN DIỆN

        CÔNG NGHỆ ĐỘC QUYỀN

        Vector

        PHẦN CỨNG MẠNH MẼ

        Vector

        HỖ TRỢ 24/7

        Vector
        ĐĂNG KÝ NGAYGroup icon
        khuyến mãi 30 tháng 4
        Khi mua Hosting/VPS
        16/04/2025 - 16/05/2025
        Pattern

        7 NGÀY DÙNG THỬ HOSTING

        NẮM BẮT CƠ HỘI, THÀNH CÔNG DẪN LỐI

        Cùng trải nghiệm dịch vụ hosting tốc độ cao được hơn 100,000 khách hàng sử dụng

        icon popup single post

        CẢM ƠN BẠN ĐÃ ĐÁNH GIÁ BÀI VIẾT

        Vietnix sẽ luôn cố gắng cải thiện chất lượng dịch vụ mỗi ngày

        ĐÓNG

        Đánh giá mức độ hữu ích của bài viết

        icon 1 sao

        Thất vọng

        icon 2 sao

        Chưa hữu ích

        icon 3 sao

        Bình thường

        icon 4 sao

        Hữu ích

        icon 5 sao

        Rất hữu ích

        Icon
        ĐĂNG KÝ NHẬN TÀI LIỆU THÀNH CÔNG
        Cảm ơn bạn đã đăng ký nhận tài liệu mới nhất từ Vietnix!
        ĐÓNG

        ĐĂNG KÝ DÙNG THỬ HOSTING

        Asset

        7 NGÀY MIỄN PHÍ

        Asset 1

        ĐĂNG KÝ DÙNG THỬ HOSTING

        Asset

        7 NGÀY MIỄN PHÍ

        Asset 1
        Icon
        XÁC NHẬN ĐĂNG KÝ DÙNG THỬ THÀNH CÔNG
        Cảm ơn bạn đã đăng ký thông tin thành công. Đội ngũ CSKH sẽ liên hệ trực tiếp để kích hoạt dịch vụ cho bạn nhanh nhất!
        ĐÓNG