0

Hướng dẫn cài đặt n8n từ A đến Z: Chi tiết và chuẩn xác

Share

Trả lời nhanh: Cài đặt là quá trình thiết lập và cấu hình hệ thống phần mềm, ở đây n8n là một nền tảng tự động hóa mã nguồn mở trên máy chủ (VPS) hoặc thiết bị cá nhân để quản lý các workflow. Việc cài đặt n8n đúng cách giúp doanh nghiệp kết nối hơn 250+ ứng dụng, giảm thiểu đến 80% tác vụ lặp lại thủ công và luôn sẵn sàng trải nghiệm các tính năng mới nhất.

Tóm tắt (Key takeaways)

  • n8n là gì: Là công cụ tự động hóa mã nguồn mở, cho phép tạo các luồng công việc (workflow) bằng cách kéo thả.
  • Lợi ích: Tiết kiệm thời gian, dễ dàng tích hợp qua API và có khả năng tùy biến cao với chi phí tự lưu trữ (self-host) thấp.
  • Quy trình: Các bước cài đặt n8n yêu cầu hệ thống VPS, nền tảng Docker, cơ sở dữ liệu PostgreSQL và cấu hình Nginx để vận hành an toàn.

Tổng quan giao diện quản lý workflow của n8n

Giới thiệu

Trong thời đại số, tự động hóa và tích hợp API đã trở thành chìa khóa để doanh nghiệp tối ưu hóa quy trình làm việc. n8n là một trong những công cụ tự động hóa tiên tiến giúp bạn kết nối và điều phối các ứng dụng, dịch vụ một cách dễ dàng và linh hoạt. Bài viết dưới đây sẽ giải thích chi tiết n8n là gìn8n automation mang lại lợi ích gì cho doanh nghiệp.

n8n Là Gì?

n8n là một công cụ mã nguồn mở giúp xây dựng các workflow tự động hóa mà không cần viết quá nhiều mã code. Với giao diện trực quan và khả năng tích hợp mạnh mẽ, n8n cho phép người dùng:

  • Tích hợp API và dịch vụ: Kết nối với hàng trăm ứng dụng như Google Sheets, Slack, GitHub, v.v.
  • Xây dựng workflow trực quan: Tạo các chuỗi tác vụ tự động từ đơn giản đến phức tạp thông qua việc kéo thả các node.
  • Tùy biến và mở rộng: Vì là mã nguồn mở, n8n có thể được tùy biến theo nhu cầu cụ thể của từng doanh nghiệp.

Trang chủ của n8n là n8n.io. Và n8n có thể seflhost nên chi phí triển khai thấp hơn rất nhiều so với các công cụ khác.

n8n Automation Là Gì?

n8n automation là quá trình sử dụng n8n để tự động hóa các quy trình làm việc, từ việc thu thập dữ liệu, xử lý thông tin đến giao tiếp với khách hàng. Để nắm rõ hơn kiến thức nền tảng, bạn có thể tham khảo AI Automation miễn phí: hướng dẫn chi tiết. Các lợi ích nổi bật của n8n automation bao gồm:

  • Tiết kiệm thời gian và chi phí: Tự động hóa các tác vụ lặp đi lặp lại, giảm thiểu sai sót và tăng hiệu suất làm việc.
  • Tích hợp linh hoạt: Kết nối nhiều dịch vụ và ứng dụng khác nhau, giúp đồng bộ hóa dữ liệu và quy trình kinh doanh.
  • Quản trị dễ dàng: Giao diện trực quan giúp theo dõi và quản lý các workflow một cách hiệu quả, đồng thời dễ dàng cập nhật khi có thay đổi.
  • Tùy biến theo nhu cầu: Với tính năng mã nguồn mở, doanh nghiệp có thể tùy chỉnh n8n để đáp ứng các yêu cầu đặc thù.

Cấu hình hệ thống tự động hóa n8n trên VPS

Ứng Dụng Thực Tiễn Của n8n Automation

