Cài đặt n8n trên Ubuntu 26.04 LTS: Hướng dẫn chi tiết từ A-Z

Cài đặt n8n trên Ubuntu 26.04 LTS: Hướng dẫn chi tiết từ A-Z

Cài đặt n8n trên Ubuntu 26.04 LTS: Hướng dẫn chi tiết từ A-Z 

n8n là nền tảng tự động hóa workflow mạnh mẽ, cho phép kết nối API, phần mềm, email, CRM, database, AI Agent, Telegram, Google Sheet, webhook và hàng trăm dịch vụ khác trong cùng một giao diện trực quan. Với doanh nghiệp muốn tự chủ dữ liệu, triển khai n8n trên Ubuntu 26.04 LTS là lựa chọn rất phù hợp.

Trong bài viết này, CloudX sẽ hướng dẫn bạn cài đặt n8n trên Ubuntu 26.04 LTS bằng Docker Compose, sử dụng PostgreSQL, cấu hình Nginx Reverse Proxy và bật SSL miễn phí với Let’s Encrypt.

1. n8n là gì?

n8n là công cụ workflow automation giúp bạn tự động hóa các tác vụ lặp đi lặp lại như gửi email, xử lý webhook, đồng bộ dữ liệu, tạo báo cáo, tích hợp CRM, gọi API, kết nối AI model, chatbot, hệ thống nội bộ và nhiều nền tảng khác.

Điểm mạnh của n8n là có thể tự triển khai trên máy chủ riêng, giúp doanh nghiệp kiểm soát dữ liệu tốt hơn so với các nền tảng SaaS hoàn toàn trên cloud bên ngoài.

Note: Với n8n self-hosted, bạn nên dùng Docker Compose để dễ quản lý, dễ backup, dễ nâng cấp và hạn chế lỗi phụ thuộc môi trường hệ điều hành.

2. Yêu cầu CPU/RAM/NVMe khi cài đặt n8n

Quy mô sử dụng CPU khuyến nghị RAM khuyến nghị Ổ cứng khuyến nghị Ghi chú
Test/Lab cá nhân 1-2 vCPU 2 GB RAM 20 GB NVMe Phù hợp học tập, thử nghiệm workflow nhỏ
Doanh nghiệp nhỏ 2 vCPU 4 GB RAM 40-60 GB NVMe Phù hợp chạy workflow định kỳ, webhook, email automation
Doanh nghiệp vừa 4 vCPU 8 GB RAM 80-120 GB NVMe Nên dùng PostgreSQL và backup định kỳ
Workflow nặng / AI automation 4-8 vCPU 16 GB RAM trở lên 150 GB NVMe trở lên Phù hợp tích hợp AI, xử lý dữ liệu lớn, nhiều execution
Warning: Không nên chạy n8n production với SQLite nếu workflow nhiều, dữ liệu execution lớn hoặc có nhiều người dùng. PostgreSQL là lựa chọn ổn định hơn cho môi trường doanh nghiệp.

3. Mô hình cài đặt n8n khuyến nghị

Trong bài viết này, chúng ta triển khai theo mô hình:

  • Ubuntu 26.04 LTS
  • Docker + Docker Compose
  • n8n chạy trong container
  • PostgreSQL chạy trong container riêng
  • Nginx làm Reverse Proxy
  • Let’s Encrypt SSL miễn phí
  • Domain ví dụ: n8n.example.com

4. Cập nhật Ubuntu 26.04 LTS

Đăng nhập vào máy chủ bằng SSH với tài khoản có quyền sudo, sau đó cập nhật hệ thống:

sudo apt update
sudo apt upgrade -y
sudo apt install -y curl wget git unzip nano ca-certificates gnupg lsb-release ufw

Thiết lập múi giờ Việt Nam:

sudo timedatectl set-timezone Asia/Ho_Chi_Minh
timedatectl

5. Cài đặt Docker và Docker Compose

