Ana içeriğe geç

n8n, Open WebUI ve AI uygulamaları#

Bu araçların bulut sürümleri kullanışlıdır, ta ki üç şeyden biri olana kadar: kotayı aşarsınız, fiyat kullandıkça artar, ya da işlediğiniz veriyi başkasının sunucusuna göndermek istemezsiniz.

Üçü de kendi sunucunuzda barındırarak çözülür. Bu sayfa nasıl yapılacağını anlatır.

En kısa yol: asistanınıza söyleyin

VeriTeknik MCP'yi yapay zeka asistanınıza (Claude, ChatGPT, Cursor...) bağladıysanız söylemeniz yeterli:

"n8n kurulu küçük bir sunucu aç, önce bana aylık tutarı söyle."

Asistanınız fiyatı gösterir, onayınızla sunucuyu n8n hazır kurulu olarak açar. Aynı yol Open WebUI, LibreChat, AnythingLLM, Flowise ve Activepieces için de geçerli; alan adını ve HTTPS'i de aynı sohbette isteyebilirsiniz. ChatGPT'de sunucu açma aracı yoktur; orada aşağıdaki panel yolunu kullanın. Hangi izinleri açacağınız Deploy Rehberi'nde.

Bir asistan kullanmıyorsanız bu uygulamaları panelden tek tıkla da kurabilirsiniz: sunucunuzu aldıktan sonra panelden uygulamayı seçmeniz yeterli.

Bu sayfa, listede olmayan bir şey kurmak istediğinizde ya da nasıl çalıştığını anlamak istediğinizde işinize yarar.


Ne kadar sunucu gerekir?#

Uygulama Minimum Rahat
n8n (otomasyon) 1 vCPU / 2 GB 2 vCPU / 4 GB
Open WebUI (harici API ile) 1 vCPU / 2 GB 2 vCPU / 4 GB
Open WebUI + Ollama (yerel model) 4 vCPU / 16 GB GPU gerekir

n8n kurulumu#

Compose ile kurmak en temizi. /opt/n8n/docker-compose.yml:

services:
  n8n:
    image: docker.n8n.io/n8nio/n8n:latest
    restart: unless-stopped
    ports:
      - "127.0.0.1:5678:5678"
    environment:
      - N8N_HOST=n8n.example.com
      - N8N_PORT=5678
      - N8N_PROTOCOL=https
      - WEBHOOK_URL=https://n8n.example.com/
      - GENERIC_TIMEZONE=Europe/Istanbul
      - N8N_ENCRYPTION_KEY=${N8N_ENCRYPTION_KEY}
    volumes:
      - n8n_data:/home/node/.n8n

volumes:
  n8n_data:

Şifreleme anahtarını üretin ve .env dosyasına koyun:

cd /opt/n8n
echo "N8N_ENCRYPTION_KEY=$(openssl rand -hex 32)" > .env
chmod 600 .env
docker compose up -d

N8N_ENCRYPTION_KEY'i kaybetmeyin

n8n, bağladığınız servislerin kimlik bilgilerini bu anahtarla şifreler. Anahtarı kaybederseniz kayıtlı tüm kimlik bilgileri okunamaz hale gelir ve hepsini yeniden girmeniz gerekir. Yedekleyin.

127.0.0.1:5678 bağlaması bilinçlidir - neden önemli olduğu Docker sayfasında.


Open WebUI kurulumu#

/opt/openwebui/docker-compose.yml:

services:
  open-webui:
    image: ghcr.io/open-webui/open-webui:main
    restart: unless-stopped
    ports:
      - "127.0.0.1:8080:8080"
    environment:
      - OPENAI_API_BASE_URL=https://api.veriteknik.com/v1
      - OPENAI_API_KEY=${OPENAI_API_KEY}
      - WEBUI_SECRET_KEY=${WEBUI_SECRET_KEY}
    volumes:
      - openwebui_data:/app/backend/data

volumes:
  openwebui_data:
cd /opt/openwebui
{
  echo "OPENAI_API_KEY=sk-..."
  echo "WEBUI_SECRET_KEY=$(openssl rand -hex 32)"
} > .env
chmod 600 .env
docker compose up -d

Alan adına bağlayın#

Her uygulama için bir alt alan adı kullanmak en temizi: n8n.example.com, chat.example.com.

DNS'te her biri için A kaydı açın, sonra Nginx:

server {
    listen 80;
    server_name n8n.example.com;

    location / {
        proxy_pass http://127.0.0.1:5678;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        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_read_timeout 300s;
    }
}

WebSocket ve uzun istekler

Upgrade / Connection başlıkları n8n'in canlı yürütme görünümü ve Open WebUI'nin akan yanıtları için zorunludur. proxy_read_timeout da uzatılmalı; varsayılan 60 saniye uzun bir AI yanıtını yarıda keser.

sudo nginx -t && sudo systemctl reload nginx
sudo certbot --nginx -d n8n.example.com

Bunları mutlaka yapın#

Kimlik doğrulamayı açın. İki uygulama da ilk açılışta yönetici hesabı oluşturmanızı ister. Bunu hemen yapın - kurup açık bırakılan bir n8n, internetteki herkesin sizin adınıza iş akışı çalıştırabileceği bir makinedir.

Yedek alın. Veri Docker volume'lerinde:

docker run --rm \
  -v n8n_n8n_data:/data \
  -v /opt/yedek:/yedek \
  alpine tar czf /yedek/n8n-$(date +%F).tar.gz -C /data .

Panelden snapshot almak da bir seçenek ve daha kolay.

Güncel tutun. Bu projeler hızlı ilerliyor:

cd /opt/n8n && docker compose pull && docker compose up -d && docker image prune -f

Morpheus ile

"n8n'i güncelle ve eski imajları temizle"

"her ayın ilk günü n8n yedeği al ve bana bildir"


Kontrol listesi#

  • [ ] docker compose ps → Up
  • [ ] sudo ss -tlnp → uygulama portları yalnızca 127.0.0.1
  • [ ] Yönetici hesabı oluşturuldu, uygulama açık değil
  • [ ] https://n8n.example.com kilit simgesiyle açılıyor
  • [ ] Canlı yürütme / akan yanıt çalışıyor (WebSocket başlıkları doğru)
  • [ ] N8N_ENCRYPTION_KEY ve .env dosyaları yedeklendi
  • [ ] Yedek alma yöntemi belirlendi ve bir kez test edildi