Hướng dẫn cài đặt n8n trên VPS Ubuntu 24.04 – Tự động hóa workflow dễ dàng

Hướng dẫn cài đặt n8n trên VPS Ubuntu 24.04 – Tự động hóa workflow dễ dàng

Trong thời đại số hóa hiện tại, việc tự động hóa các quy trình làm việc đã trở thành yếu tố quan trọng giúp tối ưu hóa hiệu suất và tiết kiệm thời gian. n8n là một công cụ tự động hóa workflow mạnh mẽ, mã nguồn mở, cho phép bạn kết nối các ứng dụng và dịch vụ khác nhau mà không cần kiến thức lập trình sâu. Bài viết này sẽ hướng dẫn chi tiết cách cài đặt n8n trên VPS Ubuntu 24.04, giúp bạn có toàn quyền kiểm soát dữ liệu và quy trình tự động hóa của mình.

Tổng quan về n8n và lợi ích của việc tự hosting

n8n workflow automation interface ubuntu server

n8n (phát âm “n-eight-n”) là một công cụ tự động hóa workflow dựa trên node, cho phép người dùng tạo ra các quy trình tự động phức tạp thông qua giao diện kéo-thả trực quan. Khác với nhiều giải pháp thương mại khác, n8n cung cấp khả năng tự hosting, mang lại những lợi ích vượt trội:

Đầu tiên, việc tự hosting n8n đảm bảo quyền riêng tư và bảo mật dữ liệu tuyệt đối. Tất cả thông tin và quy trình của bạn được lưu trữ trên server riêng, không phải chia sẻ với bên thứ ba. Điều này đặc biệt quan trọng đối với các doanh nghiệp xử lý dữ liệu nhạy cảm.

Thứ hai, n8n tự hosting không có giới hạn về số lượng workflow, executions hay người dùng. Bạn chỉ cần trả phí cho VPS hosting mà không bị ràng buộc bởi các gói dịch vụ có giới hạn. Điều này giúp tiết kiệm chi phí đáng kể khi quy mô sử dụng mở rộng.

Thứ ba, bạn có thể tùy chỉnh hoàn toàn môi trường n8n theo nhu cầu cụ thể, từ cấu hình cơ sở dữ liệu, thiết lập bảo mật cho đến việc tích hợp với các hệ thống nội bộ khác.

Yêu cầu hệ thống và chuẩn bị VPS

ubuntu 24.04 vps server requirements specifications

Trước khi bắt đầu cài đặt, bạn cần đảm bảo VPS Ubuntu 24.04 của mình đáp ứng các yêu cầu tối thiểu. n8n hoạt động tốt trên cấu hình khiêm tốn, nhưng việc có đủ tài nguyên sẽ đảm bảo hiệu suất ổn định:

Về cấu hình phần cứng, VPS cần tối thiểu 1GB RAM, 1 CPU core và 10GB dung lượng lưu trữ. Tuy nhiên, khuyến nghị sử dụng 2GB RAM trở lên để đảm bảo hiệu suất tốt khi xử lý nhiều workflow đồng thời. Đối với các doanh nghiệp có nhu cầu cao, cấu hình 4GB RAM và 2 CPU cores sẽ phù hợp hơn.

Về phần mềm, Ubuntu 24.04 LTS là lựa chọn lý tưởng vì tính ổn định và hỗ trợ dài hạn. n8n yêu cầu Node.js phiên bản từ 20.19 đến 24.x để hoạt động tối ưu. Bạn cũng cần quyền truy cập root hoặc sudo để thực hiện cài đặt.

Để chuẩn bị VPS, đầu tiên hãy cập nhật hệ thống và cài đặt các gói cần thiết:

sudo apt update && sudo apt upgrade -y
sudo apt install curl wget gnupg software-properties-common -y

Đảm bảo tường lửa được cấu hình đúng để cho phép truy cập cổng 5678 (cổng mặc định của n8n) và các cổng khác như 80, 443 nếu bạn định sử dụng reverse proxy.