n8n automation được áp dụng trong nhiều lĩnh vực như:

  • Marketing Automation: Tự động gửi email, đăng bài trên mạng xã hội, và theo dõi hiệu quả chiến dịch.
  • Hỗ trợ khách hàng: Tích hợp với chatbot để cải thiện quy trình trả lời và xử lý yêu cầu của khách hàng.
  • Tích hợp hệ thống nội bộ: Đồng bộ hóa dữ liệu giữa các hệ thống quản trị, CRM và ERP.

Lời Kết

Với khả năng kết nối linh hoạt và tính tùy biến cao, n8n và n8n automation mở ra cơ hội mới cho doanh nghiệp trong việc tối ưu hóa quy trình và giảm thiểu chi phí vận hành. Dù bạn là người mới làm quen hay là chuyên gia trong lĩnh vực tự động hóa, n8n là công cụ hữu ích giúp biến những ý tưởng sáng tạo thành hiện thực thông qua các workflow tự động.

Bảng Yêu Cầu Hệ Thống Cài Đặt n8n

Trước khi bắt đầu cài đặt, bạn nên chuẩn bị môi trường máy chủ (VPS) đáp ứng thông số cơ bản sau:

Thành phần Yêu cầu tối thiểu Khuyến nghị
Hệ điều hành Ubuntu 20.04 Ubuntu 22.04 LTS
RAM 1 GB 2 GB trở lên
Lưu trữ 10 GB SSD 20 GB SSD

Hướng dẫn cài đặt n8n

Mình có nhờ anh Việt bên 123host làm hướng dẫn cài đặt từ A->Z n8n trên VPS. Bạn có thể đọc tại đây nhé.

Bên cạnh đó, để tối ưu hệ thống cho quy mô lớn, bạn cũng có thể tham khảo Hướng dẫn cài n8n VPS mượt nhất để chạy nhiều Workflow.

Sau khi đã hoàn tất việc mua VPS và trỏ domain về IP VPS, chúng ta đã có thể tiến hành cài đặt N8N và sử dụng N8N trên VPS.

Cài đặt n8n gồm những bước nào?

Quá trình triển khai n8n trên hệ điều hành Ubuntu được thực hiện chuẩn xác thông qua 4 bước cấu hình theo chuẩn DevOps:

  1. Bước 1: Cài đặt môi trường Docker.
  2. Bước 2: Cài đặt và cấu hình cơ sở dữ liệu PostgreSQL.
  3. Bước 3: Tạo thư mục lưu trữ và file cấu hình (docker-compose) cho n8n.
  4. Bước 4: Cài đặt Nginx làm Reverse Proxy và cấu hình chứng chỉ bảo mật SSL.

Cài đặt docker

Chúng ta thực thi các lệnh sau để cài đặt docker trên VPS Ubuntu 22.04.

Đầu tiên chúng ta sẽ tiến hành update hệ thống.

apt-get update -y Thêm các GPG key để có thể cài đặt Docker:

apt-get install ca-certificates curl install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc chmod a+r /etc/apt/keyrings/docker.asc Tiến hành thêm repository của docker:

