Bu rehberde gerçek bir Windows VPS üzerinde n8n’i npm ile kurduk, npm 12 kaynaklı SQLite install-script problemini çözdük, Registered Community Edition yapılandırmasını tamamladık ve Ollama’yı AI Agent’a bağlayarak Chat Trigger → AI Agent → Ollama Chat Model zincirini gerçek ekran görüntüleriyle adım adım doğruladık.
Windows VPS
├── n8n 2.33.7 → :5678
│ └── Chat Trigger → AI Agent → Calculator
└── Ollama 0.32.6 → :11434
├── functiongemma:latest
└── qwen3:1.7bBu rehberde Windows Server üzerinde n8n workflow otomasyon platformunu npm ile kuruyor, Ollama’nın yerel API’sine bağlanıyor ve Chat Trigger → AI Agent → Ollama Chat Model akışını oluşturuyoruz. Tüm model çalıştırma katmanı VPS üzerindeki Ollama servisinde kalıyor; n8n ise tetikleyici, agent ve araç bağlantılarını yönetiyor.
Test ortamında Node.js 22.23.2, npm 12.0.2, Ollama 0.32.6 ve n8n 2.33.7 kullanıldı. İlk model testleri functiongemma:latest ile yapıldı; daha sonra çok dilli sohbet ve agent senaryosu için qwen3:1.7b eklendi. Bu sürümler rehberin 9 Ağustos 2026 tarihindeki gerçek test ortamını temsil eder.
Chat Trigger → AI Agent
├── Ollama Chat Model → 127.0.0.1:11434
└── Calculator Tool
n8n Editor → localhost:5678Kuruluma Windows PowerShell’i Yönetici olarak çalıştırarak başladık. n8n npm üzerinden kurulacağı için Node.js ve npm’in erişilebilir olması gerekir. Aynı anda Ollama sürümünü ve daha önce indirilmiş modelleri de kontrol ettik.
Test sisteminde Node.js v22.23.2, npm 12.0.2 ve Ollama 0.32.6 görünüyordu. n8n’in resmî npm kurulum dokümantasyonu Node.js 20.19 ile 24.x arasını desteklediğini belirtiyor; bu nedenle Node.js 22 test ortamı uygun aralıktaydı.
node --version
npm --version
ollama --version
ollama listn8n’i npm üzerinden global olarak kurduk. Kurulum sırasında çok sayıda peer dependency ve deprecated uyarısı görülebilir; kritik olan komutun hata ile kesilmemesi ve sonunda paketlerin eklendiğinin görünmesidir.
İlk kurulum testimizde 2162 paket eklendi. Ardından n8n --version komutu 2.33.7 sonucunu verdi. Rehber boyunca sürümü sabitlemek için sonraki temiz kurulumda [email protected] kullandık.
npm install -g n8nn8n --versionn8n’i ilk kez çalıştırdığımızda veritabanı bağlantısı tekrar tekrar denenmesine rağmen SQLite paketi bulunamadı. Önceki npm kurulum çıktısında sqlite3 paketinin install scriptinin engellendiği görülüyordu. Bu yüzden n8n process’i 5678 portunu açmadan kapanıyordu.
Çözüm olarak yalnız sqlite3 install scriptine kullanıcı seviyesinde izin verdik, mevcut n8n kurulumunu kaldırdık ve aynı n8n sürümünü temiz biçimde yeniden kurduk. Yeniden kurulumdan sonra sqlite3 artık blocked listesinde görünmedi ve n8n migration aşamasına geçebildi.
Burada tüm install scriptleri topluca açmak yerine yalnız ihtiyacımız olan sqlite3 paketine izin vermek daha kontrollü bir yaklaşımdır. npm sürümünüz farklıysa aynı davranış görülmeyebilir.
npm config set allow-scripts=sqlite3 --location=usernpm config get allow-scriptsnpm uninstall -g n8nnpm install -g [email protected]n8n --version



SQLite sorunu çözüldükten sonra n8n ilk açılışta veritabanı migration işlemlerini yürüttü. İşlem sonunda n8n Task Broker başladı, sürüm 2.33.7 olarak raporlandı ve “Editor is now accessible via: http://localhost:5678” mesajı görüldü.
Terminalde Python Task Runner ve gelecekteki yapılandırma değişiklikleriyle ilgili uyarılar da bulunuyordu. Bunlar bu kurulumun editörü açmasını engellemedi. Bu rehberin test kapsamı n8n’in Windows üzerinde fonksiyonel şekilde ayağa kalkmasıdır; uzun süreli üretim işletimi için güncel resmî self-hosting önerilerini ayrıca değerlendirin.
n8nhttp://localhost:5678Tarayıcıda ilk açılışta owner hesabı oluşturma ekranı geldi. E-posta, ad, soyad ve güçlü parola bilgileri girildikten sonra n8n kısa kişiselleştirme sorularını gösterdi.
n8n ayrıca Community Edition için bazı ek özellikleri açan ücretsiz aktivasyon anahtarı teklif etti. Bu adım zorunlu değildir. Test ortamında anahtar talep edilip Settings → Usage and plan bölümünden aktive edildi ve “Registered” etiketi görüldü.
Ekran görüntülerinizde e-posta veya aktivasyon anahtarı gibi bilgileri yayınlamadan önce kendi yayın politikanıza göre kaldırabilirsiniz.






