n8n Nedir, Sunucuya Nasıl Kurulur? (Docker ile)

n8n Nedir, Sunucuya Nasıl Kurulur? (Docker ile)

Kisaca

n8n, dugum (node) tabanli gorsel arayuzuyle calisan, acik kaynakli (fair-code) bir is akisi otomasyon platformudur. Zapier ve Make ile ayni isi yapar; farki self-hosted calismasidir, yani kendi sunucunuzda sinirsiz akis kurar ve verinizi disari cikarmazsiniz. Bu rehber n8n’i Docker ve Docker Compose ile (PostgreSQL’li uretim kurulumu dahil) adim adim anlatir.

  • Hizli baslangic icin tek satir docker run yeterli; uretimde SQLite yerine PostgreSQL ve docker-compose.yml onerilir.
  • N8N_ENCRYPTION_KEY kritiktir: kendiniz belirleyin, guvenli saklayin ve asla degistirmeyin; yoksa kimlik bilgileri cozulemez.
  • 5678 portunu dogrudan acmayin; HTTPS icin Nginx/Traefik/Caddy reverse proxy arkasina alin.
  • Gunde 10 binin uzeri calistirmada queue mode (Redis + worker) gerekir; PostgreSQL, .n8n volume’u ve compose dosyasini duzenli yedekleyin.
  • Community Edition ic kullanimda ucretsizdir; AI Agent/LLM dugumleriyle Ollama gibi yerel modeller baglanabilir.

n8n, açık kaynaklı (fair-code lisanslı) bir iş akışı otomasyon platformudur. Görsel, düğüm (node) tabanlı arayüzüyle uygulamaları, API’leri, veritabanlarını ve servisleri birbirine bağlayarak tekrar eden işleri otomatikleştirmenizi sağlar. Zapier ya da Make ile aynı problemi çözer; ama temel farkı şudur: n8n’i kendi sunucunuzda (self-hosted) çalıştırabilirsiniz. Bu sayede aylık işlem limitlerine takılmaz ve verilerinizin üçüncü taraf bir buluta çıkmasını engellersiniz.

Bu rehberde n8n’in ne olduğunu, nasıl çalıştığını, Docker ile adım adım nasıl kurulacağını ve üretim ortamında dikkat etmeniz gereken her şeyi (PostgreSQL, şifreleme anahtarı, queue mode, yedekleme) tek tek anlatıyorum. n8n’i tam kontrolle ve verileri dışarı çıkarmadan çalıştırmanın en sağlıklı yolu, onu kendi VPS/sunucunuza kurmaktır.

n8n’in Zapier ve Make’ten Farkı

Zapier ve Make güçlü bulut araçlarıdır, ama ikisi de kullanım başına ücretlendirir: çalıştırdığınız her adım bir “task” ya da “operation” olarak sayaca yazılır. Yoğun otomasyon kuran bir ekip için bu fatura hızla şişer. n8n self-hosted çalıştığında ise sınırsız iş akışı ve sınırsız adım çalıştırabilirsiniz; tek maliyetiniz üzerinde koştuğu sunucudur.

İkinci büyük fark esnekliktir. n8n hem no-code (kod yazmadan) bir arayüz sunar hem de tıkandığınız yerde araya bir Code düğümü koyup JavaScript veya Python yazmanıza izin verir. Üçüncüsü ve belki Türkiye’deki kullanıcılar için en önemlisi: veriniz kendi sunucunuzda kaldığı için KVKK ve gizlilik açısından kapalı bir kutu içinde çalışırsınız.

Mail hosting 1 ay ücretsiz
Özellik n8n (self-hosted) Bulut SaaS otomasyon araçları
Çalıştırma limiti Sınırsız (donanım kadar) Aylık adım/işlem kotası
Maliyet modeli Sabit sunucu kirası Kullanıma göre artan abonelik
Veri konumu Kendi sunucunuz Sağlayıcının bulutu
Kod yazma JavaScript + Python düğümleri Genellikle sınırlı
KVKK kontrolü Tam sizde Sağlayıcıya bağımlı

n8n Ne İşe Yarar? Gerçek Senaryolar

