[n8n] Tìm hiểu về n8n

Tác giả: 30/05/2025

n8n là một nền tảng tự động hóa quy trình làm việc mã nguồn mở, cho phép người dùng kết nối các ứng dụng và dịch vụ khác nhau để tạo ra các luồng công việc tự động. Được phát triển bởi Jan Oberhauser, n8n cung cấp giao diện trực quan dạng node-based, giúp người dùng dễ dàng tạo ra các quy trình phức tạp mà không cần kiến thức lập trình sâu.

Đặc điểm nổi bật của n8n

Giao diện trực quan: n8n sử dụng giao diện kéo thả với các node đại diện cho các hành động hoặc dịch vụ khác nhau. Người dùng có thể kết nối các node này để tạo thành luồng công việc hoàn chỉnh.

Mã nguồn mở: Khác với nhiều công cụ tự động hóa khác như Zapier hay Microsoft Power Automate, n8n hoàn toàn miễn phí và mã nguồn mở, cho phép người dùng tự triển khai và tùy chỉnh theo nhu cầu.

Hỗ trợ đa dạng tích hợp: n8n hỗ trợ hơn 400 ứng dụng và dịch vụ phổ biến như Google Sheets, Slack, GitHub, Notion, Airtable, và nhiều API khác.

Khả năng mở rộng: Người dùng có thể tạo các node tùy chỉnh hoặc sử dụng JavaScript để xử lý dữ liệu phức tạp trong các workflow.

Bảo mật dữ liệu: Vì có thể tự triển khai, n8n đảm bảo dữ liệu của bạn được lưu trữ và xử lý trong môi trường do bạn kiểm soát.

Ứng dụng thực tế của n8n

n8n có thể được sử dụng trong nhiều tình huống khác nhau, từ cá nhân đến doanh nghiệp:

  • Tự động hóa marketing: Đồng bộ lead từ form website vào CRM, gửi email welcome tự động, cập nhật danh sách email marketing
  • Quản lý dữ liệu: Sao lưu dữ liệu giữa các hệ thống, đồng bộ thông tin khách hàng, tạo báo cáo tự động
  • Tích hợp hệ thống: Kết nối các ứng dụng không có sẵn tích hợp với nhau
  • Giám sát và cảnh báo: Theo dõi website, server, hoặc các metrics quan trọng và gửi thông báo khi có sự cố
  • Xử lý nội dung: Tự động đăng bài lên social media, backup ảnh từ Instagram, tạo nội dung từ RSS feeds

Cài đặt n8n

Yêu cầu hệ thống

Trước khi cài đặt n8n, hệ thống của bạn cần đáp ứng các yêu cầu sau:

  • Máy chủ ảo (VPS) , nếu bạn chưa có VPS, hãy đăng ký tại đây.
  • Node.js phiên bản 18.10 trở lên
  • npm hoặc yarn package manager
  • Ít nhất 2GB RAM (khuyến nghị 4GB cho production)

Phương pháp 1: Cài đặt qua npm (Khuyến nghị cho người mới)

Đây là cách đơn giản nhất để bắt đầu với n8n:

# Cài đặt n8n globally
npm install n8n -g

# Chạy n8n
n8n start

Sau khi chạy lệnh, n8n sẽ khởi động và có thể truy cập qua địa chỉ http://localhost:5678 trên trình duyệt.

Phương pháp 2: Sử dụng Docker

Docker là lựa chọn tốt cho việc triển khai production hoặc khi muốn cách ly môi trường:

# Chạy n8n với Docker
docker run -it --rm \
  --name n8n \
  -p 5678:5678 \
  -v ~/.n8n:/home/node/.n8n \
  n8nio/n8n

# Hoặc sử dụng Docker Compose
version: '3.8'
services:
  n8n:
    image: n8nio/n8n
    ports:
      - "5678:5678"
    environment:
      - N8N_BASIC_AUTH_ACTIVE=true
      - N8N_BASIC_AUTH_USER=admin
      - N8N_BASIC_AUTH_PASSWORD=password
    volumes:
      - ~/.n8n:/home/node/.n8n

Phương pháp 3: Cài đặt từ source code

Phù hợp cho developers muốn tùy chỉnh hoặc đóng góp vào dự án:

# Clone repository
git clone https://github.com/n8n-io/n8n.git
cd n8n

# Cài đặt dependencies
npm install

# Build project
npm run build

# Chạy n8n
npm run start

Cài đặt trên các hệ điều hành khác nhau

Windows:

  • Cài đặt Node.js từ trang chủ nodejs.org
  • Mở Command Prompt hoặc PowerShell với quyền Administrator
  • Chạy lệnh npm install n8n -g

macOS:

  • Cài đặt Node.js qua Homebrew: brew install node
  • Chạy lệnh npm install n8n -g

Linux (Ubuntu/Debian):

# Cập nhật package list
sudo apt update

# Cài đặt Node.js
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs

# Cài đặt n8n
sudo npm install n8n -g

Thiết lập cơ bản n8n

Lần đầu khởi động

Khi truy cập n8n lần đầu qua http://localhost:5678, bạn sẽ được yêu cầu tạo tài khoản quản trị:

  1. Tạo tài khoản chủ sở hữu: Nhập email, họ tên và mật khẩu cho tài khoản admin đầu tiên
  2. Cấu hình cơ bản: Chọn mục đích sử dụng (cá nhân, công ty, hoặc học tập)
  3. Survey ngắn: n8n có thể yêu cầu một số thông tin để cải thiện trải nghiệm