Cài đặt Node.js và npm

nodejs npm installation ubuntu 24.04 terminal

n8n được phát triển bằng Node.js, do đó việc cài đặt Node.js và npm là bước quan trọng đầu tiên. Có nhiều cách để cài đặt Node.js trên Ubuntu 24.04, nhưng phương pháp sử dụng NodeSource repository được khuyến nghị vì cung cấp phiên bản mới nhất và ổn định.

Đầu tiên, thêm NodeSource repository vào hệ thống. Repository này cung cấp các phiên bản Node.js được cập nhật thường xuyên:

curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -

Lệnh này sẽ tải và chạy script cài đặt NodeSource repository cho Node.js phiên bản 20.x LTS. Sau khi repository được thêm thành công, tiến hành cài đặt Node.js:

sudo apt-get install -y nodejs

Quá trình cài đặt sẽ mất vài phút. Node.js và npm sẽ được cài đặt đồng thời. Để kiểm tra việc cài đặt thành công, chạy các lệnh sau:

node --version
npm --version

Bạn sẽ thấy phiên bản Node.js (khoảng v20.x.x) và npm được hiển thị. Nếu phiên bản npm không phải là mới nhất, bạn có thể cập nhật bằng lệnh:

sudo npm install -g npm@latest

Việc cài đặt Node.js qua NodeSource repository đảm bảo bạn có phiên bản tương thích với n8n và nhận được các bản cập nhật bảo mật quan trọng.

Cài đặt và cấu hình n8n

n8n installation configuration setup ubuntu

Sau khi Node.js và npm đã sẵn sàng, việc cài đặt n8n trở nên đơn giản. Tuy nhiên, để đảm bảo bảo mật và quản lý tốt hơn, nên tạo một user riêng cho n8n thay vì chạy dưới quyền root.

Đầu tiên, tạo user mới cho n8n:

sudo adduser n8nuser
sudo usermod -aG sudo n8nuser
su - n8nuser

Bây giờ, cài đặt n8n globally thông qua npm:

npm install n8n -g

Quá trình cài đặt có thể mất 5-10 phút tùy vào tốc độ internet. Sau khi hoàn tất, bạn có thể khởi chạy n8n lần đầu để kiểm tra:

n8n start

n8n sẽ chạy trên cổng 5678 mặc định. Mở trình duyệt và truy cập http://YOUR_SERVER_IP:5678 để xem giao diện n8n. Lần đầu truy cập, bạn sẽ được yêu cầu tạo tài khoản admin.

Để cấu hình n8n chạy ở chế độ production, tạo file môi trường .env trong thư mục home của n8nuser:

nano ~/.n8n/.env

Thêm các biến môi trường cơ bản:

N8N_HOST=0.0.0.0
N8N_PORT=5678
WEBHOOK_URL=http://your-domain.com
WEBHOOK_TUNNEL_URL=http://your-domain.com

Thay thế your-domain.com bằng domain hoặc IP của VPS. Những cấu hình này đảm bảo n8n có thể nhận webhook từ bên ngoài và hoạt động đúng cách.

Thiết lập cơ sở dữ liệu PostgreSQL

postgresql database setup n8n configuration

Mặc dù n8n sử dụng SQLite làm cơ sở dữ liệu mặc định, PostgreSQL được khuyến nghị cho môi trường production vì hiệu suất và khả năng mở rộng tốt hơn. Việc chuyển từ SQLite sang PostgreSQL sẽ mang lại lợi ích về tốc độ xử lý và độ tin cậy.

Cài đặt PostgreSQL trên Ubuntu 24.04:

sudo apt install postgresql postgresql-contrib -y
sudo systemctl start postgresql
sudo systemctl enable postgresql

Tạo cơ sở dữ liệu và user cho n8n:

sudo -u postgres psql

