TL;DR: Nếu bạn muốn sự tiện lợi và ổn định tuyệt đối, n8n Cloud là lựa chọn số 1. Nhưng nếu bạn cần chạy số lượng lớn workflow với chi phí rẻ nhất (chỉ từ 150k-200k/tháng), Self-hosted VPS là chân ái. Bài viết này sẽ giúp bạn chọn đúng và hướng dẫn cài đặt chuẩn production.
1. Giới thiệu
Trong kỷ nguyên AI & Automation, n8n đang nổi lên như một "ngôi sao sáng" thay thế cho Zapier hay Make.com nhờ tính linh hoạt và khả năng xử lý workflow phức tạp (có code).
Tuy nhiên, câu hỏi lớn nhất của người mới bắt đầu luôn là: "Nên dùng bản Cloud trả phí của n8n hay tự thuê VPS cài đặt?".
Quyết định sai ở bước này có thể khiến bạn tốn hàng triệu đồng mỗi tháng hoặc đau đầu vì xử lý lỗi server. Hãy cùng phân tích sâu nhé.
2. So sánh chuyên sâu: n8n Cloud vs Self-hosted (VPS)
2.1. Bài toán chi phí (Cost Breakdown) - 2025
Giả định: Bạn cần chạy khoảng 10,000 executions/tháng.

| Hạng mục | n8n Cloud | Self-hosted VPS |
|---|---|---|
| Giá niêm yết | ~$20 - $50/tháng | Từ ~$6/tháng (150k VND)✓ |
| Executions | Giới hạn (2.5k - 10k) | Không giới hạn (tùy CPU)✓ |
| Active Workflow | Giới hạn số lượng | Không giới hạn✓ |
| Chi phí ẩn | Không có (Trọn gói)✓ | Domain, Setup, Maintenance |
| Tổng chi phí khi scale | Cố định, tăng theo gói | Rẻ hơn 5-10 lần✓ |
Nhận định: Self-hosted là lựa chọn tối ưu về chi phí cho các team có nhân sự kỹ thuật hoặc muốn "bào" tài nguyên server tối đa.
2.2. Khả năng tùy biến & Community Nodes
- Self-hosted: "Quyền lực tuyệt đối". Bạn có thể cài bất cứ
npm packagenào, truy cập file hệ thống (Local File Access) để xử lý dữ liệu nặng, và tùy chỉnh Environment Variables sâu hệ thống. - n8n Cloud: Đã hỗ trợ Verified Community Nodes cài đặt dễ dàng, nhưng vẫn hạn chế việc truy cập file system local và cài các gói chưa được verify.
2.3. Bảo mật & Compliance
- n8n Cloud: Chuẩn SOC2, GDPR compliant. Dữ liệu được mã hóa và backup daily. Phù hợp doanh nghiệp cần auditing.
- Self-hosted: Bạn tự chịu trách nhiệm (User responsibility). Dữ liệu 100% nằm trong tay bạn (Data Sovereignty), nhưng rủi ro nếu bạn quên update OS hoặc config sai firewall.
3. Case Study: Câu chuyện thực tế
Diginno - Rời bỏ Lark AnyCross để về với n8n (2025)

