NVME SSD Hosting tốc độ cao

Hướng dẫn kết nối Redis trong n8n với aaPanel

5
5/5 - (1 bình chọn)

Bạn đang triển khai n8n để tự động hóa quy trình, nhưng muốn tối ưu hiệu năng bằng cách sử dụng Redis? Nếu server của bạn quản lý bằng aaPanel, thì việc cấu hình Redis kết hợp với n8n hoàn toàn dễ dàng. Bài viết này sẽ hướng dẫn chi tiết từng bước để bạn dễ dàng kết nối Redis trong n8n với aaPanel.

1. Kiểm tra Redis trên aaPanel

Mặc định, Redis khi cài trên aaPanel chỉ lắng nghe ở 127.0.0.1.

redis-cli -h 127.0.0.1 -p 6379 -a 'mat_khau_cua_ban' ping

Nếu trả về PONG → Redis hoạt động bình thường.

2. Cấu hình Redis trên aaPanel

  1. Mở aaPanel → App StoreInstalled → chọn Redis → Settings
  2. Vào tab Optimization:
    • Remote access / Bind: nhập 0.0.0.0
    • Port: giữ mặc định 6379 (hoặc điền port bạn dùng).
    • Password: đặt mật khẩu (requirepass) → nhập mat_khau_cua_ban
  3. Nhấn Save/ApplyRestart Redis trong giao diện aaPanel.

cau hinh redis tren aapanel

Mẹo: Sau khi lưu, kiểm tra nhanh bằng redis-cli -h 127.0.0.1 -p 6379 -a 'mat_khau_cua_ban' ping để chắc Redis hoạt động.

3. Mở cổng 6379

Trong aaPanelBảo mật (Security)FirewallAdd Port Rule

Cho phép port 6379/tcp.

Mở cổng 6379 trên aaPanel
Mở cổng 6379 trên aaPanel

⚠️ Lưu ý: Khi triển khai thật, bạn nên giới hạn IP hoặc subnet Docker (172.17.0.0/16) thay vì mở public.

4. Cách lấy IP gateway Docker (172.17.0.1) ngay trong aaPanel

Cách lấy IP gateway Docker
Cách lấy IP gateway Docker
  1. Vào Docker → chọn tab Network.
  2. Tìm mạng bridge (mặc định của Docker).
  3. Nhìn cột IPv4 Gateway → giá trị thường là 172.17.0.1.
  4. Nếu container n8n của bạn gắn vào mạng khác (ví dụ baota_net), hãy dùng IPv4 Gateway của mạng đó (có thể là 172.18.0.1…), thay thế cho 172.17.0.1 trong cấu hình n8n.

Hoặc sử dụng lệnh:

ip addr show docker0
# Ví dụ output:
# inet 172.17.0.1/16 scope global docker0

Nếu thấy 172.17.0.1, hãy dùng địa chỉ này làm HOST cho kết nối Redis từ n8n.

5. Cấu hình docker-compose cho n8n (kết nối Redis trên host)

Trong aaPanel, vào Docker > Compose, chỉnh sửa file compose.yaml

Thêm biến môi trường cho Bull Queue & Session, trỏ tới 172.17.0.1:

services:
  n8n_xxx:
    image: n8nio/n8n:${VERSION}
    # container_name: ${CONTAINER_NAME}
    deploy:
      resources:
        limits:
          cpus: ${CPUS}
          memory: ${MEMORY_LIMIT}
    restart: always

    # Xuất cổng HTTPS của container (443) ra cổng host do bạn chỉ định
    ports:
      - ${HOST_IP}:${WEB_HTTP_PORT}:443

    volumes:
      - ${APP_PATH}/data:/home/node/.n8n

    environment:
      # ----- Cấu hình n8n cơ bản -----
      N8N_SECURE_COOKIE: false
      N8N_HOST: n8n.domain.com
      N8N_PROTOCOL: https
      N8N_PORT: 443
      N8N_WEBHOOK_URL: https://n8n.domain.com
      # N8N_EDITOR_BASE_URL: https://n8n.domain.com
      GENERIC_TIMEZONE: Asia/Ho_Chi_Minh

      # ----- Redis cho Bull Queue -----
      QUEUE_BULL_REDIS_HOST: 172.17.0.1
      QUEUE_BULL_REDIS_PORT: 6379
      QUEUE_BULL_REDIS_PASSWORD: "mat_khau_cua_ban"
      QUEUE_BULL_REDIS_DB: 0

      # ----- Redis cho Session đăng nhập -----
      N8N_SESSION_BACKEND: redis
      N8N_SESSION_REDIS_HOST: 172.17.0.1
      N8N_SESSION_REDIS_PORT: 6379
      N8N_SESSION_REDIS_PASSWORD: "mat_khau_cua_ban"
      N8N_SESSION_REDIS_DB: 1

    labels:
      createdBy: "bt_apps"

    networks:
      - baota_net

networks:
  baota_net:
    external: true

Trong đó:

  • 172.17.0.1 là IP gateway Docker → host.
  • mat_khau_cua_ban là mật khẩu Redis đã đặt trong aaPanel.

Lưu ý: Mật khẩu có ký tự đặc biệt (như @) nên đặt trong dấu ngoặc kép.

6. Kiểm tra và tạo Credentials Redis từ n8n

Kiểm tra và tạo Credentials Redis từ n8n

Trong n8nCredentialsNew → chọn Redis.

Điền:

  • Password: mat_khau_cua_ban
  • User: để trống (chỉ điền nếu Redis dùng ACL user riêng)
  • Host: 172.17.0.1 (hoặc IPv4 Gateway của mạng n8n)
  • Port: 6379
  • Database Number: (tuỳ bạn, mặc định 0)
  • SSL/TLS: tắt (trừ khi bạn đã bọc TLS cho Redis)
  • Bấm TestSave.

Nếu có thông báo: Connection tested successfully → Redis được kết nối thành công.

7. Lỗi thường gặp & cách xử lý nhanh

ECONNREFUSED 127.0.0.1:6379

n8n đang trỏ tới loopback của container. Sửa HOST thành 172.17.0.1 (hoặc map host.docker.internal – Linux cần extra_hosts).

ENOTFOUND host.docker.internal

Linux không có sẵn tên này. Dùng trực tiếp 172.17.0.1 hoặc thêm extra_hosts: ["host.docker.internal:172.17.0.1"].

NOAUTH Authentication required

Mật khẩu sai hoặc chưa đặt requirepass trong redis.conf.

Connection timeout

Firewall chặn, hoặc Redis chưa bind 0.0.0.0 khi bạn kết nối qua IP host. Kiểm tra lại rule & cấu hình.

8. Lưu ý bảo mật

  • Sau khi test xong, không nên để Redis mở public.
  • Hạn chế truy cập port 6379 chỉ từ 127.0.0.1 và subnet Docker.
  • Có thể dùng ufw:
ufw allow from 172.17.0.0/16 to any port 6379 proto tcp
ufw allow from 127.0.0.1 to any port 6379 proto tcp
ufw deny 6379/tcp

Kết luận

Với vài bước đơn giản trên, bạn đã có thể kết nối Redis trong n8n sử dụng aaPanel thành công. Việc này giúp tăng hiệu suất xử lý queue, quản lý session tốt hơn và nâng cao độ ổn định cho hệ thống tự động hóa.

Nhận thông báo qua Email
Nhận thông báo cho
guest
0 Góp ý
cũ nhất
mới nhất bình chọn nhiều nhất
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x