echo \ “deb [arch=$(dpkg –print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo “$VERSION_CODENAME”) stable” | \ tee /etc/apt/sources.list.d/docker.list > /dev/nul Sau khi thêm repository chúng ta sẽ tiến hành update hệ thống.

apt-get update -y Sau khi thêm repository chúng ta sẽ tiến hành update hệ thống.

apt-get update -y Cài đặt docker. Chi tiết về các phiên bản docker bạn có thể xem tại Tài liệu Docker.

apt-get -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin Sau khi đã cài đặt thành công docker chúng ta có thể kiểm tra bằng lệnh sau:

docker -v

Cài đặt PostgreSQL

Tiếp theo chúng ta sẽ tiến hành cài đặt PostgreSQL bằng cách thực thi lệnh sau:

apt install -y postgresql postgresql-contrib

Để PostgreSQL để listen port cả trên local và IPv4 public chúng ta thực thi lệnh sau:

sed -i “s/#listen_addresses = ‘localhost’/listen_addresses = ‘‘/g” /etc/postgresql//main/postgresql.conf

Tiến hành kiểm tra IP của docker, để chúng ta có thể cấu hình cho phép dãy địa chỉ IP của docker kết nối đến database

ip add | grep docker

Sau khi có IP của docker chúng ta sẽ thực hiện cấu hình cho phép dãy địa chỉ IP của docker kết nối đến database PostgreSQL.

echo “host all all 172.18.0.0/16 md5” | tee -a /etc/postgresql/*/main/pg_hba.conf Sau khi đã thực hiện các bước cấu hình trên tiến hành khởi động lại PostgreSQL để áp dụng cấu hình mới. Và cấu hình cho PostgreSQL chạy cùng hệ thống khi khởi động lại VPS.

systemctl restart postgresql systemctl enable postgresql Tiến hành kiểm tra lại trạng thái PostgreSQL:

systemctl status postgresql Tiến hành tạo User and Database để cấu hình kết nối cho N8N bằng cách thực thi lệnh sau:

sudo -i -u postgres Truy cập vào psql bằng lệnh sau:

psql Sau khi kết nối postgres chúng ta sẽ thực hiện tạo User and Database

CREATE DATABASE [database_name]; CREATE USER [user_name] WITH PASSWORD ‘password’; GRANT ALL PRIVILEGES ON DATABASE [database_name] TO [user_name]; \q Bạn vui lòng đổi sang thông tin User and Database phù hợp.

Sau khi tạo hoàn tất chúng ta có thể kiểm tra lại thông tin đã đúng chưa bằng cách thực thi lệnh sau:

psql -h localhost -U[user_name] -d[database_name]

Tạo thư mục docker n8n

Tiến hành tạo thư mục n8n để chứa file docker-compose.yml.

mkdir n8n Di chuyển vào thư mục n8n.

cd n8n Tiến hành tạo file docker-compose.yml với nội dung như sau:

version: ‘3.8’ services: n8n: image:docker.n8n.io/n8nio/n8n restart:always environment: -DB_TYPE=postgresdb -DB_POSTGRESDB_HOST=IP_VPS -DB_POSTGRESDB_PORT=5432 -DB_POSTGRESDB_DATABASE=${POSTGRES_DB} -DB_POSTGRESDB_USER=${POSTGRES_USER} -DB_POSTGRESDB_PASSWORD=${POSTGRES_PASSWORD} -N8N_BASIC_AUTH_ACTIVE=true -N8N_BASIC_AUTH_USER -N8N_BASIC_AUTH_PASSWORD -N8N_HOST=${DOMAIN_NAME} -N8N_PORT=5678 -N8N_PROTOCOL=https -NODE_ENV=production -WEBHOOK_URL=https://${DOMAIN_NAME}/ -GENERIC_TIMEZONE=${GENERIC_TIMEZONE} -N8N_ENCRYPTION_KEY=${N8N_ENCRYPTION_KEY} -N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true -EXECUTIONS_DATA_SAVE_ON_ERROR=all -EXECUTIONS_DATA_SAVE_ON_SUCCESS=all -EXECUTIONS_DATA_SAVE_ON_PROGRESS=true -EXECUTIONS_DATA_SAVE_MANUAL_EXECUTIONS=true -EXECUTIONS_DATA_PRUNE=true -EXECUTIONS_DATA_MAX_AGE=168 -EXECUTIONS_DATA_PRUNE_MAX_COUNT=30000 ports: -5678:5678 volumes: -./.n8n_storage:/home/node/.n8n Bạn cần thay IP VPS của bạn vào mục DB_POSTGRESDB_HOST.

Sau đó chúng ta sẽ tạo file .env để khai báo các biến cho file docker-compose.yml với nội dung sau:

POSTGRES_USER=[user_name] POSTGRES_PASSWORD=[password] POSTGRES_DB=[database_name]

The top level domain to serve from

DOMAIN_NAME=[domain_n8n]

The user name to use for authentication – IMPORTANT ALWAYS CHANGE!

N8N_BASIC_AUTH_USER=n8n_user

The password to use for authentication – IMPORTANT ALWAYS CHANGE!

N8N_BASIC_AUTH_PASSWORD=[password]

Optional timezone to set which gets used by Cron-Node by default

If not set New York time will be used

GENERIC_TIMEZONE=Asia/Ho_Chi_Minh N8N_ENCRYPTION_KEY=[random] Bạn cần thay đổi các giá trị trong [] cho phù hợp với khai báo của bạn.

Sau đó tiến hành run docker-compose để N8N có thể hoạt động.

docker compose up -d Để kiểm tra container có run thành công không chúng ta thực thi lệnh sau:

docker ps Lưu ý: Nếu trong quá trình start container bị lỗi thì lỗi liên quan đến quyền của thư mục .n8n_storage, chúng ta sẽ tiến hành phân quyền lại thư mục này bằng thực thi lệnh sau:

chmod -R 755 ./.n8n_storage Sau đó tiến hành tắt container n8n bị lỗi trong quá trình build:

docker compose down Rồi tiến hành start lại container:

docker compose up -d

Cài đặt nginx

Để cấu hình proxy pass cho domain n8n dùng để truy cập N8N chúng ta cần cài đặt nginx.

apt -y install nginx Tiến hành khởi động nginx và cấu hình nginx khởi động cùng hệ thống.

systemctl start nginx systemctl enable nginx Sau khi đã cài đặt nginx chúng ta tiến hành tạo file cấu hình nginx /etc/nginx/conf.d/[n8n_domain].conf cụ thể như sau:

server { listen80; server_name [n8n_domain];

Proxy settings

location/{ proxy_passhttp://127.0.0.1:5678; proxy_http_version1.1; proxy_set_headerUpgrade$http_upgrade; proxy_set_headerConnection”upgrade”; proxy_set_headerHost$host; proxy_set_headerX-Real-IP$remote_addr; proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for; proxy_set_headerX-Forwarded-Proto$scheme; proxy_set_headerX-Frame-OptionsSAMEORIGIN; proxy_buffers1664k; proxy_buffer_size128k; client_max_body_size10M; } } Để cấp phát SSL cho domain chúng ta cần tiến hành cài đặt certbot

apt install certbot python3-certbot-nginx -y Thực hiện cấp phát SSL cho domain bằng cách thực thi lệnh sau:

certbot –nginx -d [n8n_domain] Sau khi đã cấp phát SSL chúng ta đã có thể truy cập domain và sử dụng n8n.

Qua hướng dẫn này chúng ta đã tìm hiểu về cách cài đặt N8N trên Ubuntu, chúc các bạn thao tác thành công.

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

Tôi có thể cài đặt n8n trên VPS cấu hình thấp không? Bạn hoàn toàn có thể chạy với VPS tối thiểu 1GB RAM. Tuy nhiên, nếu workflow có khối lượng lớn, VPS với RAM 2GB trở lên và ổ cứng từ 10GB SSD sẽ hoạt động ổn định và tránh nghẽn luồng xử lý.

Tôi có tốn phí mua bản quyền khi cài đặt n8n tự lưu trữ (self-host)? Không, n8n là công cụ mã nguồn mở. Bạn chỉ cần trả chi phí máy chủ (VPS) cho nhà cung cấp, mà không cần mua license định kỳ như các nền tảng SaaS.

Việc nâng cấp n8n có làm mất cấu hình đã cài đặt không? Không mất cấu hình nếu bạn lưu dữ liệu đúng cách qua volumes trong Docker (ví dụ: mục .n8n_storage trong file docker-compose.yml).

Nguồn tham khảo

Bài viết liên quan