Hướng dẫn cài n8n trên VPS bằng Docker từ A - Z
Hướng dẫn cài n8n trên VPS bằng Docker và PostgreSQL chi tiết. Giúp bạn tự động hóa quy trình doanh nghiệp, bảo mật dữ liệu và tối ưu 90% chi phí.
Giáp Đức Thắng 11 phút đọc
Hướng dẫn cài n8n trên VPS bằng Docker và PostgreSQL chi tiết. Giúp bạn tự động hóa quy trình doanh nghiệp, bảo mật dữ liệu và tối ưu 90% chi phí.
Giáp Đức Thắng 11 phút đọc

n8n là công cụ tự động hóa quy trình làm việc (workflow automation) mã nguồn mở, giúp kết nối các ứng dụng và tích hợp mô hình AI dễ dàng mà không cần viết code.
Cấu hình tối thiểu để chạy n8n là máy chủ VPS có 1 Core CPU, 1GB RAM và 20GB SSD, chạy hệ điều hành Ubuntu 20.04 hoặc 22.04 LTS.
Bạn chỉ cần truy cập vào thư mục chứa file cấu hình docker-compose.yml và chạy tổ hợp lệnh "docker compose pull && docker compose up -d" để cập nhật lên bản mới nhất mà không mất dữ liệu.

Tương lai của n8n nằm ở mô hình Hybrid Automation, giúp doanh nghiệp cắt giảm 50%-80% chi phí token AI Agent.
10 phút đọc

So sánh n8n và OpenClaw chi tiết từ Noti Education. Khám phá nền tảng tự động hóa AI và framework xây dựng AI Agent tối ưu nhất cho doanh nghiệp!
8 phút đọc

