Bỏ qua đến nội dung chính
AI Automation
Logo n8n cạnh cửa sổ terminal đo RAM các container trên nền navy quầng sáng hồng

Host n8n ở đâu: VPS, n8n Cloud hay máy riêng

AIDev TeamTham vấn chuyên môn: Nguyễn Việt Chung

Đăng 14 phút đọc2 lượt xem

Mục lục · 21

Ít workflow và không muốn giữ máy chủ thì thuê n8n Cloud; chạy nhiều, cần giữ dữ liệu thì tự host trên VPS 1 vCPU, 2GB RAM. Mình đo n8n 2.44.6 trên ba cấu hình giả lập VPS, đếm RAM lúc rảnh, lúc 20 request cùng lúc và khi xử lý 200.000 dòng, rồi đặt cạnh bảng giá n8n Cloud tính bằng đồng.

Chọn n8n hosting theo ba câu hỏi: workflow chạy bao nhiêu lần một tháng, có ai biết SSH và Docker không, dữ liệu có được rời máy của bạn không. Chạy dưới 2.500 lần một tháng và không ai lo máy chủ thì thuê n8n Cloud gói Starter, 24€/tháng, khoảng 714.000 đồng. Chạy nhiều hơn thì tự host trên VPS (máy chủ ảo thuê theo tháng) 1 vCPU, 2GB RAM; cấu hình này đủ cho phần lớn việc của cửa hàng hay văn phòng nhỏ, giá gói VPS trong nước khoảng 180.000 đến 240.000 đồng/tháng.

