EQVPS

Tự host n8n trên một VPS với Docker

15 thg 6, 2026 · 4 phút đọc · EQVPS Team

n8n là loại công cụ bạn bắt đầu dùng nhẹ nhàng rồi lặng lẽ định tuyến một nửa các hoạt động của mình qua. Ở điểm đó "nó chạy trên một ghế cloud của ai đó, đo theo lần thực thi, với các API key của tôi sống trên máy chủ của họ" bắt đầu cảm giác kém tuyệt. Tự host sửa cả ba — chi phí cố định, không trần thực thi, và các khóa của bạn ở lại trên một cỗ máy bạn sở hữu. Với Docker nó là một việc mười lăm phút.

Nó thực sự cần bao nhiêu máy chủ

Các con số trung thực trước, để bạn không mua thừa hay thiếu:

n8n không đói CPU lúc nghỉ; nó tăng vọt trong các lần chạy. Một cỗ máy 2 lõi ổn cho hầu hết các thiết lập. (Nhiều hơn về khớp thông số với khối lượng công việc trong hướng dẫn chọn kích cỡ.)

Thiết lập Docker

Trên một cỗ máy Ubuntu/Debian mới, cài Docker:

curl -fsSL https://get.docker.com | sudo sh

Tạo một thư mục và một docker-compose.yml — n8n với một volume bền bỉ và Postgres:

services:
  n8n:
    image: docker.n8n.io/n8nio/n8n
    restart: always
    ports:
      - "127.0.0.1:5678:5678"
    environment:
      - N8N_HOST=n8n.yourdomain.com
      - N8N_PROTOCOL=https
      - WEBHOOK_URL=https://n8n.yourdomain.com/
      - DB_TYPE=postgresdb
      - DB_POSTGRESDB_HOST=db
      - DB_POSTGRESDB_PASSWORD=change-me
    volumes:
      - ./n8n-data:/home/node/.n8n
    depends_on: [db]
  db:
    image: postgres:16
    restart: always
    environment:
      - POSTGRES_PASSWORD=change-me
      - POSTGRES_DB=n8n
    volumes:
      - ./db-data:/var/lib/postgresql/data
sudo docker compose up -d

Hai điều đáng chỉ ra: các volume (n8n-data, db-data) là cái giữ các workflow của bạn sống qua các lần khởi động lại và nâng cấp — đừng bỏ qua chúng. Và n8n gắn vào 127.0.0.1, không phải 0.0.0.0 — nó không phơi ra internet trực tiếp. Đó là có chủ đích; bước tiếp theo xử lý truy cập một cách an toàn.

Truy cập: HTTPS hoặc một tunnel

Khóa nó lại và giữ nó lên

n8n giữ các API key và thông tin đăng nhập của bạn, nên cỗ máy phải chặt: làm danh sách kiểm tra bảo mật (các khóa SSH, tường lửa, không đăng nhập mật khẩu) trước khi bạn đặt thông tin đăng nhập thật vào. restart: always trong tập tin compose đã nghĩa là Docker đưa n8n trở lại sau một lần sập hoặc khởi động lại — đó là thời gian hoạt động của bạn được xử lý.

Nó có đáng không?

Trung thực với bản thân về khối lượng. Nếu bạn chạy các tự động hóa liên tục, tự host thắng về chi phí (cố định so với theo-lần-thực-thi) và loại bỏ mọi giới hạn workflow/lần chạy. Nếu bạn kích hoạt vài luồng một tháng, một ghế được host ít phiền hơn. Nhưng lập luận kiểm soát đứng vững bất kể: các workflow của bạn, dữ liệu của bạn, các khóa của bạn — trên máy chủ của bạn, không thuê. Cho hầu hết những người trở nên nghiêm túc về n8n, đó là yếu tố quyết định.

Một cỗ máy 2 GB, một tập tin compose, một tên miền (hoặc một tunnel), và bạn đang chạy trung tâm tự động hóa của riêng mình — thanh toán được bằng crypto không KYC, hoạt động trong vài phút.


Thiết lập sẵn: xem VPS cho n8n — gói khuyến nghị và một triển khai crypto một phút.

FAQ

n8n tự host cần bao nhiêu RAM?

Khoảng 2 GB là điểm ngọt thoải mái cho n8n cộng cơ sở dữ liệu Postgres của nó và các workflow bình thường. Nó chạy trong 1 GB nếu các workflow nhẹ, nhưng bạn sẽ cảm nhận nó trong các lần chạy lớn hơn. Thực thi song song nặng hoặc payload lớn — lên 4 GB.

Tôi có cần Docker để tự host n8n không?

Nó là cách dễ nhất với khoảng cách lớn — một tập tin compose cho bạn n8n, một cơ sở dữ liệu và lưu trữ bền bỉ, và nâng cấp là một lệnh pull. Bạn có thể cài qua npm thay vào đó, nhưng Docker tiết kiệm cho bạn các nhức đầu phụ thuộc và nâng cấp.

Tự host n8n có rẻ hơn n8n cloud không?

Nếu bạn chạy một dòng tự động hóa đều đặn, có — một VPS hàng tháng cố định đánh bại giá theo-lần-thực-thi, và không có trần workflow hay thực thi. Cho một nhúm lần chạy một tháng, một ghế được host có thể đơn giản hơn. Lý do khác người ta tự host là kiểm soát: dữ liệu và API key của bạn không bao giờ rời máy chủ của bạn.

Tôi có cần một tên miền cho n8n không?

Cho các node dựa trên OAuth (Google, v.v.) và HTTPS sạch, có — trỏ một tên miền tới máy chủ và đặt n8n sau một reverse proxy với một chứng chỉ. Cho dùng thuần nội bộ bạn có thể tới nó qua một SSH tunnel mà không cần tên miền.

n8n có thể chạy trên một VPS NAT hay tôi cần một IP riêng?

Dùng nội bộ/SSH-tunnel hoạt động trên một cỗ máy NAT. Nếu bạn muốn một URL công khai với tên miền và HTTPS của riêng bạn (cần cho một số callback OAuth và webhook), một gói IP riêng là lựa chọn sạch hơn vì bạn kiểm soát mọi cổng.

← Quay lại blogXem gói & giá →

Bình luận

Chưa có bình luận nào. Hãy là người đầu tiên.

Để lại bình luận

Bình luận được kiểm duyệt trước khi hiển thị.