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 FFmpegi 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 FFmpegi içine kuracaktır.
4. n8ni Başlatın
Kurulum tamamlandıktan sonra n8ni başlatabilirsiniz:
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, FFmpegin 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