Gỡ các bản Docker cũ nếu có:

sudo apt remove -y docker docker-engine docker.io containerd runc

Thêm Docker GPG key:

sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

Thêm Docker repository:

echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Cài Docker Engine và Docker Compose plugin:

sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Kiểm tra phiên bản:

docker --version
docker compose version

Cho phép user hiện tại chạy Docker không cần sudo:

sudo usermod -aG docker $USER
newgrp docker

6. Tạo cấu hình n8n Docker Compose

Tạo thư mục cài đặt n8n:

sudo mkdir -p /opt/n8n
sudo chown -R $USER:$USER /opt/n8n
cd /opt/n8n

Tạo file biến môi trường:

nano .env

Dán nội dung sau vào file .env. Bạn cần thay domain, mật khẩu và timezone cho phù hợp:

POSTGRES_USER=n8n
POSTGRES_PASSWORD=MatKhau_PostgreSQL_That_Manh
POSTGRES_DB=n8n

N8N_HOST=n8n.example.com
N8N_PORT=5678
N8N_PROTOCOL=https
WEBHOOK_URL=https://n8n.example.com/
GENERIC_TIMEZONE=Asia/Ho_Chi_Minh
TZ=Asia/Ho_Chi_Minh

N8N_ENCRYPTION_KEY=Thay_Bang_Chuoi_Random_Rat_Dai_Va_Bao_Mat
N8N_BASIC_AUTH_ACTIVE=true
N8N_BASIC_AUTH_USER=admin
N8N_BASIC_AUTH_PASSWORD=MatKhau_Admin_That_Manh
Warning: N8N_ENCRYPTION_KEY rất quan trọng. Nếu mất key này, bạn có thể không giải mã được credentials đã lưu trong n8n. Hãy backup file .env cẩn thận.

Tạo file Docker Compose:

nano docker-compose.yml

Dán nội dung sau:

services:
  postgres:
    image: postgres:16
    container_name: n8n-postgres
    restart: unless-stopped
    environment:
      POSTGRES_USER: ${POSTGRES_USER}
      POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
      POSTGRES_DB: ${POSTGRES_DB}
    volumes:
      - postgres_data:/var/lib/postgresql/data
    networks:
      - n8n_network

  n8n:
    image: docker.n8n.io/n8nio/n8n:stable
    container_name: n8n
    restart: unless-stopped
    ports:
      - "127.0.0.1:5678:5678"
    environment:
      DB_TYPE: postgresdb
      DB_POSTGRESDB_HOST: postgres
      DB_POSTGRESDB_PORT: 5432
      DB_POSTGRESDB_DATABASE: ${POSTGRES_DB}
      DB_POSTGRESDB_USER: ${POSTGRES_USER}
      DB_POSTGRESDB_PASSWORD: ${POSTGRES_PASSWORD}
      N8N_HOST: ${N8N_HOST}
      N8N_PORT: ${N8N_PORT}
      N8N_PROTOCOL: ${N8N_PROTOCOL}
      WEBHOOK_URL: ${WEBHOOK_URL}
      GENERIC_TIMEZONE: ${GENERIC_TIMEZONE}
      TZ: ${TZ}
      N8N_ENCRYPTION_KEY: ${N8N_ENCRYPTION_KEY}
      N8N_BASIC_AUTH_ACTIVE: ${N8N_BASIC_AUTH_ACTIVE}
      N8N_BASIC_AUTH_USER: ${N8N_BASIC_AUTH_USER}
      N8N_BASIC_AUTH_PASSWORD: ${N8N_BASIC_AUTH_PASSWORD}
    volumes:
      - n8n_data:/home/node/.n8n
    depends_on:
      - postgres
    networks:
      - n8n_network

volumes:
  postgres_data:
  n8n_data:

networks:
  n8n_network:
    driver: bridge

7. Khởi động n8n

Chạy n8n bằng Docker Compose:

cd /opt/n8n
docker compose up -d