Boş workflow editörüne geçmeden önce Ollama’nın yerel API’sinin gerçekten cevap verdiğini doğruladık. PowerShell’de /api/tags çağrısı FunctionGemma ve Gemma3 modellerini JSON olarak döndürdü. Bu test, daha sonra n8n tarafında yaşayacağımız sorunların Ollama servisinin tamamen kapalı olmasından kaynaklanmadığını anlamamızı sağladı.
n8n ve Ollama aynı Windows VPS üzerinde çalıştığı için hedef servis yerel 11434 portudur. Ollama’yı doğrudan public internete açmadan yerel bağlantı kullanmak daha güvenli bir temel sağlar.
Invoke-RestMethod -Uri "http://127.0.0.1:11434/api/tags" -Method Get | ConvertTo-Json -Depth 5İlk düğüm olarak Chat Trigger mantığındaki “When chat message received” node’unu ekledik. Ardından AI Agent node’unu ekleyip Chat Trigger’ın ana çıkışını AI Agent’ın sol girişine bağladık.
Bu ana bağlantı kritik önemdedir. Workflow JSON’unda Chat Trigger için main bağlantısı boş kalırsa kullanıcı mesajı tetikleyicide görünür fakat AI Agent otomatik çalışmaz. Rehberin ilerleyen bölümünde bu bağlantıyı JSON seviyesinde de doğruladık.
AI Agent’ın Chat Model girişinden Language Models menüsünü açıp Ollama Chat Model node’unu ekledik. Credential ekranında ilk olarak n8n’in varsayılan yerel adresi olan http://localhost:11434 denendi; test ortamında bu bağlantı “connection refused” ile sonuçlandı.
Aynı Ollama API’si PowerShell’de 127.0.0.1 üzerinden cevap verdiği için Base URL değerini http://127.0.0.1:11434 olarak kullandık. Bu değişiklikten sonra credential kaydedilebildi. API Key alanı varsayılan yerel Ollama kurulumunda boş bırakıldı.
Bir sonraki aşamada model seçenekleri ilk denemede yüklenmedi ve “Error fetching options” görüldü. Model alanındaki Refresh List işlemi sonrasında functiongemma:latest ve gemma3:270m listelendi. Yani servis bağlantısı doğruydu; arayüzdeki model listesinin yeniden yüklenmesi gerekiyordu.
http://127.0.0.1:11434