n8n, “şu olduğunda bunu yap” mantığıyla çalışan zincirler kurmanızı sağlar. Geniş bir entegrasyon kütüphanesi (node) içerdiği için neredeyse her servise bağlanır. Sahada en çok karşılaştığım kullanım senaryoları şunlar:

  • Web sitesindeki form gönderildiğinde otomatik e-posta atmak ve veriyi Google Sheets’e yazmak.
  • Gelen e-ticaret siparişini CRM’e ve muhasebe yazılımına aktarmak.
  • Belirli bir saatte (cron) rapor üretip Slack veya Telegram’a göndermek.
  • RSS ve haber kaynaklarını izleyip sosyal medya gönderi taslağı hazırlamak.
  • Yapay zeka düğümleriyle gelen destek taleplerini sınıflandırıp yanıt taslağı oluşturmak.
  • Veritabanını her gece tarayıp anormal kayıtları yöneticiye bildirmek.

Bunların hepsini sürükle-bırak mantığıyla kurabilir, gerektiğinde araya kod ekleyebilirsiniz.

n8n Nasıl Çalışır?

Her otomasyon bir workflow (iş akışı) olarak tasarlanır. Workflow bir tetikleyici (trigger) ile başlar; bu bir webhook, zamanlayıcı (schedule/cron) veya bir uygulamadan gelen olay olabilir. Tetiklendikten sonra veri, birbirine bağlı düğümler arasında akar: her düğüm veriyi dönüştürür, bir API’ye gönderir ya da koşullu olarak dallandırır. Bu yapı, çok adımlı karmaşık süreçleri görsel ve takip edilebilir hale getirir. Her çalıştırma (execution) loglandığı için bir akış hata verdiğinde hangi düğümde, hangi veriyle patladığını gözle görürsünüz. Hata ayıklamanın bu kadar kolay olması, n8n’i ciddi üretim ortamlarında tercih edilir kılan asıl sebeplerden biridir.

Sistem Gereksinimleri

n8n hafif bir uygulamadır ve mütevazı bir sunucuda rahatça çalışır. Ancak “deneme” ile “üretim” arasındaki farkı baştan kabul etmek gerekir: SQLite ile birkaç workflow denersiniz, ama gerçek iş yükünde PostgreSQL’e geçmeniz şart olur.

Kullanım vCPU RAM Disk Veritabanı
Deneme / kişisel 1 1-2 GB 10 GB SQLite
Küçük işletme / ajans (üretim) 2 4 GB 40 GB SSD PostgreSQL
Yoğun / yapay zeka düğümlü 4+ 8 GB+ 80 GB+ SSD PostgreSQL + queue mode

İşletim sistemi olarak Docker’ı destekleyen herhangi bir Linux dağıtımı (Ubuntu, AlmaLinux, Debian) yeterlidir. NVMe SSD’li bir sunucu, hem veritabanı performansını hem de imaj çekme/güncelleme hızını gözle görülür biçimde iyileştirir.

Docker ile n8n Kurulumu (Hızlı Başlangıç)

En temiz ve taşınabilir yöntem Docker’dır. Önce verilerinizi kalıcı tutacak bir volume oluşturun, ardından konteyneri başlatın:

docker volume create n8n_data

docker run -d --restart unless-stopped
 --name n8n
 -p 5678:5678
 -e GENERIC_TIMEZONE="Europe/Istanbul"
 -e TZ="Europe/Istanbul"
 -e N8N_RUNNERS_ENABLED=true
 -v n8n_data:/home/node/.n8n
 docker.n8n.io/n8nio/n8n

Resmi imaj docker.n8n.io/n8nio/n8n, varsayılan port 5678‘dir. n8n_data volume’ü tüm workflow’larınızı, kimlik bilgilerinizi ve şifreleme anahtarınızı kalıcı saklar; bu olmazsa konteyner silindiğinde her şey uçar. --restart unless-stopped sayesinde sunucu yeniden başlasa da n8n otomatik ayağa kalkar. Bu kurulum tek başına denemek için yeterlidir, ama üretime çıkmadan önce aşağıdaki bölümleri mutlaka okuyun.