Chính đội ngũ chúng tôi (Diginno) đã trải qua cuộc "di cư" này vào đầu năm 2025.
- Bối cảnh: Lark AnyCross thông báo ngừng gói miễn phí và áp dụng mức phí khá "chát" (~$1,000 cho 200k lượt chạy/năm).
- Quyết định: Chuyển toàn bộ hệ thống Automation sang n8n Self-hosted.
Kết quả Diginno: Tiết kiệm gần $1,000/năm, setup nhanh hơn nhờ copy/paste workflow JSON, can thiệp sâu vào dữ liệu không bị giới hạn bởi node có sẵn.
Case Study từ cộng đồng Global
Case 1: Startup "Bordr" - Tiết kiệm $20k/năm nhờ Self-hosted
Bordr↗ là một startup hỗ trợ dịch chuyển quốc tế. Họ cần xử lý hàng nghìn đơn đăng ký mỗi tháng, sync dữ liệu qua lại giữa Paperform, Postmark và Stripe.
- Vấn đề: Chi phí Zapier tăng chóng mặt khi số lượng task chạm mốc 50k/tháng.
- Giải pháp: Chuyển sang n8n Self-hosted trên một VPS DigitalOcean $40/mo.
- Kết quả: Tiết kiệm được hơn $20,000/năm và xử lý được logic phức tạp mà Zapier không làm được.
Case 2: Delivery Hero - Giảm 200h làm việc thủ công mỗi tháng
Một đội ngũ IT Ops tại Delivery Hero↗ dùng n8n để tự động hóa quy trình quản lý access quyền.
- Vấn đề: Cần bảo mật cao và tích hợp sâu vào hệ thống nội bộ (On-Premises).
- Lý do chọn Self-hosted: Yêu cầu về Data Privacy và cần kết nối trực tiếp với DB nội bộ qua VPN mà Cloud không đáp ứng được.
Bài học: Nếu bạn scaling lớn (trên 50k execs) hoặc cần bảo mật nội bộ, Self-hosted là con đường tất yếu.
4. Tips tối ưu hiệu năng cho hệ thống Self-hosted
Khi tự host, bạn là người chịu trách nhiệm về performance. Đừng lo, chỉ cần 3 steps này để server chạy mượt như Cloud:
Chuyển từ SQLite sang PostgreSQL
Mặc định n8n dùng SQLite, nó sẽ bị "nghẽn" khi bạn có nhiều executions đồng thời. Hãy dùng Postgres ngay từ đầu (trong file docker-compose mình chia sẻ bên dưới đã có sẵn).
Bật chế độ Queue Mode (cho Pro user)
Nếu server quá tải, hãy tách n8n thành 1 Main Instance (để vào giao diện) và nhiều Worker Instances (để chạy ngầm). Cần thêm Redis để làm hàng đợi.
Dọn dẹp dữ liệu (Pruning)
Dữ liệu execution log phình to rất nhanh. Hãy set biến môi trường:
EXECUTIONS_DATA_PRUNE=true
EXECUTIONS_DATA_MAX_AGE=168 # Chỉ giữ log 7 ngày
5. Gợi ý nhà cung cấp VPS n8n uy tín tại Việt Nam
Nếu bạn quyết định chọn đường Self-hosted nhưng ngại cài đặt phức tạp, hiện tại ở Việt Nam đã có các đơn vị cung cấp VPS cài sẵn n8n (One-click install) với mức giá rất tốt và hỗ trợ kỹ thuật tận răng.
TinoHost
179.000đ/tháng
- ✓Cài sẵn n8n 1-click
- ✓Dùng thử 7 ngày miễn phí
- ✓Hoàn tiền 30 ngày
- ✓Uptime 99.9%
123Host
Từ 150.000đ/tháng
- ✓NVMe siêu tốc
- ✓Server đặt tại Việt Nam
- ✓1-click install n8n
- ✓Backup hàng tuần
Các nhà cung cấp VPS này có hỗ trợ tính năng cài đặt n8n tự động sẽ tiện hơn nếu như bạn không biết kỹ thuật.
6. Hướng dẫn tự cài đặt n8n trên VPS (Docker & Traefik)
Nếu bạn muốn tự tay setup server để hiểu sâu về hệ thống, hãy làm theo các bước sau. Stack chuẩn: Ubuntu + Docker Compose + Traefik (HTTPS tự động).
Chuẩn bị VPS
2GB RAM, trỏ domain
Cài Docker
curl + sh script
Cấu hình Compose
Traefik + n8n
Chạy n8n
docker compose up
Chuẩn bị VPS
2GB RAM, trỏ domain
Cài Docker
curl + sh script
Cấu hình Compose
Traefik + n8n
Chạy n8n
docker compose up
Chuẩn bị
Mua VPS với cấu hình tối thiểu: 2GB RAM / 1 vCPU. Trỏ subdomain (ví dụ n8n.yourdomain.com) về IP của VPS.
Cài đặt Docker
SSH vào server và chạy lệnh sau:
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
Cấu hình docker-compose.yml
Tạo file docker-compose.yml với nội dung sau (đã tích hợp Traefik để auto SSL):
version: '3'
services:
traefik:
image: "traefik:v2.10"
command:
- "--api.insecure=true"
- "--providers.docker=true"
- "--providers.docker.exposedbydefault=false"
- "--entrypoints.web.address=:80"
- "--entrypoints.websecure.address=:443"
- "--certificatesresolvers.myresolver.acme.tlschallenge=true"
- "--certificatesresolvers.myresolver.acme.email=your-email@example.com" # [!code highlight]
- "--certificatesresolvers.myresolver.acme.storage=/letsencrypt/acme.json"
ports:
- "80:80"
- "443:443"
volumes:
- "./letsencrypt:/letsencrypt"
- "/var/run/docker.sock:/var/run/docker.sock:ro"
n8n:
image: docker.n8n.io/n8nio/n8n
ports:
- "127.0.0.1:5678:5678"
environment:
- N8N_HOST=n8n.yourdomain.com # [!code highlight]
- N8N_PORT=5678
- N8N_PROTOCOL=https
- NODE_ENV=production
- WEBHOOK_URL=https://n8n.yourdomain.com/ # [!code highlight]
- GENERIC_TIMEZONE=Asia/Ho_Chi_Minh
volumes:
- n8n_data:/home/node/.n8n
labels:
- "traefik.enable=true"
- "traefik.http.routers.n8n.rule=Host(`n8n.yourdomain.com`)" # [!code highlight]
- "traefik.http.routers.n8n.entrypoints=websecure"
- "traefik.http.routers.n8n.tls.certresolver=myresolver"
volumes:
n8n_data:
Lưu ý quan trọng: Nhớ thay đổi n8n.yourdomain.com và your-email@example.com bằng thông tin thật của bạn!
Chạy n8n
docker compose up -d
Sau vài phút, bạn truy cập vào https://n8n.yourdomain.com để thiết lập tài khoản Admin đầu tiên.
7. Kết luận
- Chọn TinoHost↗ hoặc 123Host↗ nếu bạn muốn có sẵn n8n cài đặt sẵn, hỗ trợ tận răng và server tại Việt Nam.
- Chọn tự cài Docker nếu bạn là dân kỹ thuật và muốn kiểm soát hoàn toàn hệ thống.
Chúc các bạn xây dựng được những workflow automation triệu đô!
Bài viết hữu ích?
Chia sẻ để nhiều người biết đến!
>_ LLM-Friendly Copy
Copy as Markdown to use with ChatGPT, Claude, or other AI tools