İlk agent modeli olarak functiongemma:latest seçildi. Ollama API çıktısında bu modelin tools yeteneği görünüyordu. AI Agent’ın Tool girişine Calculator düğümünü de bağladık.
FunctionGemma küçük ve function-calling odaklı bir modeldir; doğal Türkçe sohbet kalitesi için ana model olarak ideal değildir. Test sırasında araç kullanımı ve agent davranışı sınırlı kaldığı için daha genel ve çok dilli bir model olan Qwen3’e geçtik.
Qwen3 ailesi çok dilli kullanım ve agent/tool senaryoları için daha uygun bir seçenek olduğu için test VPS’ine qwen3:1.7b modelini indirdik. İndirme yaklaşık 1.4 GB olarak tamamlandı ve ollama list içinde doğrulandı.
1.7B sınıfı model düşük kaynaklı VPS üzerinde entegrasyon akışını doğrulamak için seçildi. Daha iyi cevap kalitesi, daha tutarlı Türkçe ve güçlü agent davranışı gerekiyorsa RAM/GPU bütçenize göre daha büyük bir Qwen3 modeli veya başka bir tool-capable model kullanabilirsiniz.
ollama pull qwen3:1.7bollama listAI Agent tek başına Execute step ile test edildiğinde girişte chatInput bulunmadığı için “No prompt specified” hatası alınabilir. Normal chat akışında mesaj Chat Trigger’dan gelir. Bu nedenle Source for Prompt alanını Define below olarak bırakıp Prompt alanını Expression modunda {{ $json.chatInput }} şeklinde tanımladık.
Asıl otomatik çalışma sorunu workflow JSON’unda ortaya çıktı: “When chat message received” düğümünün main bağlantısı boş bir dizi olarak kayıtlıydı. Görsel olarak çizgi varmış gibi görünse bile JSON’da AI Agent hedefi yoksa execution tetikleyicide biter. main bağlantısına AI Agent hedefi eklenince zincir otomatik çalışmaya başladı.
{{ $json.chatInput }}"When chat message received": {
"main": [[{
"node": "AI Agent",
"type": "main",
"index": 0
}]]
}Bağlantı JSON’u düzeltildikten sonra Chat alanından gönderilen mesaj Chat Trigger’dan AI Agent’a ve oradan Ollama Chat Model’e otomatik olarak ilerledi. Execution loglarında üç node’un da çalıştığı ve workflow’un başarıyla tamamlandığı görüldü.
Son ekran görüntüsünde qwen3:1.7b ile execution başarılı olmasına rağmen test mesajı için output boş döndü. Bu durum altyapı bağlantısının başarısız olduğu anlamına gelmez; Chat Trigger, AI Agent ve Ollama zinciri çalışmıştır. Ancak 1.7B modelin cevap kalitesi ve n8n agent uyumluluğu üretim beklentiniz için yeterli olmayabilir. Daha güçlü bir modelle aynı workflow’u tekrar test etmek mantıklıdır.
Bu noktada Windows VPS üzerinde n8n + Ollama yerel AI Agent altyapısı kurulmuş, temel agent akışı ve Ollama model bağlantısı doğrulanmış durumdadır.
Bu rehber n8n process’ini PowerShell’den başlatarak fonksiyonel entegrasyonu doğrular. PowerShell penceresi kapanırsa n8n process’i de kapanır. 7/24 üretim kullanımında process yönetimi, yeniden başlatma stratejisi, yedekleme ve resmî n8n self-hosting önerileri ayrıca planlanmalıdır.
n8n editörünü veya Ollama 11434 portunu doğrudan internete kimlik doğrulamasız açmayın. Uzak erişim gerekiyorsa TLS, reverse proxy, güçlü kimlik doğrulama, firewall/IP kısıtları ve düzenli güncelleme politikası kullanın. n8n credential verileri, owner hesabı ve workflow export dosyaları da hassas veri kabul edilmelidir.
Bu rehberde n8n 2.33.7 Windows VPS üzerinde Node.js 22.23.2 ve npm 12.0.2 ile gerçek olarak çalıştırıldı. n8n’in güncel destek koşulları değişebileceği için yeni kurulumlarda resmî dokümantasyonu kontrol edin.
Test ortamında npm 12, sqlite3 install scriptini engellemişti. Yalnız sqlite3 için allow-scripts ayarı tanımlanıp n8n yeniden kurulduktan sonra migration işlemleri başladı.
Bu testte n8n editörü varsayılan http://localhost:5678 adresinde çalıştı.
n8n varsayılan olarak localhost:11434 önerir. Bu Windows VPS testinde localhost bağlantısı reddedildiği için çalışan adres http://127.0.0.1:11434 oldu.
Varsayılan yerel Ollama kurulumunda bu testte API key kullanılmadı. Proxy veya kimlik doğrulama katmanı eklerseniz yapı farklı olabilir.
Ollama API çıktısında tools yeteneği olan küçük bir model olarak agent/tool bağlantısını denemek için kullanıldı. Doğal sohbet için daha uygun model olarak daha sonra Qwen3 eklendi.
Düşük kaynakla çok dilli ve agent odaklı entegrasyon akışını test etmek için yaklaşık 1.4 GB boyutundaki qwen3:1.7b seçildi. Daha iyi kalite için daha büyük model kullanabilirsiniz.
Workflow JSON’unda Chat Trigger düğümünün main bağlantısının gerçekten AI Agent hedefini içerdiğini kontrol edin. Bu rehberde görsel bağlantıya rağmen main dizisi boş kaldığı için akış tetikleyicide bitiyordu.
Source for Prompt = Define below kullanıldı ve Prompt alanı Expression modunda {{ $json.chatInput }} olarak tanımlandı.
Rehber fonksiyonel entegrasyonu doğrular. PowerShell process yönetimi, otomatik başlangıç, reverse proxy, TLS, yedekleme ve üretim güvenliği ayrıca planlanmalıdır.
n8n workflow otomasyonları, Ollama ve yerel AI modellerini kendi Windows sunucunuzda test etmek için EKA Sunucu Windows VPS paketlerini inceleyebilirsiniz.
Güncellendi: 09.08.2026