Hướng dẫn cài đặt chi tiết n8n trên unbuntu, để thiết lập công cụ tự động hóa mạnh mẽ n8n trên hệ điều hành Ubuntu. Với các bước được xây dựng từ cơ bản đến nâng cao, bạn không chỉ học cách cài đặt mà còn hiểu rõ lý do đằng sau từng thao tác, giúp tối ưu hóa hiệu suất và an toàn cho hệ thống của mình.

Hướng Dẫn Cài Đặt n8n Trên VPS Ubuntu (Docker + Nginx + Cloudflare)
1️⃣ Chuẩn Bị
1.1 Cập nhật hệ thống
sudo apt update && sudo apt upgrade -y
1.2 Cài đặt Docker & Docker Compose
sudo apt install -y docker.io docker-compose
sudo systemctl enable docker
sudo systemctl start docker
1.3 Tạo thư mục làm việc
mkdir -p ~/n8n && cd ~/n8n
2️⃣ Cài Đặt n8n Với Docker
2.1 Tạo file docker-compose.yml
nano docker-compose.yml
Dán nội dung sau:
version: "3"
services:
n8n:
image: n8nio/n8n:latest
restart: always
ports:
- "5678:5678"
environment:
- GENERIC_TIMEZONE=Asia/Ho_Chi_Minh
- WEBHOOK_TUNNEL_URL=https://abc.com
- N8N_RUNNERS_ENABLED=true
volumes:
- /root/n8n/.n8n:/home/node/.n8n
📌 Lưu lại: Ctrl + X → Y → Enter
⚠️ Ghi chú:
Trước khi chạy docker-compose, hãy chắc chắn bạn đang ở đúng thư mục chứa file:
cd /root/n8n
⚠️ CHÚ Ý:
URL public chính xác để OAuth2 và webhook hoạt động:
- WEBHOOK_URL=https://abc.com
- WEBHOOK_TUNNEL_URL=https://abc.com
2.2 Chạy n8n
docker-compose up -d
2.3 Kiểm tra container
docker ps
Nếu thấy n8nio/n8n:latest chạy, nghĩa là OK.
✅ Quan trọng: Phải cấp quyền đúng cho thư mục mount
sudo chown -R 1000:1000 /root/n8n/.n8n
sudo chmod -R 700 /root/n8n/.n8n
3️⃣ Cấu Hình Reverse Proxy Với Nginx
3.1 Cài đặt Nginx
sudo apt install -y nginx
3.2 Cấu hình Nginx cho n8n
sudo nano /etc/nginx/sites-available/n8n
Dán nội dung sau:
server {
listen 80;
server_name abc.com;
location / {
proxy_pass http://localhost:5678;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_read_timeout 3600s;
proxy_connect_timeout 3600s;
}
}
📌 Lưu lại: Ctrl + X → Y → Enter
3.3 Kích hoạt cấu hình & restart Nginx
sudo ln -s /etc/nginx/sites-available/n8n /etc/nginx/sites-enabled/
sudo systemctl restart nginx
4️⃣ Cài Đặt SSL Miễn Phí Với Let’s Encrypt
4.1 Cài đặt Certbot
sudo apt install -y certbot python3-certbot-nginx
4.2 Cấp chứng chỉ SSL cho domain
sudo certbot --nginx -d abc.com
4.3 Kiểm tra tự động gia hạn
sudo certbot renew --dry-run
✅ Nếu không có lỗi, chứng chỉ sẽ được tự động gia hạn định kỳ.
5️⃣ Cấu Hình Cloudflare (Nếu Dùng)
- Vào Cloudflare → DNS
- Thêm bản ghi A:
abc.com → IP VPS
- Tắt Proxy (chuyển về DNS Only)
- Thêm bản ghi A:
- Vào Cloudflare → Network
- Bật WebSockets
6️⃣ Kiểm Tra & Debug
6.1 Kiểm tra kết nối
curl -I http://localhost:5678
Nếu trả về HTTP/1.1 200 OK
→ n8n hoạt động tốt.
6.2 Kiểm tra log nếu lỗi
docker logs n8n_n8n_1 --tail=50
6.3 Kiểm tra Nginx
sudo systemctl status nginx
🎯 Hoàn Thành!
Truy cập https://abc.com và sử dụng 🚀