Khi có phiên bản mới của n8n, việc cập nhật trong Portainer Docker với FFmpeg tích hợp sẽ cần một vài bước để đảm bảo bạn vừa có phiên bản n8n mới nhất, vừa giữ được FFmpeg trong container. Dưới đây là hướng dẫn chi tiết để cập nhật phiên bản n8n trong trường hợp bạn đang sử dụng image tùy chỉnh (n8n-ffmpeg:latest) như trong bài trước.


Hướng Dẫn Cập Nhật Phiên Bản n8n Mới Với FFmpeg Trong Portainer Docker

Bước 1: Kiểm Tra Phiên Bản n8n Mới Nhất

  1. Truy cập trang Docker Hub của n8n: n8nio/n8n.
  2. Ghi chú tag của phiên bản mới nhất (ví dụ: 1.33.0 thay vì latest nếu bạn muốn cụ thể).

Bước 2: Cập Nhật Dockerfile Tùy Chỉnh

Vì bạn đã tạo image tùy chỉnh n8n-ffmpeg dựa trên n8nio/n8n:latest, bạn cần built Dockerfile để sử dụng phiên bản n8n mới nhất hoặc phiên bản cụ thể:

  • Kết nối vào ssh để gõ lệnh:
cd n8n-ffmpeg

Bước 3: Build Lại Image Tùy Chỉnh

  • Trong thư mục n8n-ffmpeg, chạy lệnh để build lại image
docker build -t n8n-ffmpeg:latest .

Nếu bạn muốn gắn tag phiên bản cụ thể cho image (để quản lý dễ hơn), dùng:

docker build -t n8n-ffmpeg:1.33.0 .
  • Kiểm tra image đã được build:
docker images
  • Bạn sẽ thấy n8n-ffmpeg:latest (hoặc n8n-ffmpeg:1.33.0) trong danh sách.

Bước 4: Push Image Lên Registry (Nếu Cần)

Nếu bạn sử dụng Docker Hub hoặc registry riêng:

  • Tag image:
docker tag n8n-ffmpeg:latest <your-username>/n8n-ffmpeg:latest
  • Hoặc với phiên bản cụ thể:
docker tag n8n-ffmpeg:1.33.0 <your-username>/n8n-ffmpeg:1.33.0
  1. Push lên registry:
docker push <your-username>/n8n-ffmpeg:latest

Bước 5: Cập Nhật Stack Trong Portainer

  1. Đăng nhập vào Portainer và vào phần Stacks.
  2. Chọn stack hiện tại của bạn (chứa n8n).
  3. Cập nhật dòng image trong stack:
    • Nếu dùng latest:
version: "3"
services:
  n8n:
    image: n8nio/n8n:latest  # Luôn cập nhật phiên bản mới nhất
    container_name: n8n
    restart: always
    ports:
      - "5678:5678"
    environment:
      - N8N_HOST=n8n.blogeai.com
      - N8N_PORT=5678
      - N8N_PROTOCOL=https
      - NODE_ENV=production
      - WEBHOOK_URL=https://n8n.blogeai.com
      - GENERIC_TIMEZONE=Asia/Ho_Chi_Minh
      - N8N_SECURE_COOKIE=false 
    volumes:
      - n8n_n8n_data:/home/node/.n8n  # Đồng nhất tên volume
volumes:
  n8n_n8n_data:  # Đổi tên cho khớp với phần trên
    external: true  # Giữ lại volume cũ, không tạo mới
  1. Nếu dùng phiên bản cụ thể:
image: n8n-ffmpeg:1.33.0  # Hoặc <your-username>/n8n-ffmpeg:1.33.0
  1. Nhấn Deploy the stack để áp dụng.

Bước 6: Kiểm Tra Phiên Bản n8n và FFmpeg

  1. Sau khi container khởi động, vào Containers > Chọn n8n > Nhấn Console.
  2. Kiểm tra phiên bản n8n:
n8n --version
  • Kiểm tra FFmpeg:
ffmpeg -version

Nếu cả hai đều hiển thị phiên bản đúng (n8n mới và FFmpeg hoạt động), bạn đã cập nhật thành công!


Lưu Ý Khi Cập Nhật

  • Kiểm tra tương thích: Đảm bảo phiên bản n8n mới không phá vỡ workflow hiện tại của bạn. Xem changelog trên GitHub n8n trước khi cập nhật.
  • Sao lưu: Trước khi deploy stack mới, sao lưu volume n8n_n8n_data để tránh mất dữ liệu.
  • Tự động hóa: Nếu bạn thường xuyên cập nhật, hãy viết script để build và push image tự động.

Cách Tự Động Hóa Cập Nhật (Tùy Chọn)

Nếu bạn muốn tiết kiệm thời gian:

  1. Tạo script update-n8n.sh:
#!/bin/bash
cd n8n-ffmpeg
docker build -t n8n-ffmpeg:latest .
docker tag n8n-ffmpeg:latest <your-username>/n8n-ffmpeg:latest
docker push <your-username>/n8n-ffmpeg:latest
  1. Chạy script khi cần:
chmod +x update-n8n.sh
./update-n8n.sh
  1. Sau đó chỉ cần deploy lại stack trong Portainer.

Kết Luận

Cập nhật phiên bản n8n mới khi dùng FFmpeg trong Portainer Docker chỉ cần rebuild image tùy chỉnh và deploy lại stack. Với hướng dẫn này, bạn có thể dễ dàng nâng cấp hệ thống mà vẫn giữ được FFmpeg hoạt động trơn tru. Nếu bạn cần thêm hỗ trợ, đừng ngần ngại để lại câu hỏi!

Categorized in:

N8N,