n8n ile video dönüştürme, ses ayıklama veya video işleme gibi otomasyonlar oluşturmak istiyorsanız, FFmpeg aracına ihtiyaç duyabilirsiniz.
Varsayılan n8nio/n8n Docker imajında FFmpeg bulunmadığı için, bunu kendimiz eklememiz gerekiyor.
Aşağıda adım adım nasıl yapabileceğinizi anlattım.

1. Dockerfile Oluşturma


Proje dizininde (örneğin ~/n8n/) Dockerfile isminde bir dosya oluşturun:
Alıntı
FROM n8nio/n8n:next
USER root
RUN apk add --update ffmpeg
USER node
Bu, resmi n8n imajını temel alır ve Alpine tabanlı olduğu için apk paket yöneticisiyle FFmpeg’i kurar.
Kurulum sonrası tekrar node kullanıcısına geçilerek güvenli bir çalışma ortamı sağlanır.

2. docker-compose.yml Dosyasını Güncelleyin


Aşağıdaki örnekte olduğu gibi yine aynı klasör içinde docker-compose.yml dosyanızı oluşturun:
Alıntı
services:
n8n:
build: .
ports:
- "5678:5678"
volumes:
- ~/.n8n:/home/node/.n8n
- ~/n8n/assets:/data
restart: unless-stopped
environment:
- N8N_PROTOCOL=https
- N8N_HOST=site.adres
- N8N_PORT=5678
- N8N_EDITOR_BASE_URL=https://site.adres
- VUE_APP_URL_BASE_API=https://site.adres/
- N8N_SECURE_COOKIE=true
- N8N_PROXY_HOPS=1
- DB_SQLITE_POOL_SIZE=5
- N8N_RUNNERS_ENABLED=true
- N8N_BLOCK_ENV_ACCESS_IN_NODE=false
- N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true
- NODE_OPTIONS=--max-old-space-size=2048
user: "${UID:-1000}:${GID:-1000}"
Burada build: . satırı önemli çünkü Docker, bulunduğunuz dizindeki Dockerfile’ı kullanarak özel imajınızı oluşturacak.

3. Docker İmajını Oluşturun


Terminalde şu komutları çalıştırın:
Alıntı
cd ~/n8n docker-compose build
Bu işlem, n8nio/n8n:next imajını temel alarak yeni bir imaj oluşturacak ve FFmpeg’i içine kuracaktır.

4. n8n’i Başlatın


Kurulum tamamlandıktan sonra n8n’i başlatabilirsiniz:
Alıntı
docker-compose up -d
Artık n8n container’ınızda FFmpeg yüklü durumda.

Doğrulamak için aşağıdaki komutu çalıştırın:
Alıntı
docker exec -it n8n n8n-node-dev --version
docker exec -it n8n ffmpeg -version
İkinci komutun bir sürüm bilgisi döndürmesi gerekiyor. Bu, FFmpeg’in başarıyla kurulduğunu gösterir.

5. Kullanım Alanı Örneği


Artık n8n içinden Execute Command, Function, veya Custom Node kullanarak video işleme komutları çalıştırabilirsiniz.
Örneğin bir workflow adımında şu komutu kullanabilirsiniz:
Alıntı
ffmpeg -i /data/input.mp4 -vf scale=1280:720 /data/output.mp4