Hướng dẫn chi tiết cài đặt n8n Trên VPS Ubuntu bằng docker

Đánh giá post
14 lượt xem

Hướng dẫn cài đặt chi tiết n8n trên unbuntu, để thiết lập công cụ tự động hóa mạnh mẽ n8n trên hệ điều hành Ubuntu. Với các bước được xây dựng từ cơ bản đến nâng cao, bạn không chỉ học cách cài đặt mà còn hiểu rõ lý do đằng sau từng thao tác, giúp tối ưu hóa hiệu suất và an toàn cho hệ thống của mình.

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

Hướng Dẫn Cài Đặt n8n Trên VPS Ubuntu (Docker + Nginx + Cloudflare)

1️⃣ Chuẩn Bị

1.1 Cập nhật hệ thống

sudo apt update && sudo apt upgrade -y

1.2 Cài đặt Docker & Docker Compose

sudo apt install -y docker.io docker-compose
sudo systemctl enable docker
sudo systemctl start docker

1.3 Tạo thư mục làm việc

mkdir -p ~/n8n && cd ~/n8n

2️⃣ Cài Đặt n8n Với Docker

2.1 Tạo file docker-compose.yml

nano docker-compose.yml

Dán nội dung sau:

version: "3"

services:
  n8n:
    image: n8nio/n8n:latest
    restart: always
    ports:
      - "5678:5678"
    environment:
      - GENERIC_TIMEZONE=Asia/Ho_Chi_Minh
      - WEBHOOK_TUNNEL_URL=https://abc.com
      - N8N_RUNNERS_ENABLED=true
    volumes:
      - /root/n8n/.n8n:/home/node/.n8n

📌 Lưu lại: Ctrl + X → Y → Enter

⚠️ Ghi chú:

Trước khi chạy docker-compose, hãy chắc chắn bạn đang ở đúng thư mục chứa file:

cd /root/n8n

⚠️ CHÚ Ý:

URL public chính xác để OAuth2 và webhook hoạt động:

- WEBHOOK_URL=https://abc.com
- WEBHOOK_TUNNEL_URL=https://abc.com

2.2 Chạy n8n

docker-compose up -d

2.3 Kiểm tra container

docker ps

Nếu thấy n8nio/n8n:latest chạy, nghĩa là OK.

✅ Quan trọng: Phải cấp quyền đúng cho thư mục mount

sudo chown -R 1000:1000 /root/n8n/.n8n
sudo chmod -R 700 /root/n8n/.n8n

3️⃣ Cấu Hình Reverse Proxy Với Nginx

3.1 Cài đặt Nginx

sudo apt install -y nginx

3.2 Cấu hình Nginx cho n8n

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

Dán nội dung sau:

server {
    listen 80;
    server_name abc.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_cache_bypass $http_upgrade;
        proxy_read_timeout 3600s;
        proxy_connect_timeout 3600s;
    }
}

📌 Lưu lại: Ctrl + X → Y → Enter

3.3 Kích hoạt cấu hình & restart Nginx

sudo ln -s /etc/nginx/sites-available/n8n /etc/nginx/sites-enabled/
sudo systemctl restart nginx

4️⃣ Cài Đặt SSL Miễn Phí Với Let’s Encrypt

4.1 Cài đặt Certbot

sudo apt install -y certbot python3-certbot-nginx

4.2 Cấp chứng chỉ SSL cho domain

sudo certbot --nginx -d abc.com

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

sudo certbot renew --dry-run

✅ Nếu không có lỗi, chứng chỉ sẽ được tự động gia hạn định kỳ.


5️⃣ Cấu Hình Cloudflare (Nếu Dùng)

  1. Vào Cloudflare → DNS
    • Thêm bản ghi A: abc.com → IP VPS
    • Tắt Proxy (chuyển về DNS Only)
  2. Vào Cloudflare → Network
    • Bật WebSockets

6️⃣ Kiểm Tra & Debug

6.1 Kiểm tra kết nối

curl -I http://localhost:5678

Nếu trả về HTTP/1.1 200 OK → n8n hoạt động tốt.

6.2 Kiểm tra log nếu lỗi

docker logs n8n_n8n_1 --tail=50

6.3 Kiểm tra Nginx

sudo systemctl status nginx

🎯 Hoàn Thành!

Truy cập https://abc.com và sử dụng 🚀

Liên kết tải về