Giao diện chính của n8n

Canvas chính: Đây là nơi bạn tạo và chỉnh sửa các workflow. Bạn có thể kéo thả các node từ panel bên trái vào canvas.

Panel Nodes: Bên trái chứa danh sách các node có sẵn, được phân loại theo chức năng như Trigger, Regular, Transform Data, v.v.

Panel Node Settings: Khi click vào một node, panel bên phải sẽ hiển thị các cài đặt và tùy chọn của node đó.

Toolbar: Phía trên chứa các công cụ như Save, Execute, Settings, và các tùy chọn view.

Tạo workflow đầu tiên

Để làm quen với n8n, chúng ta sẽ tạo một workflow đơn giản:

Bước 1: Thêm Trigger Node

  • Click vào nút “+” trên canvas
  • Chọn “On app event” → “Webhook”
  • Cấu hình webhook với HTTP Method là GET

Bước 2: Thêm Function Node

  • Kéo Function node từ panel bên trái
  • Kết nối với Webhook node
  • Thêm code JavaScript đơn giản để xử lý dữ liệu

Bước 3: Thêm Output Node

  • Thêm HTTP Request node hoặc email node
  • Cấu hình để gửi kết quả đến đích mong muốn

Bước 4: Test và Save

  • Click “Execute Workflow” để test
  • Save workflow với tên mô tả

Cấu hình bảo mật cơ bản

 

Basic Authentication:

export N8N_BASIC_AUTH_ACTIVE=true
export N8N_BASIC_AUTH_USER=your_username
export N8N_BASIC_AUTH_PASSWORD=your_password

HTTPS Configuration:

export N8N_PROTOCOL=https
export N8N_SSL_KEY=/path/to/your/ssl/key
export N8N_SSL_CERT=/path/to/your/ssl/cert

Database Configuration:
Mặc định n8n sử dụng SQLite, nhưng bạn có thể cấu hình PostgreSQL hoặc MongoDB:

export DB_TYPE=postgresdb
export DB_POSTGRESDB_HOST=localhost
export DB_POSTGRESDB_PORT=5432
export DB_POSTGRESDB_DATABASE=n8n
export DB_POSTGRESDB_USER=n8n_user
export DB_POSTGRESDB_PASSWORD=n8n_password

Biến môi trường quan trọng

n8n sử dụng nhiều biến môi trường để cấu hình:

  • N8N_HOST: Địa chỉ host (mặc định: localhost)
  • N8N_PORT: Port để chạy (mặc định: 5678)
  • N8N_PROTOCOL: http hoặc https
  • WEBHOOK_URL: URL cơ sở cho webhooks
  • N8N_USER_FOLDER: Thư mục lưu dữ liệu người dùng
  • N8N_LOG_LEVEL: Mức độ log (error, warn, info, debug)

Quản lý Credentials

n8n cho phép lưu trữ thông tin xác thực một cách an toàn:

  1. Tạo Credential mới: Vào Settings → Credentials → Create New
  2. Chọn loại dịch vụ: Chọn từ danh sách các dịch vụ có sẵn
  3. Nhập thông tin: API keys, OAuth tokens, username/password
  4. Test kết nối: Đảm bảo thông tin chính xác
  5. Sử dụng trong workflow: Chọn credential đã tạo khi cấu hình nodes

Backup và Restore

Backup workflows:

# Export tất cả workflows
n8n export:workflow --all --output=./backup/

# Export specific workflow
n8n export:workflow --id=1 --output=./backup/

Restore workflows:

# Import workflows
n8n import:workflow --input=./backup/workflow.json

Backup credentials (cần cẩn thận với bảo mật):

n8n export:credentials --all --output=./backup/ --decrypted

Monitoring và Logging

Cấu hình logging:

export N8N_LOG_LEVEL=info
export N8N_LOG_OUTPUT=console,file
export N8N_LOG_FILE_LOCATION=./logs/

Health check endpoint:
n8n cung cấp endpoint /healthz để kiểm tra trạng thái hệ thống, hữu ích cho monitoring tools.

Performance Tuning

Tăng memory limit:

export NODE_OPTIONS="--max-old-space-size=4096"

Cấu hình queue mode cho high-volume workflows:

export EXECUTIONS_MODE=queue
export QUEUE_BULL_REDIS_HOST=localhost
export QUEUE_BULL_REDIS_PORT=6379

Kết luận

n8n là một công cụ mạnh mẽ và linh hoạt cho việc tự động hóa quy trình làm việc. Với việc mã nguồn mở và khả năng tự triển khai, n8n mang lại sự kiểm soát hoàn toàn về dữ liệu và quy trình của bạn. Từ các workflow đơn giản đến các hệ thống tích hợp phức tạp, n8n có thể đáp ứng nhu cầu của cả cá nhân và doanh nghiệp.

Việc bắt đầu với n8n khá đơn giản nhờ giao diện trực quan và tài liệu hướng dẫn phong phú. Khi đã nắm vững các khái niệm cơ bản, bạn có thể khám phá các tính năng nâng cao như custom nodes, complex data transformations, và enterprise-level deployments.

Hãy bắt đầu với một workflow đơn giản và dần dần khám phá sức mạnh của n8n trong việc tự động hóa và tối ưu hóa quy trình làm việc của bạn.

Bài viết tham khảo :