codeQ Blog

Chào mừng mọi người đã đến với codeQ Blog

Hướng Dẫn Cài Đặt n8n Trong Docker Với Docker Compose

Đăng vào ngày No date
Cover Image for Hướng Dẫn Cài Đặt n8n Trong Docker Với Docker Compose

Giới Thiệu

n8n là một công cụ workflow automation mã nguồn mở, giúp tự động hóa các quy trình làm việc thông qua giao diện trực quan mà không cần lập trình phức tạp. Trong bài viết này, chúng ta sẽ hướng dẫn cách cài đặt n8n trong Docker bằng Docker Compose với cấu hình HTTPS.

Yêu Cầu Hệ Thống

Trước khi bắt đầu, hãy đảm bảo rằng bạn đã cài đặt:

  • Docker (Hướng dẫn cài đặt)
  • Docker Compose (Hướng dẫn cài đặt)

Bước 1: Tạo Thư Mục Dự Án

Trước tiên, hãy tạo một thư mục chứa cấu hình của n8n và di chuyển vào đó:

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

Bước 2: Tạo File docker-compose.yml

Tạo một file docker-compose.yml với nội dung sau:

version: "3"
services:
  n8n:
    image: n8nio/n8n
    container_name: n8n
    restart: always
    ports:
      - "5678:5678"
    volumes:
      - /path/to/n8n_data:/home/node/.n8n
    environment:
      - N8N_HOST=<your-domain>
      - N8N_PORT=5678
      - N8N_PROTOCOL=https
      - WEBHOOK_TUNNEL_URL=https://<your-domain>/
      - WEBHOOK_URL=https://<your-domain>/
      - N8N_PUSH_BACKEND=sse  # Chọn "sse" hoặc "websocket"
      - N8N_DEFAULT_TRUST_PROXY=true
      - N8N_PAYLOAD_SIZE_MAX=50mb

volumes:
  n8n_data:
    external: true

Giải thích cấu hình:

  • Volumes: Dữ liệu của n8n sẽ được lưu tại /path/to/n8n_data. Bạn thay đường dẫn này bằng thư mục phù hợp trên máy chủ.
  • Ports: Mở cổng 5678 để truy cập n8n.
  • HTTPS: Sử dụng giao thức https với WEBHOOK_TUNNEL_URL.
  • Cấu hình backend: Dùng SSE (Server-Sent Events) hoặc WebSocket.
  • Tăng giới hạn payload: Cho phép gửi request có kích thước lên đến 50mb.

Bước 3: Chạy n8n với Docker Compose

Sau khi tạo file docker-compose.yml, bạn chạy lệnh sau để khởi động n8n:

docker-compose up -d

Lệnh này sẽ:
✅ Tải về image n8n (nếu chưa có)
✅ Khởi động container n8n
✅ Chạy n8n ở chế độ detached (-d) (nền)

Kiểm tra container có chạy không:

docker ps

Nếu thấy n8n đang chạy, bạn có thể truy cập tại:
🔗 https://<your-domain>

Bước 4: Kiểm Tra Và Lưu Dữ Liệu

n8n lưu dữ liệu trong thư mục /path/to/n8n_data. Bạn có thể kiểm tra dữ liệu bằng lệnh:

ls -la /path/to/n8n_data

Nếu muốn backup dữ liệu:

tar -czvf n8n-backup.tar.gz /path/to/n8n_data

Bước 5: Dừng Hoặc Khởi Động Lại n8n

  • Dừng n8n: docker-compose down
  • Khởi động lại n8n: docker-compose up -d

Kết Luận

Bằng cách sử dụng Docker Compose, bạn có thể dễ dàng cài đặt và quản lý n8n trên server của mình. Cấu hình này hỗ trợ HTTPS, webhook, và tăng giới hạn payload, giúp bạn xây dựng các workflows mạnh mẽ.