Skip to content

Nginx Proxy Manager ve SSL ile ölçeklenebilir n8n Kuyruk Modu (4GB+ RAM) için Docker Compose yapılandırması

Notifications You must be signed in to change notification settings

tahayasinkoksal/n8n-queue-docker-ssl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

n8n Kuyruk Modu (Queue Mode) Kurulumu: Nihai Rehber (Docker + SSL)

Bu rehber, n8n'i ölçeklenebilir, güvenli (SSL'li) ve port numarası olmadan (https://n8n.alanadiniz.com gibi) çalıştırmak için gereken docker-compose yapılandırmasını içerir.

Bu kurulum, 1GB RAM'li sunucularda yaşanan Out of Memory (Bellek Yetersizliği) çökmelerini engellemek için tasarlanmıştır ve minimum 4GB RAM gerektirir.

🚀 Mimari (5 Servisli Güç Merkezi)

Bu docker-compose dosyası, birbiriyle konuşan 5 ana servis oluşturur:

  1. Nginx Proxy Manager (NPM): "Kapı Görevlisidir". Gelen https:// (Port 443) trafiğini karşılar, SSL sertifikasını (Let's Encrypt) otomatik olarak alır ve yönetir. Trafiği n8n-main servisine yönlendirir.
  2. Postgres: n8n'in beyni. Tüm workflow'ları, kimlik bilgilerini (Credentials) ve çalıştırma (Executions) kayıtlarını tutan ana veritabanıdır.
  3. Redis: n8n'in "Sıramatik" cihazı. Gelen tüm işleri (API isteklerini) anında sıraya (kuyruğa) koyar.
  4. n8n-main: "Resepsiyonist". n8n arayüzünü (UI) çalıştırır, API isteklerini alır, anında "İşiniz alındı" (200 OK) yanıtını döner ve işi Redis'e atar.
  5. n8n-worker: "Kasalar". Redis'teki (Sıramatik) işleri sürekli dinler. Boşta olan "kasa" (worker thread), sıradaki işi çeker ve arka planda çalıştırır.

🛠️ Kurulum Adımları

1. Ön Hazırlık (Sunucu ve DNS)

  1. Sunucu: En az 4GB RAM ve 2 vCPU'ya sahip bir Ubuntu 22.04/24.04 sunucu edinin. (1GB RAM'li sunucular bu mimariyi çalıştıramaz).
  2. Güvenlik Duvarı (Firewall): Sunucunuzun güvenlik duvarından şu portlara "Gelen" (Inbound) izni verin:
    • TCP 22 (SSH - Sadece sizin IP'nizden)
    • TCP 80 (HTTP - Herkesten, SSL alımı için)
    • TCP 443 (HTTPS - Herkesten, SSL'li site için)
    • TCP 81 (NPM Admin Paneli - Sadece sizin IP'nizden!)
  3. DNS (Cloudflare vb.):
    • n8n.alanadiniz.com gibi bir A kaydı oluşturun ve sunucunuzun IP adresine yönlendirin.
    • "Proxy status" (Proxy durumu) ☁️ Turuncu Bulut (Proxied) olarak ayarlanmalıdır.
    • Cloudflare "SSL/TLS" sekmesinde, SSL modunun "Full" (Tam) olduğundan emin olun.

2. Docker Kurulumu

Sunucunuza SSH ile bağlanın ve Docker'ı kurun:

# Docker'ın en güncel sürümünü kur
curl -fsSL [https://get.docker.com](https://get.docker.com) -o get-docker.sh
sudo sh get-docker.sh

# Docker Compose eklentisini kur
sudo apt-get update
sudo apt-get install -y docker-compose-plugin

# Docker'ı sudo'suz çalıştırmak için
sudo usermod -aG docker $USER

ÇOK ÖNEMLİ: exit yazıp sunucudan çıkın ve SSH ile yeniden bağlanın.

3. n8n Yapılandırması

  1. Bu GitHub reposundaki dosyaları klonlayın veya bir klasör oluşturup (mkdir n8n-prod-queue && cd n8n-prod-queue) docker-compose.yml dosyasını içine koyun.

  2. .env dosyasını oluşturun. nano .env yazın ve içine şunu yapıştırın:

    # --- Veritabanı Ayarları ---
    # Lütfen bu şifreyi değiştirin
    POSTGRES_DB=n8n
    POSTGRES_USER=n8n
    POSTGRES_PASSWORD=BURAYA_ÇOK_GÜÇLÜ_BİR_ŞİFRE_KOYUN
    
    # --- n8n Ayarları ---
    # Terminalde 'openssl rand -hex 32' komutuyla bir key oluşturup yapıştırın
    N8N_ENCRYPTION_KEY=BURAYA_OLUŞTURDUĞUNUZ_32_HANELİ_KEYİ_YAPIŞTIRIN
    
    # --- Alan Adı Ayarı ---
    # SSL'li ve portsuz tam adresiniz
    WEBHOOK_URL=[https://n8n.alanadiniz.com/](https://n8n.alanadiniz.com/)

    (Gerekli yerleri kendinize göre düzenleyin, kaydedin ve çıkın: Ctrl+O, Enter, Ctrl+X)

4. Sistemi Başlatma

Artık tek yapmanız gereken motoru çalıştırmak:

docker compose up -d

Docker 5 servisi de indirecek ve başlatacaktır. docker compose ps komutuyla 5 servisin de "running" (çalışıyor) olduğunu doğrulayın.


🔒 Adım 5: SSL'i Aktifleştirme (Nginx Proxy Manager)

Son adım, "Kapı Görevlisi"ni yapılandırmak:

  1. NPM Arayüzüne Git: Tarayıcınızdan http://SUNUCU_IP_ADRESİNİZ:81 adresine gidin.
  2. İlk Giriş:
    • Email: admin@example.com
    • Şifre: changeme
    • (Giriş yaptıktan sonra yeni bir şifre belirleyin).
  3. Proxy Host Oluştur (Sihirli Kısım):
    • NPM arayüzünde "Hosts" > "Proxy Hosts" sekmesine gidin.
    • "Add Proxy Host" butonuna tıklayın.
    • Details Sekmesi:
      • Domain Names: n8n.alanadiniz.com (Sizin alan adınız)
      • Scheme: http
      • Forward Hostname / IP: n8n-main (Bu, docker-compose'daki servisimizin adıdır)
      • Forward Port: 5678
    • SSL Sekmesi:
      • SSL Certificate: Açılır menüden Request a new SSL Certificate (Yeni bir SSL sertifikası iste) seçin.
      • Force SSL: (Zorla SSL) kutucuğunu işaretleyin.
      • Email Address for Let's Encrypt: (Geçerli bir e-posta adresinizi girin).
      • "I Agree..." (Kabul ediyorum) kutucuğunu işaretleyin.
    • Save (Kaydet) butonuna basın.

Birkaç saniye içinde NPM, Cloudflare üzerinden Let's Encrypt sertifikanızı alacak ve yönlendirmeyi başlatacaktır.

✅ Sonuç

Tarayıcınızı açın ve https://n8n.alanadiniz.com adresine gidin.

Tebrikler! Artık port numarası olmayan, tam SSL'li ve 15 "kasası" (concurrency: 15) ile yüzlerce anlık isteği çökmeden yönetebilen, profesyonel bir n8n Kuyruk Modu kurulumunuz var.


İletişim | Contact

EN: For more information, please get in touch.
TR: Daha fazla bilgi için lütfen iletişime geçin.

Mail: info@tahayasinkoksal.com.tr
Web: www.tahayasinkoksal.com.tr
Linkedin: https://tr.linkedin.com/in/tahayasinkoksal

About

Nginx Proxy Manager ve SSL ile ölçeklenebilir n8n Kuyruk Modu (4GB+ RAM) için Docker Compose yapılandırması

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published