Những điều cần nắm trước khi đọc tiếp:

  • n8n Cloud tính tiền theo execution, tức số lần một workflow chạy từ đầu đến cuối, không kể workflow có bao nhiêu bước. Một workflow chạy 15 phút một lần đã tốn 2.880 lần/tháng, vượt gói Starter.

  • Lúc rảnh, n8n chạy riêng một container dùng khoảng 400MiB RAM (kể cả cache file; riêng bộ nhớ của tiến trình n8n khoảng 330MiB). Bộ cài một dòng của n8n (lệnh curl -fsSL https://get.n8n.io | sh) gồm 5 container, dùng khoảng 580MiB.

  • VPS 512MB không đủ: n8n bị hệ điều hành giết ngay khi 20 request đến cùng lúc. VPS 1GB chịu được tải đó nhưng chết khi một workflow xử lý 200.000 dòng.

  • File compose.yml của bộ cài một dòng không có dòng restart. n8n bị giết vì hết RAM thì nằm im đến khi bạn tự bật lại.

  • Tự host miễn phí cho việc của bạn và công ty bạn, nhưng giấy phép không cho mở n8n để khách tự dựng workflow.

Mình đo trên một máy CPU thuê ở AIDev Cloud ngày 23/10/2026, n8n 2.44.6 (bản stable mới nhất trên GitHub releases của n8n, ra ngày 22/10). Nếu bạn chưa biết n8n làm được gì, đọc bài n8n là gì trước.

n8n hosting có mấy lựa chọn, khác nhau ở đâu?

Có ba chỗ để n8n chạy: máy chủ của chính n8n (n8n Cloud), một VPS bạn thuê, hoặc một máy bạn có sẵn ở nhà, ở văn phòng. Cả ba chạy cùng một phần mềm, khác nhau ở tiền, ở việc ai lo máy và ở giới hạn.

n8n Cloud

VPS tự host

Máy ở nhà, văn phòng

Tiền mỗi tháng

24€ (Starter) đến 145€ (Pro 50k)

khoảng 180.000 đến 240.000đ (1 vCPU, 2GB)

tiền điện, máy có sẵn

Giới hạn số lần chạy

2.500 đến 50.000

theo sức máy

theo sức máy

Ai lo cập nhật, sao lưu

n8n

bạn

bạn

Webhook từ Internet gọi vào

có sẵn HTTPS

cần tên miền + reverse proxy (như Caddy, đứng trước n8n lo HTTPS)

cần thêm đường hầm (frp, Cloudflare)

Dữ liệu, credential (khóa API, mật khẩu kết nối dịch vụ) nằm ở

máy chủ của n8n

máy bạn thuê

máy của bạn

Giá Cloud lấy từ trang giá của n8n ngày 23/10/2026. Giá VPS lấy từ giá niêm yết gói "VPS n8n" của ba nhà cung cấp trong nước có mặt trong top 10 Google Việt Nam khi tìm "vps cho n8n", cùng ngày.

n8n Cloud giá bao nhiêu tiền Việt?

Trang n8n.io/pricing để giá bằng euro. Mình quy ra đồng theo tỷ giá bán EUR của Vietcombank lúc 00:42 ngày 23/10/2026 (29.749 đồng/euro). Thanh toán bằng thẻ quốc tế thì ngân hàng còn cộng phí chuyển đổi, nên số thực trả cao hơn một chút.

Bảng giá n8n Cloud chế độ trả theo tháng: Starter 24 euro cho 2.500 executions, Pro 60 euro cho 10.000, Business 800 euro chỉ tự host

Gói

Trả theo tháng

Trả theo năm (quy ra tháng)

Executions/tháng

Chạy cùng lúc

Starter

24€ ≈ 714.000đ

20€ ≈ 595.000đ

2.500

5

Pro 10k

60€ ≈ 1.785.000đ

50€ ≈ 1.487.000đ

10.000

20

Pro 50k

145€ ≈ 4.314.000đ

120,8€ ≈ 3.595.000đ

50.000

50

Business (chỉ tự host)

800€ ≈ 23.799.000đ

667€ ≈ 19.843.000đ

40.000

Mọi gói đều không giới hạn số workflow và số người dùng. Starter giữ lịch sử chạy 7 ngày và cắt mỗi lần chạy sau 5 phút; Pro giữ 30 ngày và cho chạy tới 40 phút. Bản dùng thử miễn phí có 1.000 executions, mỗi lần chạy tối đa 180 giây.

2.500 executions một tháng là nhiều hay ít?

Ít hơn bạn nghĩ nếu có workflow chạy theo lịch. Theo cách đếm trên trang giá của n8n, mỗi lần lịch kích hoạt là một execution:

text
Chạy mỗi giờ:      24 × 30 =   720 lần/tháng
Chạy mỗi 15 phút:  96 × 30 = 2.880 lần/tháng  → vượt Starter
Chạy mỗi 5 phút:  288 × 30 = 8.640 lần/tháng  → cần Pro 10k

Workflow canh website sập 5 phút một lần trong bộ template của mình, chạy một mình, đã cần gói Pro. Webhook thì đếm theo số lần bên ngoài gọi vào: 80 đơn hàng một ngày là 2.400 lần/tháng. Bản tự host không đếm execution, giới hạn chỉ là sức của máy. Make và Zapier thì đếm theo từng bước; bài công cụ AI automation: n8n, Make, Zapier tính số credit Make và số task Zapier cho cùng một quy trình AI chạy 1.000 lần một tháng.

VPS cho n8n cần cấu hình bao nhiêu?

Mình chạy n8n trong Docker, giới hạn CPU và RAM bằng --cpus và --memory để giả lập ba cỡ VPS rẻ: 1 CPU/512MB, 1 CPU/1GB và 2 CPU/2GB. Swap (dùng ổ đĩa làm RAM phụ) tắt, giống phần lớn VPS nhỏ. Lệnh dựng mỗi cấu hình:

bash
docker run -d --name n8nvps --restart unless-stopped \
  --cpus 1 --memory 1g --memory-swap 1g \
  -p 127.0.0.1:5678:5678 -e GENERIC_TIMEZONE=Asia/Ho_Chi_Minh \
  -v n8nvps-data:/home/node/.n8n docker.io/n8nio/n8n:2.44.6

Trên mỗi cấu hình mình bật ba workflow: webhook tính tiền đơn hàng (Webhook, Code, Respond), nhắc thời tiết sáng (gọi API Open-Meteo rồi viết câu nhắc) và một workflow cố ý nặng, tạo N dòng đơn hàng trong node Code rồi cộng tổng. Mình đọc RAM từ cgroup của container mỗi 0,2 giây:

Đo

1 CPU, 512MB

1 CPU, 1GB

2 CPU, 2GB

Khởi động đến khi sẵn sàng

10,5 giây

9,9 giây

7,6 giây

RAM lúc rảnh (trung bình 2 phút)

400MiB

407MiB

418MiB

Webhook gọi lần lượt, trung vị

150ms

109ms

91ms

20 request cùng lúc, 500 lần

chết sau 7 lần

500/500, 8,6 lần/giây

500/500, 16,6 lần/giây

RAM cao nhất khi 20 request cùng lúc

512MiB (chạm trần)

761MiB

824MiB

Workflow 100.000 dòng

5,7 giây

3,7 giây

Workflow 200.000 dòng

chết

7,3 giây

Workflow thời tiết chạy hết 1,1 đến 3,4 giây trên cả ba máy, thời gian chủ yếu là chờ API trả lời; riêng lần gọi đầu trên máy 1GB mất 6,1 giây. Loại workflow gọi API rồi gửi tin như vậy gần như không tốn tài nguyên. Thứ làm n8n hết RAM là số request đến cùng lúc và lượng dữ liệu đi qua một lần chạy.

Biểu đồ RAM cao nhất của n8n theo số dòng dữ liệu: máy 1GB lên 854MiB ở 100.000 dòng và bị kill ở 200.000 dòng, máy 2GB lên 1.329MiB ở 200.000 dòng

Máy 2GB chạy xong 200.000 dòng nhưng không trả RAM lại: hai phút sau khi hết tải, container vẫn giữ 788MiB, gần gấp đôi lúc mới bật. Nếu workflow của bạn thường đọc cả bảng Google Sheets hay cả file CSV lớn, tính RAM theo đỉnh, đừng tính theo lúc rảnh.

Vậy VPS cỡ nào là đủ?

VPS 1 vCPU, 1GB chạy được n8n đơn (chỉ một container n8n) với vài workflow nhẹ, miễn là không có lúc nào nhiều request dồn tới và không workflow nào đọc cả bảng dữ liệu lớn. Cho cửa hàng hay văn phòng nhỏ, mình chọn 1 vCPU, 2GB: phần RAM dư đủ cho workflow 200.000 dòng mà máy 1GB không qua được.

Mình chưa đo máy 4GB. Nếu dùng bộ cài một dòng đủ 5 container, thêm Postgres, hoặc có webhook nhận nhiều request cùng lúc, mình sẽ lên 2 vCPU, 4GB: từ 1 lên 2 CPU, số request xử lý mỗi giây gần như gấp đôi (8,6 lên 16,6), còn RAM dư để chứa các container khác.

Ổ đĩa không phải chỗ lo: sau cả đợt đo, cơ sở dữ liệu SQLite của máy 2GB chỉ 60MB. Bộ image của n8n chiếm khoảng 3,7GB, VPS 20GB là thừa.

Bộ cài một dòng get.n8n.io cần bao nhiêu RAM?

Tài liệu n8n hiện khuyến nghị cài bằng curl -fsSL https://get.n8n.io | sh, các bước chi tiết có trong bài tự host n8n bằng Docker. Bộ này chạy 5 container: n8n, runners cho node Code, hai container sandbox cho n8n Assistant (sandbox-runner, sandbox-api) và searxng để tìm kiếm web. Lúc rảnh, cả bộ dùng khoảng 580MiB, toàn máy (kể cả Ubuntu) dùng khoảng 1,2GB:

docker stats của bộ cài get.n8n.io lúc rảnh: n8n 315,5MiB, sandbox-runner 150,7MiB, searxng 99MiB, sandbox-api 4,9MiB, runners 3,3MiB; free -m báo đã dùng 1.187MiB

Số đó đo lúc chưa có workflow nào. Cộng phần n8n tăng thêm khi có tải ở bảng trên (đỉnh 824MiB với 20 request cùng lúc), bộ cài một dòng sẽ chạm 2GB nhanh hơn nhiều so với n8n đơn. Sandbox của n8n Assistant lại chạy Docker lồng Docker với quyền privileged (gần như toàn quyền trên máy chủ). Nếu VPS chỉ có 1 đến 2GB và bạn không dùng Assistant, chạy riêng container n8n như lệnh docker run ở trên.

n8n hết RAM trên VPS thì chuyện gì xảy ra?

Linux giết luôn tiến trình n8n. Trên máy 512MB, việc này xảy ra ở giây thứ 2 của bài tải 20 request cùng lúc; trên máy 1GB, ở giây thứ 13 của workflow 200.000 dòng. Log của kernel ghi lại cả hai lần:

dmesg ghi hai lần Memory cgroup out of memory: Killed process (n8n) lúc 01:12:41 và 01:20:50; docker inspect báo OOMKilled true

Phía gọi webhook không nhận được thông báo lỗi nào từ n8n, chỉ thấy kết nối bị cắt. Container của mình có --restart unless-stopped nên n8n tự chạy lại. Bộ cài một dòng thì không: compose.yml của get.n8n.io bản 2.44.6 không có dòng restart: nào. Mình giết tiến trình n8n từ host, giống cách OOM killer (cơ chế Linux giết tiến trình khi hết RAM) làm:

Thử giết tiến trình n8n: compose gốc thì n8n nằm ở trạng thái Exited (137), healthz trả 000; thêm restart unless-stopped thì n8n tự chạy lại, healthz trả 200

Không có dòng restart, n8n nằm im ở trạng thái Exited (137); workflow theo lịch không chạy, webhook không ai nghe, cho đến lúc có người vào bật lại. Thêm dòng restart: unless-stopped dưới service n8n trong compose.yml như dưới đây, sau đó chạy docker compose up -d n8n:

yaml
  n8n:
    restart: unless-stopped

Sau khi sửa, mình giết n8n lại theo cách cũ thì n8n tự lên lại và /healthz trả 200.

Có nên chạy n8n trên máy ở nhà, ở văn phòng?

Được, nếu máy bật 24/24 và có ít nhất 2GB RAM trống. Theo số đo ở trên, một máy tính cũ 4GB RAM chạy n8n đơn vẫn dư. Cái khó nằm ở mạng: máy sau modem nhà mạng không có IP public, nên webhook từ Facebook, Telegram hay cổng thanh toán không gọi vào được.

Cách mình đã thử là mở đường hầm ra Internet. Đi qua frp với một VPS làm cầu nối thì chậm hơn IP public khoảng 5ms; Cloudflare quick tunnel không cần VPS nhưng đổi địa chỉ mỗi lần khởi động lại. Số đo và cấu hình từng cách có trong bài tự host n8n bằng Docker. Nếu workflow chỉ chạy theo lịch và gọi ra ngoài (lấy tỷ giá, gửi báo cáo, canh website), máy ở văn phòng không cần đường hầm nào.

Máy ở nhà dễ hỏng việc ở hai chỗ: mất điện hoặc ai đó tắt máy thì workflow theo lịch lặng lẽ bỏ lượt, và không ai sao lưu volume dữ liệu ra chỗ khác. Mất volume là mất cả khóa giải mã credential.

Giấy phép n8n cho tự host làm gì?

Bản tự host dùng Sustainable Use License, loại fair-code: xem được mã nguồn, dùng miễn phí, có giới hạn thương mại. Câu chính trong giấy phép: bạn chỉ được dùng hoặc sửa phần mềm cho mục đích kinh doanh nội bộ của mình, hoặc cho việc phi thương mại, cá nhân.

Trang License FAQ của n8n, mục What you can do under the community license: dùng cho doanh nghiệp, dựng automation cho khách trên instance của bạn nếu khách không tạo hay sửa được

Theo trang hỏi đáp giấy phép của n8n (đọc ngày 23/10/2026):

Được làm

Không được làm

Dùng n8n chạy việc của công ty bạn

Host n8n như một dịch vụ cho khách tự dựng workflow

Dựng workflow cho khách trên instance của bạn, khách không tạo, không sửa được

Cho người dùng bên ngoài tự cấu hình workflow qua giao diện riêng, API, MCP hay AI agent

Thu tiền dựng, cài đặt, bảo trì workflow, tiền đào tạo, tư vấn

Fork mã n8n làm sản phẩm automation riêng

Dùng n8n chạy ngầm trong sản phẩm của bạn

Bỏ thương hiệu n8n rồi bán lại (white-label)

Trang hỏi đáp cũng nói rõ giấy phép này chỉ áp dụng cho bản tự host; n8n Cloud có điều khoản riêng. Các tính năng đòi license key (SSO, Git, nhiều môi trường) cần gói Business hoặc Enterprise, kể cả khi bạn tự host.

Lỗi mình gặp khi đo n8n trên VPS nhỏ

Kernel ghi thông báo này khi n8n bị giết vì hết RAM (máy 1GB, workflow 200.000 dòng):

text
Memory cgroup out of memory: Killed process 11414 (n8n) total-vm:12472076kB, anon-rss:579652kB, file-rss:77440kB, shmem-rss:0kB, UID:1000 pgtables:13836kB oom_score_adj:0

Script gọi webhook của mình (Python) chỉ nhận được hai thông báo lỗi dưới đây, không có chữ nào nhắc tới RAM. Thấy chúng trên VPS nhỏ thì xem dmesg trước khi nghi mạng:

text
Remote end closed connection without response
[Errno 104] Connection reset by peer

Khi thử xem n8n có tự chạy lại không, mình dùng docker kill trước và cả hai lần (có và không có dòng restart) container đều nằm Exited (137). Docker coi docker kill là dừng bằng tay nên bỏ qua restart policy; phải giết tiến trình từ host bằng kill -9 mới giống OOM killer. Bạn tự thử trên máy mình thì nhớ chỗ này, kẻo kết luận nhầm.

Chạy riêng container n8nio/n8n như lệnh ở trên, log khởi động có cảnh báo:

text
N8N_RUNNERS_MODE -> Internal task runner mode is deprecated and will be removed in a future version.

Bản 2.44.6 vẫn chạy node Code bình thường ở chế độ này. Muốn tránh việc phải sửa khi n8n bỏ hẳn chế độ nội bộ, dùng bộ cài một dòng hoặc file compose chính thức có container runners riêng.

Khi nào không nên tự host n8n?

  • Không ai trong nhóm biết SSH, Docker để xử lý khi n8n chết lúc 2 giờ sáng. Gói Starter đắt hơn VPS khoảng 500.000 đồng/tháng, đổi lại không phải trực máy.

  • Workflow chạy ít, dưới vài trăm lần một tháng, và bạn chỉ cần thử. Bản dùng thử của Cloud cho 1.000 executions.

  • Bạn định cho khách tự dựng workflow trên n8n của mình. Giấy phép miễn phí không cho phép, phải hỏi n8n về license thương mại.

Ngược lại, n8n Cloud không hợp khi workflow chạy theo lịch dày, cần chạy lâu hơn 5 phút mỗi lần ở gói Starter, hoặc dữ liệu khách hàng không được rời hạ tầng của bạn.

Câu hỏi thường gặp

n8n có miễn phí không?

Bản tự host miễn phí, không giới hạn workflow và số lần chạy, bạn chỉ trả tiền máy. n8n Cloud trả phí từ 24€/tháng, có bản dùng thử 1.000 executions.

Chọn n8n hosting nào rẻ nhất?

Rẻ nhất là máy bạn đã có sẵn và bật cả ngày, chỉ tốn tiền điện. Tiếp theo là VPS 1 vCPU, 2GB, khoảng 180.000 đến 240.000 đồng/tháng. n8n Cloud Starter khoảng 714.000 đồng/tháng nhưng không phải tự lo máy.

VPS 1GB RAM có chạy được n8n không?

Chạy được n8n đơn: lúc rảnh dùng khoảng 400MiB, chịu được 20 request cùng lúc ở 8,6 lần/giây. Nhưng một workflow xử lý 200.000 dòng làm n8n hết RAM và bị giết. Mình khuyên 2GB nếu không chắc lượng dữ liệu.

Chuyển từ n8n Cloud sang tự host được không?

Workflow chuyển được dưới dạng file JSON: tải từ editor rồi import vào bản tự host. Mình chưa thử chiều từ Cloud sang; giữa hai máy tự host thì credential import sang máy có khóa mã hóa khác sẽ không giải mã được, nên tính sẵn việc nhập lại credential. Cách chuyển cả dữ liệu giữa hai máy tự host có trong bài tự host n8n bằng Docker.

Tự host n8n có cần Postgres không?

Không bắt buộc. SQLite mặc định đủ cho một người hoặc nhóm nhỏ; sau cả đợt đo ở trên, file SQLite chỉ 60MB. Postgres đáng dùng khi có nhiều request cùng lúc hoặc muốn chạy queue mode (chia việc cho nhiều worker).

Dùng n8n làm workflow cho khách rồi thu tiền có vi phạm giấy phép không?

Không, nếu workflow chạy trên instance của bạn và khách không tự tạo, tự sửa được. Thu tiền dựng, cài đặt, bảo trì và đào tạo đều nằm trong danh sách được phép của n8n.

Đọc tiếp

Muốn có n8n chạy trên máy chủ của bạn mà không tự lo cấu hình RAM, dòng restart, sao lưu và cảnh báo khi workflow chết, AIDev nhận cài n8n tự host và bàn giao toàn quyền; máy chủ và dữ liệu vẫn là của bạn.

Đo ngày 23/10/2026 trên máy AIDev Cloud CPU Starter (Xeon E5-2680 v4, 8 vCPU, 16GB RAM, Ubuntu 24.04.4): n8n 2.44.6, get-n8n.sh v1.4.0, Docker 29.6.1, Docker Compose 5.3.0. Giá n8n Cloud và tỷ giá Vietcombank lấy cùng ngày.

Chuyên mục

AI Automation

Tham vấn chuyên môn

Nguyễn Việt Chung

Nhà sáng lập AIDev và VietPlatform · Thạc sĩ AI MSE

  • Tốt nghiệp thủ khoa xuất sắc Thạc sĩ AI MSE.
  • Đồng sáng lập, CTO E-University, SVOnline: số hóa 10+ đại học, 40.000+ sinh viên.
  • Xây hệ thống AI cho doanh nghiệp tại VietPlatform.
Biên soạn: AIDev Team · Rà soát · Quy trình biên tập