Hướng dẫn ứng dụng n8n chăm sóc khách hàng Ecom tự động giúp tối ưu hóa quy trình vận hành, nâng cao trải nghiệm khách hàng và đột phá doanh thu.
8 phút đọc
n8n là một công cụ tự động hóa quy trình làm việc (workflow automation) mã nguồn mở mạnh mẽ, giúp kết nối hàng trăm ứng dụng khác nhau mà không cần viết nhiều mã code. Để cài n8n trên VPS một cách nhanh chóng và ổn định nhất, phương pháp tối ưu là triển khai n8n qua Docker và Docker Compose trên hệ điều hành Ubuntu, sau đó cấu hình Reverse Proxy bằng Nginx và cài đặt chứng chỉ bảo mật SSL Let's Encrypt. Cách làm này giúp hệ thống vận hành mượt mà, bảo mật tuyệt đối dữ liệu và tiết kiệm đến 90% chi phí so với phiên bản đám mây (n8n Cloud). Bài viết này từ Noti Education sẽ hướng dẫn bạn chi tiết từng bước cài đặt từ A đến Z.
Việc tự cài đặt n8n trên máy chủ ảo VPS riêng (self-hosted) giúp bạn sở hữu một hệ thống hoàn toàn độc lập, không bị giới hạn số lượng luồng chạy (execution) và chủ động tích hợp các mô hình trí tuệ nhân tạo (AI) tiên tiến nhất hiện nay vào hệ thống Digital Marketing và vận hành doanh nghiệp.
Sử dụng phiên bản n8n tự lưu trữ (self-hosted) trên máy chủ ảo VPS mang lại nhiều lợi thế vượt trội so với việc sử dụng phiên bản trả phí n8n Cloud. Dưới đây là bảng so sánh chi tiết giúp bạn có cái nhìn tổng quan:
| Tiêu chí so sánh | n8n Cloud (Bản đám mây) | n8n Self-hosted (Cài trên VPS) |
|---|---|---|
| Chi phí vận hành | Khởi điểm từ 20 USD/tháng | Chỉ từ 5 - 10 USD/tháng cho gói VPS |
| Giới hạn lượt chạy | Bị giới hạn nghiêm ngặt theo gói đăng ký | Hoàn toàn không giới hạn số lượng tác vụ |
| Bảo mật dữ liệu | Lưu trữ trên máy chủ của bên thứ ba | Lưu trữ trực tiếp trên máy chủ VPS riêng của bạn |
| Khả năng tùy biến | Hạn chế cài thêm thư viện ngoài | Tự do cấu hình Python, Javascript, AI cục bộ |
Để quá trình cài đặt diễn ra suôn sẻ và không gặp lỗi phát sinh, bạn cần chuẩn bị sẵn các tài nguyên kỹ thuật sau:
n8n.yourdomain.com) để truy cập vào hệ thống an toàn qua giao thức HTTPS.Dưới đây là quy trình chuẩn hóa gồm 5 bước chi tiết giúp bạn tự thiết lập hệ thống n8n chạy trên nền tảng Docker kết hợp cơ sở dữ liệu PostgreSQL để đảm bảo hiệu năng cao nhất.
Trước khi bắt đầu cài đặt các phần mềm trên VPS, bạn cần cấu hình tên miền để trỏ về địa chỉ IP của máy chủ ảo.
n8n), tại ô IPv4 address điền địa chỉ IP công cộng của VPS.Sử dụng phần mềm SSH kết nối vào VPS bằng tài khoản root. Sau khi đăng nhập thành công, bạn hãy chạy lệnh sau để cập nhật toàn bộ hệ thống lên phiên bản mới nhất:
sudo apt update && sudo apt upgrade -yDocker giúp đóng gói ứng dụng n8n vào một môi trường container độc lập, giúp việc quản lý cực kỳ nhẹ nhàng. Chạy lệnh dưới đây để tự động cài đặt Docker:
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.shTiếp theo, tiến hành cài đặt công cụ quản lý nhóm container Docker Compose:
sudo apt install docker-compose-plugin -yKiểm tra xem Docker và Docker Compose đã hoạt động thành công chưa bằng lệnh:
docker --version && docker compose versionChúng ta sẽ sử dụng PostgreSQL làm cơ sở dữ liệu lưu trữ cho n8n thay vì SQLite mặc định nhằm đảm bảo hệ thống không bị chậm hoặc nghẽn khi xử lý lượng dữ liệu lớn.
Tạo thư mục làm việc và di chuyển vào thư mục đó:
mkdir -p /opt/n8n && cd /opt/n8nTạo và mở file cấu hình docker-compose.yml bằng trình soạn thảo Nano:
nano docker-compose.ymlCopy toàn bộ đoạn mã cấu hình dưới đây và dán vào cửa sổ dòng lệnh:
version: '3.8'
services:
postgres:
image: postgres:15-alpine
container_name: n8n_postgres
restart: always
environment:
- POSTGRES_USER=n8n_user
- POSTGRES_PASSWORD=MatKhauBaoMatCuaBan
- POSTGRES_DB=n8n_database
volumes:
- postgres_data:/var/lib/postgresql/data
n8n:
image: docker.n8n.io/n8nio/n8n:latest
container_name: n8n_app
restart: always
ports:
- "5678:5678"
environment:
- DB_TYPE=postgresdb
- DB_POSTGRESDB_HOST=postgres
- DB_POSTGRESDB_PORT=5432
- DB_POSTGRESDB_DATABASE=n8n_database
- DB_POSTGRESDB_USER=n8n_user
- DB_POSTGRESDB_PASSWORD=MatKhauBaoMatCuaBan
- N8N_HOST=n8n.yourdomain.com
- N8N_PORT=5678
- N8N_PROTOCOL=https
- NODE_ENV=production
- WEBHOOK_URL=https://n8n.yourdomain.com/
volumes:
- n8n_data:/home/node/.n8n
depends_on:
- postgres
volumes:
postgres_data:
n8n_data:Lưu ý quan trọng:
MatKhauBaoMatCuaBan thành mật khẩu bảo mật riêng của bạn.n8n.yourdomain.com thành tên miền chính xác mà bạn đã cấu hình trỏ IP ở Bước 1.Thực thi lệnh sau để Docker tự động tải về các gói tài nguyên và khởi chạy n8n hoạt động dưới nền:
docker compose up -dĐể kiểm tra trạng thái hoạt động của hệ thống, bạn có thể xem log thời gian thực bằng lệnh:
docker compose logs -fKhi thấy thông báo n8n đã sẵn sàng kết nối tại cổng 5678, nhấn Ctrl + C để thoát giao diện xem log.
Hiện tại n8n mới chỉ hoạt động ở cổng nội bộ 5678 trên VPS. Chúng ta cần cài đặt Nginx làm Reverse Proxy để chuyển tiếp lưu lượng truy cập từ tên miền về cổng này, đồng thời cài đặt chứng chỉ SSL để mã hóa kết nối bảo mật.
Chạy lệnh sau để cài đặt Nginx trên hệ điều hành Ubuntu:
sudo apt install nginx -yTạo một file cấu hình Nginx mới cho tên miền của bạn bằng lệnh:
sudo nano /etc/nginx/sites-available/n8nDán đoạn cấu hình Nginx sau vào file (nhớ thay đổi n8n.yourdomain.com thành tên miền thực tế của bạn):
server {
listen 80;
server_name n8n.yourdomain.com;
location / {
proxy_pass http://127.0.0.1:5678;
proxy_set_header Connection '';
proxy_http_version 1.1;
chunked_transfer_encoding off;
proxy_buffering off;
proxy_cache off;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
}
}Lưu file cấu hình lại và kích hoạt cấu hình bằng cách tạo liên kết mềm (symlink):
sudo ln -s /etc/nginx/sites-available/n8n /etc/nginx/sites-enabled/Kiểm tra xem cấu hình Nginx có bị lỗi cú pháp hay không:
sudo nginx -tNếu hệ thống báo cấu hình hợp lệ, tiến hành khởi động lại dịch vụ Nginx để áp dụng thay đổi:
sudo systemctl restart nginxSử dụng công cụ Certbot để tự động cấp phát và cấu hình chứng chỉ bảo mật HTTPS cho tên miền của bạn:
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d n8n.yourdomain.comTrong quá trình thiết lập, hãy nhập địa chỉ email của bạn và chọn đồng ý tự động chuyển hướng mọi truy cập từ HTTP sang cấu hình HTTPS bảo mật.
Sau khi hoàn tất cài đặt, bạn có thể mở trình duyệt web và truy cập trực tiếp vào địa chỉ tên miền của mình (ví dụ: https://n8n.yourdomain.com) để tiến hành đăng ký tài khoản quản trị viên (Admin) đầu tiên và bắt đầu thiết lập workflow.
Để hệ thống tự động hóa n8n luôn hoạt động ổn định, mượt mà và bền bỉ, bạn cần lưu ý 3 yếu tố kỹ thuật sau:
/opt/n8n chứa toàn bộ dữ liệu cấu hình và workflow của bạn. Hãy thiết lập các kịch bản backup thư mục này định kỳ lên Google Drive hoặc các dịch vụ lưu trữ đám mây an toàn./opt/n8n và chạy chuỗi lệnh sau để cập nhật tự động mà không làm mất dữ liệu:docker compose pull && docker compose up -dBài hướng dẫn cài đặt này được tổng hợp dựa trên tài liệu kỹ thuật chuẩn từ website chính thức n8n.io và các kinh nghiệm triển khai thực tế của các kỹ sư hệ thống tại Việt Nam. Bạn có thể xem chi tiết bài chia sẻ gốc của tác giả Giáp Đức Thắng về tối ưu hóa VPS chạy n8n mượt nhất tại liên kết nguồn giapducthang.com.
Làm chủ công nghệ cài đặt n8n trên VPS là bước đệm hoàn hảo giúp các cá nhân và doanh nghiệp tiến vào kỷ nguyên tự động hóa quy trình làm việc thế hệ mới. Khi đã sở hữu một hệ thống n8n tự vận hành ổn định, bạn có thể dễ dàng kết hợp nó với các mô hình ngôn ngữ lớn (LLMs) hàng đầu như ChatGPT, Claude AI để tạo ra các trợ lý AI Agent làm việc tự động hoàn toàn 24/7.