Cách làm đúng để FFmpeg KHÔNG BAO GIỜ BỊ MẤT

FFmpeg được cài đặt vào n8n chủ yếu để xử lý, thao tác và chuyển đổi các tệp tin đa phương tiện (media files), đặc biệt là video và audio.
Nó biến n8n thành một công cụ mạnh mẽ hơn để tự động hóa các tác vụ liên quan đến media.

Dưới đây là hướng dẫn đúng và đơn giản nhất:

1. Sửa docker-compose.yml để dùng image custom

services:
n8n:
# Thay thế 'image: n8nio/n8n:latest' bằng 'build: .'
# Dấu chấm '.' nghĩa là Dockerfile nằm trong thư mục hiện tại
build: .
restart: always
ports:
- "5678:5678"
environment:
- N8N_HOST=localhost
- N8N_SECURE_COOKIE=false
- GENERIC_TIMEZONE=Asia/Ho_Chi_Minh
- N8N_BASIC_AUTH_ACTIVE=true
- N8N_PORT=5678
- N8N_PROTOCOL=http
- WEBHOOK_URL=http://localhost
volumes:
- ./n8n_data:/home/node/.n8n

2. Tạo file Dockerfile

# Sử dụng image n8n chính thức làm nền
FROM n8nio/n8n:latest

# Cài đặt ffmpeg bằng trình quản lý gói APK (Dành cho Alpine Linux)
# Bạn cần thêm kho lưu trữ community (main/community) nếu chưa có.
USER root

RUN apk update \
&& apk add --no-cache ffmpeg \
&& rm -rf /var/cache/apk/*

# Chuyển về người dùng mặc định của n8n (rất quan trọng cho bảo mật)
USER node

3. Build lại Container

docker compose up -d --build

--build sẽ buộc Docker build image mới dựa trên Dockerfile của bạn.
up -d sẽ khởi động container trong chế độ nền.

Sau khi quá trình build hoàn tất và container khởi động, n8n container mới của bạn sẽ có ffmpeg được cài đặt và sẵn sàng để sử dụng.

Chúc các bạn thành công

Bình luận