Arama Yap Mesaj Gönder
Biz Sizi Arayalım
+90
X

Lütfen Ülke (Bölge) Seçiniz

Türkiye (Türkçe)Türkiye (Türkçe) Almanya (German)Almanya (German) Worldwide (English)Worldwide (English)
X

Lütfen Para Birimi Seçiniz

Türk Lirası $ US Dollar Euro
X

Lütfen Ülke (Bölge) Seçiniz

Türkiye (Türkçe)Türkiye (Türkçe) Almanya (German)Almanya (German) Worldwide (English)Worldwide (English)
X

Lütfen Para Birimi Seçiniz

Türk Lirası $ US Dollar Euro

Bize Ulaşın

Konum Halkalı merkez mahallesi fatih cd ozgur apt no 46 , Küçükçekmece , İstanbul , 34303 , TR

n8n Queue Mode Kurulumu: PostgreSQL, Redis, Worker ve Task Runner

n8n’i PostgreSQL, Redis, ayrı worker ve task runner servisleriyle ölçeklenebilir Queue Mode mimarisinde kurun; webhook, şifreleme anahtarı, SSL, yedekleme ve izlemeyi tamamlayın.

n8n Queue Mode Kurulumu: PostgreSQL, Redis, Worker ve Task Runner
Bu rehberin sonunda ne çalışacak?

n8n’i PostgreSQL, Redis, ayrı worker ve task runner servisleriyle ölçeklenebilir Queue Mode mimarisinde kurun; webhook, şifreleme anahtarı, SSL, yedekleme ve izlemeyi tamamlayın. Komutlar kopyalanabilir biçimde verilmiştir; örnek alan adları ve parolalar çalıştırılmadan önce kendi değerlerinizle değiştirilmelidir.

Kurulum öncesi mimari ve gereksinimler

  • Ubuntu 24.04 LTS ve Docker Compose v2
  • Başlangıç için 4 vCPU, 8 GB RAM, NVMe disk
  • n8n.example.com DNS A kaydı
  • PostgreSQL, Redis, main, worker, webhook ve runner servisleri için kalıcı plan

DNS ve port planı

  • 22/TCP: SSH
  • 80/443 TCP: Nginx ve HTTPS
  • 5678/TCP: yalnız localhost veya özel Docker ağı
  • 5432/TCP: PostgreSQL yalnız iç ağ
  • 6379/TCP: Redis yalnız iç ağ

Uygulamalı kurulum adımları

1. Docker kurulumu
sudo apt update
sudo apt install -y ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo $VERSION_CODENAME) stable" | sudo tee /etc/apt/sources.list.d/docker.list
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
2. Güçlü sırlar
openssl rand -hex 32
openssl rand -base64 48
openssl rand -base64 36
3. Ortam dosyası
.env
N8N_HOST=n8n.example.com
N8N_PROTOCOL=https
WEBHOOK_URL=https://n8n.example.com/
GENERIC_TIMEZONE=Europe/Istanbul
N8N_ENCRYPTION_KEY=BURAYA_64_KARAKTER_RASTGELE_DEGER
POSTGRES_USER=n8n
POSTGRES_PASSWORD=GUCLU_POSTGRES_PAROLASI
POSTGRES_DB=n8n
QUEUE_BULL_REDIS_HOST=redis
EXECUTIONS_MODE=queue
EXECUTIONS_DATA_PRUNE=true
EXECUTIONS_DATA_MAX_AGE=336
4. Compose yapısı
services:
  postgres:
    image: postgres:16-alpine
    restart: unless-stopped
    environment:
      POSTGRES_USER: ${POSTGRES_USER}
      POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
      POSTGRES_DB: ${POSTGRES_DB}
    volumes:
      - postgres_veri:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}"]
      interval: 10s
      timeout: 5s
      retries: 10
  redis:
    image: redis:7-alpine
    restart: unless-stopped
    command: redis-server --appendonly yes
    volumes:
      - redis_veri:/data
  n8n:
    image: docker.n8n.io/n8nio/n8n:2
    restart: unless-stopped
    env_file: .env
    environment:
      DB_TYPE: postgresdb
      DB_POSTGRESDB_HOST: postgres
      DB_POSTGRESDB_DATABASE: ${POSTGRES_DB}
      DB_POSTGRESDB_USER: ${POSTGRES_USER}
      DB_POSTGRESDB_PASSWORD: ${POSTGRES_PASSWORD}
      EXECUTIONS_MODE: queue
      QUEUE_BULL_REDIS_HOST: redis
      N8N_RUNNERS_ENABLED: "true"
    ports:
      - 127.0.0.1:5678:5678
    volumes:
      - n8n_veri:/home/node/.n8n
    depends_on:
      postgres:
        condition: service_healthy
  worker:
    image: docker.n8n.io/n8nio/n8n:2
    restart: unless-stopped
    command: worker --concurrency=5
    env_file: .env
    environment:
      DB_TYPE: postgresdb
      DB_POSTGRESDB_HOST: postgres
      DB_POSTGRESDB_DATABASE: ${POSTGRES_DB}
      DB_POSTGRESDB_USER: ${POSTGRES_USER}
      DB_POSTGRESDB_PASSWORD: ${POSTGRES_PASSWORD}
      EXECUTIONS_MODE: queue
      QUEUE_BULL_REDIS_HOST: redis
      N8N_RUNNERS_ENABLED: "true"
    depends_on:
      - redis
      - postgres
volumes:
  postgres_veri:
  redis_veri:
  n8n_veri:
5. Başlatma ve sağlık
sudo docker compose config
sudo docker compose up -d
sudo docker compose ps
sudo docker compose logs --since 10m n8n worker
curl -I http://127.0.0.1:5678/healthz
6. PostgreSQL yedeği
sudo docker compose exec -T postgres pg_dump -U n8n -d n8n -Fc > n8n-$(date +%F).dump
sha256sum n8n-$(date +%F).dump
7. Geri yükleme
sudo docker compose stop n8n worker
sudo docker compose exec -T postgres dropdb -U n8n --if-exists n8n
sudo docker compose exec -T postgres createdb -U n8n n8n
sudo docker compose exec -T postgres pg_restore -U n8n -d n8n --clean --if-exists < n8n-YEDEK.dump
sudo docker compose up -d
8. Nginx reverse proxy
sudo apt update
sudo apt install -y nginx certbot python3-certbot-nginx
sudo tee /etc/nginx/sites-available/n8n.example.com > /dev/null <<'NGINX'
server {
    listen 80;
    listen [::]:80;
    server_name n8n.example.com;
    client_max_body_size 10G;
    proxy_read_timeout 3600;
    proxy_send_timeout 3600;
    location / {
        proxy_pass http://127.0.0.1:5678;
        proxy_http_version 1.1;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}
NGINX
sudo ln -s /etc/nginx/sites-available/n8n.example.com /etc/nginx/sites-enabled/n8n.example.com
sudo nginx -t
sudo systemctl reload nginx
9. Let’s Encrypt SSL ve yenileme testi
sudo certbot --nginx -d n8n.example.com --redirect --agree-tos --no-eff-email -m [email protected]
sudo certbot renew --dry-run
curl -I https://n8n.example.com
openssl s_client -connect n8n.example.com:443 -servername n8n.example.com </dev/null 2>/dev/null | openssl x509 -noout -subject -issuer -dates

Üretime geçmeden önce bilinmesi gerekenler

Üretim notu
Queue Mode’da main ve tüm worker süreçleri aynı n8n sürümünü ve aynı N8N_ENCRYPTION_KEY değerini kullanmalıdır; aksi hâlde kayıtlı kimlik bilgileri çözülemez.
Üretim notu
Redis kuyruktur, kalıcı iş verisinin ana kaynağı PostgreSQL’dir. Yedek stratejisi PostgreSQL dökümü, n8n veri volume’u, encryption key ve Compose dosyasını birlikte kapsamalıdır.
Üretim notu
Worker concurrency değerini körlemesine yükseltmeyin. CPU/RAM tüketimi, dış API hız sınırları ve aynı anda çalışan Code node işlerinin süresi ölçülmelidir.
Üretim notu
n8n 2.x queue kurulumunda task runner mimarisi ayrıca dikkate alınmalıdır; çok makineli yapıda her worker için uyumlu runner sidecar planlanır.

Yaygın hatalar ve kök nedenleri

Belirti / SymptomKök neden ve çözüm / Root cause and fix
Worker işi almıyorEXECUTIONS_MODE, Redis host, encryption key ve n8n sürümlerinin main ile aynı olduğu doğrulanır.
Webhook yanlış URL üretiyorWEBHOOK_URL ve N8N_EDITOR_BASE_URL dışarıdan erişilen HTTPS adresi olarak tanımlanır.
Credentials could not be decryptedEski kurulumdaki N8N_ENCRYPTION_KEY geri getirilir; yeni anahtarla mevcut credential açılamaz.
PostgreSQL bağlantısı tükeniyorWorker/concurrency sayısı düşürülür, bağlantı sayısı ölçülür ve gerekirse PgBouncer eklenir.

Kurulum sonrası doğrulama listesi

  • Tüm container veya servisler healthy/running durumda
  • Alan adı HTTPS üzerinden geçerli sertifika ile açılıyor
  • Yalnız gerekli portlar dışarıdan erişilebilir
  • Yönetici hesabında güçlü parola ve MFA etkin
  • Yedek dosyasının checksum değeri kaydedildi
  • Ayrı ortamda en az bir geri yükleme testi tamamlandı
  • Loglarda tekrarlayan kritik hata bulunmuyor
  • Yeniden başlatma sonrası servisler otomatik açılıyor

Resmî teknik kaynaklar

İlgili EKA Sunucu rehberleri

Sık sorulan sorular

Bu kurulum üretimde kullanılabilir mi?

Evet; fakat örnek değerler değiştirilmeden, erişim sınırları uygulanmadan ve geri yükleme testi yapılmadan üretime alınmamalıdır.

Minimum sunucu yeterli olur mu?

Minimum değer yalnız kurulumun açılması içindir. Eş zamanlı kullanıcı, veri büyümesi ve arka plan işleri ölçülerek kaynak payı bırakılmalıdır.

Cloudflare kullanılabilir mi?

Evet. SSL modu Full (strict), doğru origin sertifikası ve WebSocket/gerçek IP başlıkları uygulamanın gereksinimine göre ayarlanmalıdır.

Güncelleme otomatik yapılmalı mı?

Major sürümler otomatik güncellenmemelidir. Sürüm notu, veritabanı migration bilgisi, yedek ve geri dönüş imajı kontrol edilmelidir.

Hangi yedekler alınmalı?

Veritabanı, yüklenen dosyalar, volume verileri, yapılandırma, şifreleme anahtarları ve kullanılan sürüm etiketi aynı geri dönüş setinde tutulmalıdır.

VPS mi GPU sunucu mu?

Web paneli ve standart iş yükleri için NVMe VPS yeterli olabilir. Model inference, OCR hızlandırma veya video transcoding varsa uygun GPU gerekir.

Kurulum için bize ulaşın

n8n’i PostgreSQL, Redis, ayrı worker ve task runner servisleriyle ölçeklenebilir Queue Mode mimarisinde kurun; webhook, şifreleme anahtarı, SSL, yedekleme ve izlemeyi tamamlayın.

VPS paketlerini inceleyinKurulum için bize ulaşın
Top