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.
Bu docker-compose dosyası, birbiriyle konuşan 5 ana servis oluşturur:
- 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ğin8n-mainservisine yönlendirir. - Postgres: n8n'in beyni. Tüm workflow'ları, kimlik bilgilerini (Credentials) ve çalıştırma (Executions) kayıtlarını tutan ana veritabanıdır.
- Redis: n8n'in "Sıramatik" cihazı. Gelen tüm işleri (API isteklerini) anında sıraya (kuyruğa) koyar.
- 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.
- 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.
- 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).
- 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!)
- DNS (Cloudflare vb.):
n8n.alanadiniz.comgibi 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.
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.
-
Bu GitHub reposundaki dosyaları klonlayın veya bir klasör oluşturup (
mkdir n8n-prod-queue && cd n8n-prod-queue)docker-compose.ymldosyasını içine koyun. -
.envdosyasını oluşturun.nano .envyazı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)
Artık tek yapmanız gereken motoru çalıştırmak:
docker compose up -dDocker 5 servisi de indirecek ve başlatacaktır. docker compose ps komutuyla 5 servisin de "running" (çalışıyor) olduğunu doğrulayın.
Son adım, "Kapı Görevlisi"ni yapılandırmak:
- NPM Arayüzüne Git: Tarayıcınızdan
http://SUNUCU_IP_ADRESİNİZ:81adresine gidin. - İlk Giriş:
- Email:
admin@example.com - Şifre:
changeme - (Giriş yaptıktan sonra yeni bir şifre belirleyin).
- Email:
- 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
- Domain Names:
- 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.
- SSL Certificate: Açılır menüden
- Save (Kaydet) butonuna basın.
Birkaç saniye içinde NPM, Cloudflare üzerinden Let's Encrypt sertifikanızı alacak ve yönlendirmeyi başlatacaktır.
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.
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