Trong PostgreSQL shell, chạy các lệnh sau:

CREATE DATABASE n8ndb;
CREATE USER n8nuser WITH SUPERUSER PASSWORD 'your_secure_password';
GRANT ALL PRIVILEGES ON DATABASE n8ndb TO n8nuser;
\q

Nhớ thay thế your_secure_password bằng mật khẩu mạnh. Sau đó, cập nhật file .env để sử dụng PostgreSQL:

DB_TYPE=postgresdb
DB_POSTGRESDB_HOST=localhost
DB_POSTGRESDB_PORT=5432
DB_POSTGRESDB_DATABASE=n8ndb
DB_POSTGRESDB_USER=n8nuser
DB_POSTGRESDB_PASSWORD=your_secure_password
DB_POSTGRESDB_SCHEMA=public

Khởi động lại n8n để áp dụng cấu hình mới. n8n sẽ tự động tạo các bảng cần thiết trong PostgreSQL database khi khởi động lần đầu với cấu hình mới.

Tự động hóa khởi động và bảo mật

n8n service systemd nginx ssl security

Để n8n hoạt động như một dịch vụ chuyên nghiệp, bạn cần thiết lập systemd service để tự động khởi động khi server reboot và cấu hình reverse proxy với SSL.

Tạo systemd service file cho n8n:

sudo nano /etc/systemd/system/n8n.service

Thêm nội dung sau:

<img src="https://www.extraspace.com/blog/wp-content/uploads/2025/01/Storage-Unit-Size-Comparison_RichContent-1.jpg" alt="Unit" />
Description=n8n workflow automation
After=network.target

<img src="https://cdn.prod.website-files.com/655041f226c56cfcfbc201b5/67cfea3d3602abad23288dd5_service-business-examples.jpg" alt="Service" />
Type=simple
User=n8nuser
ExecStart=/usr/bin/n8n start
WorkingDirectory=/home/n8nuser
Environment=NODE_ENV=production
Environment=N8N_CONFIG_FILES=/home/n8nuser/.n8n/.env
Restart=always
RestartSec=10

<img src="https://www.elegantthemes.com/blog/wp-content/uploads/2021/03/how-to-install-a-wordpress-plugins-ft-img-3-min.jpg" alt="Install" />
WantedBy=multi-user.target

Kích hoạt và khởi động service:

sudo systemctl daemon-reload
sudo systemctl enable n8n
sudo systemctl start n8n
sudo systemctl status n8n

Để bảo mật và cung cấp HTTPS, cài đặt Nginx làm reverse proxy:

sudo apt install nginx -y
sudo nano /etc/nginx/sites-available/n8n

Cấu hình Nginx:

server {
    listen 80;
    server_name your-domain.com;

    location / {
        proxy_pass http://localhost:5678;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_cache_bypass $http_upgrade;
    }
}

Kích hoạt site và cài đặt SSL với Let’s Encrypt:

sudo ln -s /etc/nginx/sites-available/n8n /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d your-domain.com

Với cấu hình này, n8n sẽ hoạt động ổn định, tự động khởi động khi server reboot và được bảo vệ bằng HTTPS.

Kết luận

Việc cài đặt n8n trên VPS Ubuntu 24.04 mở ra cánh cửa cho vô số khả năng tự động hóa workflow. Từ việc tích hợp dữ liệu đơn giản đến các quy trình kinh doanh phức tạp, n8n cung cấp sự linh hoạt và sức mạnh để xử lý các workflow có độ phức tạp bất kỳ.

Với n8n được cài đặt và cấu hình đúng cách, bạn có thể bắt đầu xây dựng các workflow tự động mạnh mẽ để tiết kiệm thời gian và giảm thiểu các tác vụ thủ công. Hãy khám phá thư viện tích hợp phong phú của n8n, thử nghiệm với các kịch bản tự động hóa khác nhau và tham gia cộng đồng n8n để nhận hỗ trợ và cảm hứng.