Kiểm tra container:

docker ps

Xem log n8n:

docker logs -f n8n

Nếu mọi thứ đúng, n8n sẽ chạy nội bộ tại:

http://127.0.0.1:5678

8. Cấu hình Nginx Reverse Proxy và SSL

Cài Nginx và Certbot:

sudo apt install -y nginx certbot python3-certbot-nginx

Tạo file cấu hình Nginx cho n8n:

sudo nano /etc/nginx/sites-available/n8n.conf

Dán nội dung sau, thay n8n.example.com bằng domain thật của bạn:

server {
    listen 80;
    server_name n8n.example.com;

    location / {
        proxy_pass http://127.0.0.1:5678;
        proxy_http_version 1.1;

        proxy_set_header Connection '';
        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_buffering off;
        proxy_cache off;
        chunked_transfer_encoding off;
    }
}

Kích hoạt website:

sudo ln -s /etc/nginx/sites-available/n8n.conf /etc/nginx/sites-enabled/n8n.conf
sudo nginx -t
sudo systemctl reload nginx

Cấp SSL Let’s Encrypt:

sudo certbot --nginx -d n8n.example.com

Kiểm tra tự động gia hạn SSL:

sudo certbot renew --dry-run

9. Một số khuyến nghị bảo mật khi dùng n8n

  • Chỉ mở port 80 và 443 ra internet.
  • Không public trực tiếp port 5678.
  • Sử dụng mật khẩu mạnh cho Basic Auth và tài khoản owner n8n.
  • Backup định kỳ thư mục Docker volume và file .env.
  • Không chia sẻ N8N_ENCRYPTION_KEY.
  • Đặt n8n sau Cloudflare hoặc firewall nếu hệ thống public rộng.
  • Không lưu token API quan trọng trong workflow thử nghiệm không kiểm soát.

Cấu hình UFW cơ bản:

sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
sudo ufw status
Note: Nếu máy chủ đặt sau firewall doanh nghiệp hoặc Cloud Firewall của CloudX, bạn nên giới hạn IP quản trị SSH và tách lớp bảo vệ giữa internet và máy chủ ứng dụng.

10. Backup và cập nhật n8n

10.1. Backup n8n

Tạo thư mục backup:

mkdir -p /opt/backup-n8n
cd /opt/n8n

Backup PostgreSQL:

docker exec n8n-postgres pg_dump -U n8n n8n > /opt/backup-n8n/n8n-db-$(date +%F).sql

Backup file cấu hình:

cp /opt/n8n/.env /opt/backup-n8n/env-$(date +%F).backup
cp /opt/n8n/docker-compose.yml /opt/backup-n8n/docker-compose-$(date +%F).backup

10.2. Cập nhật n8n

Cập nhật image n8n stable mới nhất:

cd /opt/n8n
docker compose pull
docker compose up -d

Xóa image cũ không còn sử dụng:

docker image prune -f

11. Truy cập giao diện n8n

Sau khi hoàn tất, bạn truy cập:

https://n8n.example.com

Lần đầu mở n8n, hệ thống sẽ yêu cầu tạo tài khoản owner. Sau đó bạn có thể bắt đầu tạo workflow đầu tiên, ví dụ:

  • Nhận webhook từ website.
  • Gửi thông báo Telegram/Zalo/Email.
  • Đồng bộ Google Sheet với CRM.
  • Tự động tạo ticket hỗ trợ khách hàng.
  • Kết hợp AI để phân loại nội dung, trả lời email hoặc xử lý dữ liệu.

12. CloudX hỗ trợ cài đặt n8n trên Cloud VPS NVMe

Triển khai n8n nhanh, ổn định, bảo mật cùng CloudX

Nếu bạn muốn xây dựng hệ thống automation riêng cho doanh nghiệp, CloudX có thể hỗ trợ triển khai n8n trên Cloud VPS NVMe tốc độ cao, cấu hình PostgreSQL, SSL, backup, firewall, monitor và tối ưu vận hành.

