Saklama. Varsayılanlar, hangisi önce gelirse on dört gün veya 10 000 yürütmeyi, her düğümün tam girdi ve çıktı verisiyle birlikte tutar. Yoğun bir zamanlama tetikleyicisiyle küçük bir NVMe üzerinde diski dolduran şey budur. Bunları n8n ortam bloğuna ekleyin ve yeniden başlatın:
- EXECUTIONS_DATA_PRUNE=true
- EXECUTIONS_DATA_MAX_AGE=168 # hours — one week
- EXECUTIONS_DATA_PRUNE_MAX_COUNT=5000
- EXECUTIONS_DATA_SAVE_ON_SUCCESS=none # keep failures, drop the noise
EXECUTIONS_DATA_SAVE_ON_SUCCESS=none, yüksek frekanslı bir örnekte tek başına en büyük kazançtır: başarıyla çalışan yürütmelerin yüklerini yazmayı durdurur, ancak hata veren her yürütmeyi hâlâ hata ayıklayabilmeniz için eksiksiz saklar. İş akışını hâlâ inşa ederken "all" değerinde tutun, iş akışı sıradanlaştığında değeri çevirin.
Sessizlik. Compose dosyası zaten tanılamayı, sürüm bildirimlerini ve kişiselleştirme anketini kapatır. Geriye kalan giden çağrı, api.n8n.io'dan veri çeken şablon galerisidir; hiçbir üçüncü taraf çağrısı istemiyorsanız N8N_TEMPLATES_ENABLED=false ayarlayın. Sürüm bildirimlerini devre dışı bırakırsanız, sürüm notlarını okumak için takviminize aylık bir hatırlatıcı koyun — kimsenin güncellemediği kendi barındırılan bir örnek, sürümler için ping atan bir örnekten daha kötü bir sonuçtur.
Code düğümü. Dosyada zaten bulunan N8N_BLOCK_ENV_ACCESS_IN_NODE=true, ifadelerin ve Code düğümlerinin süreç ortam değişkenlerini okumasını engeller — bu kutuda bu, PostgreSQL parolası ve şifreleme anahtarı demektir. Herkese açık REST API'yi kullanmıyorsanız N8N_PUBLIC_API_DISABLED=true ekleyin ve o yüzeyi de kapatın.
Yedekler — ya üç parçanın tamamı ya da hiçbiri. Şifreleme anahtarı olmadan yalnızca veritabanının yedeği değersizdir, anahtarın tek başına da hiçbir şeyi geri yüklemez. PostgreSQL dökümünü, n8n veri birimini ve .env dosyasını birlikte yedekleyin ve en az bir kopyayı sunucu dışında saklayın:
cd /opt/n8n
docker compose exec -T postgres pg_dump -U n8n n8n | gzip > backup-db-$(date +%F).sql.gz
docker run --rm -v n8n_n8n_data:/data -v "$PWD":/backup alpine \
tar czf /backup/backup-vol-$(date +%F).tar.gz -C /data .
cp .env backup-env-$(date +%F)
Birim adı, Compose proje adı artı birim adıdır; dizininiz n8n olarak adlandırılmamışsa docker volume ls çalıştırın ve gördüğünüzü kullanın. Üç satırı bir cron görevine koyun, arşivleri başka bir yere gönderin ve bir kez geri yüklemeyi test edin — test edilmemiş bir yedek bir yedek değil bir inançtır.
Güncellemeler. docker compose pull, ardından docker compose up -d. Önce bir anlık görüntü alın: n8n başlangıçta veritabanı geçişlerini çalıştırır ve geçişler geri alınmak üzere tasarlanmamıştır. Büyük bir sürüm boyunca — örneğin 1.x'ten 2.x'e sıçrama — sürüm notlarını pull'dan sonra değil önce okuyun ve gözetimsiz bir yeniden başlatmanın sizi asla sürpriz bir şekilde yükseltmemesi için :latest yerine açık bir imaj etiketi sabitlemeyi düşünün.