Docker Compose ile Üretim Kurulumu (PostgreSQL ile)

Gerçek bir kurulumda SQLite yerine PostgreSQL kullanmanızı öneririm. PostgreSQL konteyner yeniden başladığında veriyi temiz şekilde korur, yedeklemesi kolaydır ve büyüdükçe sizi yarı yolda bırakmaz. Aşağıdaki docker-compose.yml hem n8n’i hem de PostgreSQL’i ayağa kaldırır:

services:
  postgres:
    image: postgres:16-alpine
    restart: unless-stopped
    environment:
      - POSTGRES_USER=n8n
      - POSTGRES_PASSWORD=cok-guclu-bir-parola
      - POSTGRES_DB=n8n
    volumes:
      - pg_data:/var/lib/postgresql/data

  n8n:
    image: docker.n8n.io/n8nio/n8n
    restart: unless-stopped
    ports:
      - "5678:5678"
    depends_on:
      - postgres
    environment:
      - DB_TYPE=postgresdb
      - DB_POSTGRESDB_HOST=postgres
      - DB_POSTGRESDB_DATABASE=n8n
      - DB_POSTGRESDB_USER=n8n
      - DB_POSTGRESDB_PASSWORD=cok-guclu-bir-parola
      - N8N_ENCRYPTION_KEY=uzun-rastgele-bir-anahtar
      - GENERIC_TIMEZONE=Europe/Istanbul
      - TZ=Europe/Istanbul
      - N8N_HOST=n8n.alanadiniz.com
      - N8N_PROTOCOL=https
      - WEBHOOK_URL=https://n8n.alanadiniz.com/
    volumes:
      - n8n_data:/home/node/.n8n

volumes:
  pg_data:
  n8n_data:

Dosyayı oluşturduktan sonra docker compose up -d ile başlatın. İleride güncellemek istediğinizde docker compose pull && docker compose up -d komutu imajı çekip konteyneri tazeler; verileriniz volume’lerde durduğu için kaybolmaz.

PostgreSQL’in 13 ila 17 sürümlerinin tamamı desteklenir; pratikte postgres:16-alpine kararlılık, performans ve uzun destek arasında en dengeli seçimdir. Not: PostgreSQL’e geçseniz bile /home/node/.n8n klasörünü yine de bir volume’e bağlayın, çünkü şifreleme anahtarı ve örnek logları orada durur.

Şifreleme Anahtarı (N8N_ENCRYPTION_KEY) Neden Kritik?

n8n, kayıtlı kimlik bilgilerinizi (API token’ları, parolalar) N8N_ENCRYPTION_KEY ile şifreler. Bu anahtarı kendiniz vermezseniz n8n ilk açılışta rastgele bir tane üretip .n8n klasörüne yazar. Sorun şu: o klasörü kaybeder veya başka sunucuya taşırken anahtarı götürmezseniz, tüm kayıtlı kimlik bilgileriniz çözülemez hale gelir ve “credential decryption error” hatası alırsınız. Bu yüzden anahtarı baştan kendiniz belirleyin, bir yere güvenli kaydedin ve kurulumdan sonra asla değiştirmeyin. Sunucu taşırken veya queue mode’da birden fazla worker çalıştırırken hepsinde aynı anahtarı kullanmak zorundasınız.

İlk Erişim ve HTTPS Güvenliği

Tarayıcıdan http://SUNUCU_IP:5678 adresine gidin; ilk açılışta yönetici (owner) hesabı oluşturma ekranı sizi karşılar. Buraya e-posta ve güçlü bir parola girin. n8n kendi başına SSL sunmaz; bu yüzden üretimde mutlaka bir reverse proxy (Nginx, Traefik veya Caddy) arkasına alıp HTTPS verin. Bu katman, editör arayüzünün ihtiyaç duyduğu WebSocket bağlantılarını da iletmelidir, aksi halde arayüz takılır.

