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://n8n.thuongde.win
- 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://n8n.thuongde.win
- WEBHOOK_TUNNEL_URL=https://n8n.thuongde.win
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 n8n.thuongde.win;
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 n8n.thuongde.win
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:
n8n.thuongde.win → 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://n8n.thuongde.win và sử dụng 🚀