YetkinBulutNet
Otomasyon

n8n Kurulumu: Docker ile Kendi Sunucunuzda Adım Adım

Sanal sunucuya Docker ile n8n kurmanın temel adımları: Compose dosyası, ters vekil, HTTPS, webhook adresi, yedek ve güncelleme.

n8n’i kendi sunucunuzda çalıştırmak, iş akışlarınızın ve verilerinizin sizde kalmasını sağlar. Bu yazıda bir Linux sanal sunucuya Docker ile n8n kurmanın temel adımlarını anlatıyoruz. n8n’in ne olduğunu ve neler yapabildiğini n8n nedir yazımızda bulabilirsiniz. Kurulumla uğraşmak istemiyorsanız n8n sunucusu hizmetinde kurulum ve güncellemeleri biz yaparız.

Başlamadan önce gerekenler

  • Root ya da sudo yetkili bir Linux sunucu. Boyutu için sanal sunucu paketlerine bakabilirsiniz; hafif kullanımda küçük bir paket başlangıç için yeterli olabilir, iş akışı ve çalıştırma sayısı arttıkça bellek ihtiyacı büyür.
  • Sunucuya yönlendirilmiş bir alan adı ya da alt alan adı (örneğin n8n.ornek.com). DNS’te bir A kaydı oluşturmanız gerekir; ayrıntı için A ve CNAME kaydı ekleme makalesine bakın.
  • SSH ile bağlantı. Bağlanmayı bilmiyorsanız SSH ile bağlanma makalesini izleyin.

1. Sunucuyu hazırlayın

Yeni bir sunucuda ilk iş sistemi güncellemek ve temel güvenlik ayarlarını yapmaktır. Adımlar için sanal sunucu ilk güvenlik ayarları makalesini kullanın. Ardından Docker’ı, dağıtımınız için Docker’ın resmi kurulum yönergesine göre kurun. Docker Compose eklentisi de aynı yönergede yer alır; kurulumdan sonra docker compose version komutunun çalıştığını doğrulayın.

2. n8n için Compose dosyası oluşturun

Bir klasör açın (örneğin /opt/n8n) ve içine compose.yaml adlı dosyayı aşağıdaki gibi yazın. Alan adını kendi adresinizle değiştirin.

services:
  n8n:
    image: n8nio/n8n
    restart: always
    ports:
      - "127.0.0.1:5678:5678"
    environment:
      - N8N_HOST=n8n.ornek.com
      - N8N_PORT=5678
      - N8N_PROTOCOL=https
      - N8N_WEBHOOK_URL=https://n8n.ornek.com/
      - N8N_PROXY_HOPS=1
      - GENERIC_TIMEZONE=Europe/Istanbul
      - TZ=Europe/Istanbul
      - N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true
    volumes:
      - n8n_data:/home/node/.n8n

volumes:
  n8n_data:

Birkaç noktaya dikkat edin:

  • 127.0.0.1:5678:5678 ifadesi n8n’i yalnızca sunucunun kendi içinden erişilebilir yapar. Dışarıya ters vekil üzerinden HTTPS ile açacağız; 5678 portunu doğrudan internete açmayın.
  • N8N_WEBHOOK_URL, n8n’in dışarıya göstereceği webhook adresini belirler. Ters vekil arkasında bu ayar olmazsa webhook adresleri yanlış üretilir. Eski n8n sürümlerinde aynı ayar WEBHOOK_URL adıyla geçer; kullandığınız sürümün dokümantasyonuna bakın.
  • n8n_data birimi (volume) iş akışlarınızı, kimlik bilgilerinizi ve şifreleme anahtarınızı tutar. Konteyneri silseniz bile veri bu birimde kalır.

Dosyayı kaydettikten sonra n8n’i başlatın:

docker compose up -d
docker compose logs -f n8n

Günlükte n8n’in dinlemeye başladığını gördükten sonra Ctrl+C ile günlük izlemeden çıkabilirsiniz; servis arka planda çalışmaya devam eder.

3. Ters vekil ve HTTPS

n8n’in internete HTTPS ile açılması için önüne bir ters vekil koymak gerekir. Kurulumu kolay olduğu için örnekte Caddy kullanıyoruz; Nginx ya da Traefik de kullanabilirsiniz. Caddy’yi resmi yönergesine göre kurduktan sonra yapılandırma dosyasına (genellikle /etc/caddy/Caddyfile) şu satırları ekleyin:

n8n.ornek.com {
    reverse_proxy 127.0.0.1:5678
}

Ardından Caddy’yi yeniden yükleyin (sudo systemctl reload caddy). Caddy, alan adınız sunucuya yönlendirilmişse Let’s Encrypt sertifikasını kendisi alır ve yeniler. İşin çalışması için DNS kaydının sunucunuzun IP adresini göstermesi ve 80 ile 443 portlarının erişilebilir olması gerekir.

4. Güvenlik duvarı

Yalnızca ihtiyaç duyduğunuz portları açın. Ubuntu ve Debian’da ufw ile örnek:

sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable

SSH portunu farklı bir değere taşıdıysanız ilk satırı buna göre değiştirin; aksi halde sunucuya erişiminizi kaybedebilirsiniz.

5. İlk giriş

Tarayıcıda https://n8n.ornek.com adresini açın. n8n ilk girişte bir yönetici hesabı oluşturmanızı ister. Güçlü bir parola seçin ve hesabı hemen oluşturun; kurulum ekranı açık kaldığı sürece ilk gelen kişi hesabı oluşturabilir.

6. Yedek alın

n8n verileri n8n_data biriminde durur. Bu birim, özellikle de içindeki şifreleme anahtarı olmadan kimlik bilgileri geri açılamaz. Düzenli yedek planı oluşturun, yedeği sunucudan ayrı bir yere kopyalayın ve geri yüklemeyi bir kez deneyin. Yedekleme ilkeleri için web sitesi yedekleme rehberine bakabilirsiniz. Ayrıca iş akışlarını n8n arayüzünden dışa aktararak ek bir kopya tutabilirsiniz.

7. Güncelleme

Güncellemeden önce yedek alın ve n8n’in sürüm notlarını okuyun; bazı sürümler davranış değişikliği getirebilir. Ardından Compose klasöründe şunları çalıştırın:

docker compose pull
docker compose up -d

Güncelleme sonrası iş akışlarınızın çalıştığını kontrol edin. Sürümü sabitlemek isterseniz image satırında n8nio/n8n yerine belirli bir sürüm etiketi kullanabilirsiniz; bu durumda güncellemeyi etiketi değiştirerek yaparsınız.

Sık karşılaşılan sorunlar

  • Sertifika alınamıyor: DNS kaydının doğru IP’yi gösterdiğini ve 80 ile 443 portlarının açık olduğunu kontrol edin. Yeni kayıtların yayılması zaman alabilir; bkz. DNS yayılımı ve TTL.
  • Webhook adresi localhost görünüyor: N8N_WEBHOOK_URL ayarını kontrol edin ve konteyneri yeniden oluşturun.
  • Bellek yetersizliği: Büyük veri işleyen iş akışları ya da çok sayıda eşzamanlı çalıştırma belleği zorlar. Kaynakları artırın ya da iş akışlarını parçalara ayırın.

Kurulum ve bakım size mi ait olsun?

Docker, ters vekil, güvenlik duvarı, yedek ve güncelleme işleri düzenli ilgi ister. Bunlarla uğraşmak istemiyorsanız hazır n8n sunucusu paketlerinde kurulum ve güncellemeler bizde olur. Kendi sunucunuzda çalışmayı tercih ederseniz sunucu seçimi için VDS seçimi yazımıza bakabilirsiniz.

Sonuç

Docker Compose ile n8n kurulumu birkaç dosyayla tamamlanır: Compose dosyası, ters vekil ve DNS kaydı. Asıl dikkat gerektiren kısım güvenlik, yedek ve güncellemedir. n8n’i internete doğrudan açmayın, şifreleme anahtarınızı yedekleyin ve güncellemeden önce yedek alın.

Sıkça sorulan sorular

n8n için en az ne kadar kaynak gerekir?

Hafif kullanımda küçük bir sanal sunucu başlangıç için yeterli olabilir. İş akışı sayısı, veri boyutu ve eşzamanlı çalıştırma arttıkça bellek ihtiyacı büyür; kullanımı izleyerek paketi yükseltin.

n8n’i neden doğrudan 5678 portundan açmamalıyım?

Bu bağlantı şifrelenmez ve doğrudan internete açıldığında saldırılara karşı korumasız kalır. Ters vekil arkasında HTTPS ile açmak hem şifreleme hem de erişim kontrolü sağlar.

Webhook adresim neden yanlış görünüyor?

Ters vekil arkasında n8n dışarıdan görünen adresi bilmez. N8N_WEBHOOK_URL ayarını kendi adresinize ayarlayıp konteyneri yeniden oluşturun.

Yedek nasıl alınır?

Veriler n8n_data biriminde durur. Bu birimi, özellikle şifreleme anahtarıyla birlikte, düzenli olarak sunucudan ayrı bir yere kopyalayın ve geri yüklemeyi deneyin.

n8n güncellemesi nasıl yapılır?

Önce yedek alın, sürüm notlarını okuyun, sonra Compose klasöründe docker compose pull ve docker compose up -d komutlarını çalıştırın.

Kurulumu sizin yapmanızı istersem?

n8n sunucusu paketlerinde kurulum ve güncellemeler bizdedir. Sürüm güncellemeleri müşterinin talebi üzerine yedek alınarak yapılır.

YetkinBulutNet Teknik Ekibi

Yazılarımız, hosting, sunucu, alan adı ve e-posta hizmetlerini yöneten teknik ekibimiz tarafından hazırlanır.

Son yazılar

Tüm yazılar
Altyapımız

Güvendiğimiz teknolojilerle çalışıyoruz