Güvenlik için birkaç ek önlem: 5678 portunu doğrudan internete açık bırakmayın, sadece reverse proxy üzerinden erişin; sunucu güvenlik duvarında yalnızca 80/443 portlarını dışa açın; ve yönetici parolasını güçlü tutun. Sunucu tarafında çift katmanlı bir koruma istiyorsanız, Imunify360 ve CageFS izolasyonu gibi mekanizmalarla gelen yönetilen bir altyapı, n8n’inizi ağ katmanından uygulama katmanına kadar bir kalkan arkasına alır.

Yüksek Yük İçin Queue Mode (Redis + Worker)

Günde birkaç yüz çalıştırma için tek konteyner fazlasıyla yeter. Ama hacim büyüdüğünde (günde 10 binin üzerinde çalıştırma) tek süreç tıkanmaya başlar. Burada devreye queue mode girer: ana n8n süreci sadece arayüz ve sıralamayla ilgilenir, asıl iş yükünü ayrı worker süreçleri çeker. Aradaki kuyruğu Redis yönetir.

Günlük çalıştırma Önerilen mimari
1.000 altı Tek n8n + PostgreSQL
1.000 – 10.000 Queue mode + 1 worker
10.000 üzeri Queue mode + çok sayıda worker ve webhook işleyici

Queue mode için ana süreçte ve worker’larda EXECUTIONS_MODE=queue ayarlanır; Redis mesaj komisyoncusu, PostgreSQL ise kalıcı veri deposu olarak çalışır. Burada SQLite desteklenmez, PostgreSQL zorunludur. I/O ağırlıklı akışlarda (HTTP, veritabanı sorgusu) worker başına 10-20 eşzamanlılık makuldür; CPU ağırlıklı akışlarda (görsel işleme, büyük veri dönüşümü) eşzamanlılığı 2-5’te tutup worker sayısını artırmak daha sağlıklıdır.

Yedekleme: Asla Atlanmayacak Adım

İş akışlarınız büyüdükçe n8n kurulumunuz kritik bir altyapıya dönüşür; bir gün sunucu çökerse geri dönebilmeniz lazım. Üç şeyi düzenli yedekleyin: (1) PostgreSQL veritabanı (workflow’lar, çalıştırma geçmişi, kimlik bilgileri burada), (2) .n8n volume’ü (şifreleme anahtarı burada) ve (3) docker-compose.yml dosyanız. PostgreSQL’i kendi volume’ünde tutun ve her gece yedekleyin; büyük bir sürüm yükseltmesinden önce yedeği bir test sunucusunda geri yükleyip gerçekten açıldığını doğrulayın. Günlük otomatik yedekleme sunan bir hosting altyapısı, bu işin yarısını sizin yerinize halleder.

n8n ve Yapay Zeka Otomasyonu

n8n’in güncel sürümleri yerleşik AI Agent ve LLM düğümleriyle gelir. Bu düğümler sayesinde Ollama gibi kendi sunucunuzdaki yerel modelleri ya da bulut tabanlı LLM API’lerini akışlarınıza bağlayabilirsiniz. Örneğin gelen e-postaları yapay zekayla özetleyip kategorilere ayıran, ardından ilgili departmana yönlendiren bir asistan kurmak tamamen mümkündür. Yerel bir model kullanırsanız metin verisi de sunucunuzdan dışarı hiç çıkmaz; bu hem maliyeti düşürür hem de KVKK tarafında işinizi kolaylaştırır. Yapay zeka düğümleri RAM’i sevdiği için, bu senaryoda 8 GB ve üzeri bir sunucuyla başlamak akıllıca olur.

n8n Ücretsiz mi? Lisans ve Maliyet

Kafa karışıklığı genelde burada başlar, netleştirelim. n8n’in Community Edition (kendi sunucunuzda kurduğunuz sürüm) Sustainable Use License adı verilen fair-code lisansıyla gelir ve kendi iç işlerinizde sınırsız workflow, sınırsız çalıştırma ve sınırsız kullanıcıyla ücretsizdir. Tek harcamanız sunucudur. Lisansın koyduğu tek pratik sınır şudur: n8n’i bir ürün gibi paketleyip müşterilerinizin kendi hesaplarını bağlayıp akış kurduğu bir hizmete dönüştüremezsiniz; iç kullanım serbesttir.