CloudX phù hợp cho:

  • Doanh nghiệp muốn tự động hóa quy trình nội bộ.
  • Đội marketing cần workflow gửi email, xử lý lead, đồng bộ CRM.
  • Đội IT cần kết nối API, webhook, cảnh báo hệ thống.
  • Trường học, trung tâm đào tạo muốn tích hợp LMS, email, báo cáo tự động.
  • Doanh nghiệp muốn kết hợp n8n với AI Agent, Ollama, OpenAI, DeepSeek hoặc hệ thống dữ liệu riêng.

Hotline/Zalo CloudX: 0983.357.585

13. Kết luận

Cài đặt n8n trên Ubuntu 26.04 LTS bằng Docker Compose là phương án gọn gàng, dễ quản lý và phù hợp cho môi trường production. Khi kết hợp với PostgreSQL, Nginx Reverse Proxy, SSL và hạ tầng Cloud VPS NVMe, n8n có thể trở thành trung tâm tự động hóa mạnh mẽ cho doanh nghiệp.

Trong quá trình thực hiện, nếu gặp bất kỳ khó khăn nào, bạn vui lòng liên hệ các kỹ thuật viên của CloudX để được nhanh chóng hỗ trợ.! Nếu thấy bài viết này hữu ích hãy subscribe để theo dõi những thông tin mới nhất từ CloudX nhé. Chúc các bạn thành công!

Hệ sinh thái của CloudX

  • Tư vấn miễn phí hệ thống CNTT cho doanh nghiệp
  • Miễn phí đăng ký dùng thử Cloud Server, Cloud VPS, Hosting (lưu trữ website, phần mềm, xử lý dữ liệu)
  • Xmail - Email tên miền doanh nghiệp
  • Server vật lý, cho thuê chỗ đặt Server tại các Datacenter hàng đầu Việt Nam
  • Dịch vụ quản trị máy chủ, Outsource CNTT, quản trị hệ thống mạng doanh nghiệp, IT Support
  • Miễn phí cài đặt, vận hành quản trị Website trường học ảo E-Learning Canvas LMS (được đánh giá LMS E-Learning tốt nhất thế giới)
  • Triển khai, quản trị Firewall cho doanh nghiệp
  • Các giải pháp về Monitor, Alert Cảnh báo, Sao lưu - Backup dữ liệu từ xa cho máy chủ, Cloud, VPS.
  • Thiết kế website chuyên nghiệp

Xin vui lòng liên hệ Hotline/Zalo: 0983.357.585 để được tư vấn tận tình

BÀI VIẾT CÙNG CHUYÊN MỤC

Không copy được giữa máy Windows và máy ảo qua mRemoteNG/RDP: Nguyên nhân và cách sửa
Không copy được giữa máy Windows và máy ảo qua ...

mRemoteNG Remote Desktop RDP Clipboard Redirection rdpclip.exe VPS Windows ...

Hướng dẫn bật Nested Virtualization trên ESXi để chạy Android Studio Emulator trong máy ảo Windows
Hướng dẫn bật Nested Virtualization trên ESXi để chạy ...

Nested Virtualization ESXi VMware Android Studio Android Emulator WHPX Hyper-V ...

PITR (Point In Time Recovery) là gì? Khôi phục Database về đúng thời điểm cần thiết
PITR (Point In Time Recovery) là gì? Khôi phục ...

PITR, Point In Time Recovery, PITR là gì, Database Recovery, PostgreSQL PITR, ...

Backup Database Full, Incremental, Differential khác nhau thế nào?
Backup Database Full, Incremental, Differential khác ...

Backup Database, Full Backup, Incremental Backup, Differential Backup, Backup ...

Database Cluster là gì? High Availability, Failover và Cluster Database hoạt động như thế nào?
Database Cluster là gì? High Availability, Failover và ...

Database Cluster, Database Cluster là gì, High Availability Database, Database ...