Buna karşılık n8n Cloud (n8n’in yönettiği barındırma) aboneliklidir ve planlar çalıştırma kotasına göre fiyatlanır. Yani “n8n ücretli mi?” sorusunun cevabı tamamen nereye kurduğunuza bağlı: kendi sunucunuzda ücretsiz, n8n’in bulutunda abonelikli. Çoğu işletme için en ekonomik yol, n8n’i kendi VPS’ine kurmaktır.

Sıkça Sorulan Sorular

n8n ücretsiz mi?

Kendi sunucunuzda kurduğunuz Community Edition, fair-code (Sustainable Use License) lisansıyla iç kullanım için ücretsizdir; sınırsız workflow ve çalıştırma sunar. Yalnızca n8n’in yönettiği bulut sürümü (n8n Cloud) aboneliklidir.

n8n için nasıl bir sunucu gerekir?

Deneme için 1-2 GB RAM yeterlidir. Üretimde, PostgreSQL ile birlikte 2 vCPU ve 4 GB RAM rahat bir başlangıçtır. Yapay zeka düğümleri veya yoğun trafik için 8 GB ve üzeri öneririm.

SQLite mi PostgreSQL mi kullanmalıyım?

Denemede SQLite yeterli, ama üretimde mutlaka PostgreSQL kullanın. PostgreSQL konteyner yeniden başlatmalarına dayanıklıdır, yedeklemesi kolaydır ve büyüdükçe ölçeklenir. Queue mode için zaten zorunludur.

N8N_ENCRYPTION_KEY nedir, neden önemli?

n8n kayıtlı kimlik bilgilerini bu anahtarla şifreler. Baştan kendiniz belirleyip güvenli saklamazsanız, sunucu taşırken kimlik bilgileriniz çözülemez ve credential decryption error alırsınız. Kurulumdan sonra anahtarı asla değiştirmeyin.

n8n ile yapay zeka otomasyonu kurabilir miyim?

Evet. AI Agent ve LLM düğümleriyle yerel (Ollama) veya bulut modellerini akışlarınıza bağlayabilirsiniz. Yerel model kullanırsanız veri de sunucunuzdan dışarı çıkmaz.

Verilerim güvende mi?

Self-hosted kurulumda tüm veriler kendi sunucunuzda kalır; bu, gizlilik ve KVKK uyumu açısından büyük bir avantajdır. HTTPS reverse proxy ve sunucu güvenlik duvarı ile koruma katmanlarını eklemeyi unutmayın.

Webhook’larım neden çalışmıyor?

Genellikle WEBHOOK_URL ve N8N_HOST ayarlanmadığı içindir. Bu değişkenler boşsa n8n localhost adresli webhook üretir ve dış servisler erişemez. Domain ve HTTPS bilgilerini ortam değişkenlerine ekleyin.

n8n’i nasıl güncellerim?

Docker Compose ile: docker compose pull && docker compose up -d komutu imajı çeker ve konteyneri tazeler. Verileriniz volume’lerde durduğu için güncellemede kaybolmaz; yine de büyük sürümlerden önce yedek alın.

Tek konteyner ne zaman yetmez?

Günde yaklaşık 10 binin üzerinde çalıştırmaya çıktığınızda tek süreç tıkanır. O noktada queue mode’a geçip Redis ve ayrı worker süreçleri ekleyerek yükü dağıtmanız gerekir.

n8n İçin Güçlü ve Yerli Sunucu

İzmir’deki kendi veri merkezimizde, ayrılmış kaynaklı ve NVMe SSD’li VPS/bulut sunucularda n8n’i düşük gecikmeyle, kesintisiz ve güvenli çalıştırın. Günlük yedekleme ve 7/24 destek dahil.

VPS/Sunucu Çözümleri →

Türkiye'nin En Çok Tavsiye Edilen Domain, Hosting ve Bulut Servis Sağlayıcısı
İnternet sitesi Alastyr İnternet Sitesi
Yazı oluşturuldu 511

Benzer yazılar

Aramak istediğinizi üstte yazmaya başlayın ve aramak için enter tuşuna basın. İptal için ESC tuşuna basın.

Üste dön