Bu rehberle n8n’i tamamen ücretsiz şekilde kendi bilgisayarınıza kuracak, Docker ve Node.js yöntemlerini adım adım uygulayacak, kalıcı depolama ve güvenlik ayarlarını yapacak, sık hataları çözecek ve ilk otomasyon akışınızı (RSS → WordPress) çalıştıracaksınız.
n8n nedir, neden yerelde kurmalı?
n8n, üçüncü parti servisleri ve kendi verilerinizi birbirine bağlayan açık kaynaklı bir workflow otomasyon aracıdır. Zapier/Make gibi SaaS servislerine benzer; ancak self-host edilebilir, esnektir ve kişisel kullanımda ücretsizdir.
- Gizlilik: Akışları yerelde test ederken API anahtarlarınız dışarı çıkmaz.
- Maliyet yok: Kendi makinenizde çalıştığı için ek ücret gerektirmez.
- Hızlı iterasyon: Canlıya almadan önce akışları güvenle deneyebilirsiniz.
Hızlı karşılaştırma: Docker mı, Node.js mi?
| Yöntem | Kimler için? | Artıları | Eksileri |
|---|---|---|---|
| Docker (Önerilen) | “Kur, çalışsın” diyenler | Tek komutla kurulum, izole ortam, kolay güncelleme | Docker Desktop / daemon gerekir |
| Node.js (npm) | Node ekosistemine hâkim kullanıcılar | İnce ayar kolay, sistem servisi yazılabilir | Bağımlılık ve sürüm yönetimi size ait |
Öneri: İlk kurulumda Docker ile başlayın; ihtiyaç artarsa Node.js kurulumuna geçebilirsiniz.
Docker ile tek komutta n8n kurulumu (Önerilen)
1) Ön koşullar
- Docker Desktop (Windows/macOS) veya Docker Engine (Linux)
- Boş port:
5678
2) Hızlı başlat (geçici test)
macOS / Linux (bash):
docker run -it --rm -p 5678:5678 -v ~/.n8n:/home/node/.n8n n8nio/n8n
Windows PowerShell:
docker run -it --rm -p 5678:5678 -v ${env:USERPROFILE}\.n8n:/home/node/.n8n n8nio/n8n
Ardından tarayıcıda http://localhost:5678 adresine gidin. --rm konteyneri kapatınca siler; verileriniz volume’da (~/.n8n) kalır.
3) Kalıcı ve güvenli çalışma (önerilen docker-compose)
Proje klasörünüzde bir docker-compose.yml oluşturun:
services:
n8n:
image: n8nio/n8n:latest
ports:
- "5678:5678"
environment:
- N8N_BASIC_AUTH_ACTIVE=true
- N8N_BASIC_AUTH_USER=admin
- N8N_BASIC_AUTH_PASSWORD=degistirin_bunu
- GENERIC_TIMEZONE=Europe/Istanbul
volumes:
- ~/.n8n:/home/node/.n8n
restart: unless-stopped
Çalıştırın:
docker compose up -d
Güvenlik notu: Ağ dışına açacaksanız reverse proxy (Nginx) ve TLS ekleyin; erişimi IP/kimlik doğrulama ile sınırlayın.
Node.js (npm) ile kurulum
1) Ön koşullar
- Node.js 18+ (LTS önerilir) ve npm
2) Kurulum ve çalıştırma
npm install -g n8n
n8n
Tarayıcıdan http://localhost:5678 adresine gidin.
3) Sisteme servis olarak eklemek (Linux örneği)
/etc/systemd/system/n8n.service dosyasını oluşturun:
[Unit]
Description=n8n Automation
After=network.target
[Service]
Type=simple
User=ubuntu
Environment=GENERIC_TIMEZONE=Europe/Istanbul
Environment=N8N_BASIC_AUTH_ACTIVE=true
Environment=N8N_BASIC_AUTH_USER=admin
Environment=N8N_BASIC_AUTH_PASSWORD=degistirin_bunu
ExecStart=/usr/bin/n8n
Restart=on-failure
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now n8n
Kalıcı depolama, güvenlik ve .env ayarları
Veriler nerede tutulur?
Varsayılan olarak SQLite veritabanı ve ayarlar ~/.n8n içinde saklanır. Yedek almak için bu klasörü kopyalamanız yeterli.
.env kullanımı (Docker)
~/.n8n/.env içine tipik değişkenler:
GENERIC_TIMEZONE=Europe/Istanbul
N8N_BASIC_AUTH_ACTIVE=true
N8N_BASIC_AUTH_USER=admin
N8N_BASIC_AUTH_PASSWORD=sifreyi_degistir
Pro ipucu: Yerelde SQLite iyidir; ağır iş yüklerinde PostgreSQL kullanın.
Sık karşılaşılan hatalar ve çözümleri
1) Cannot connect to the Docker daemon at unix:///var/run/docker.sock
- macOS/Windows: Docker Desktop’ı başlatın.
- Linux:
sudo systemctl start docker
sudo usermod -aG docker $USER
# oturumu kapat/aç
2) port 5678 is already in use
lsof -i :5678
kill -9 <PID>
3) Volume izin hatası (Linux/Mac)
sudo chown -R $USER:$USER ~/.n8n
4) Boş sayfa / arayüz açılmıyor
- Tarayıcı önbelleğini temizleyin, farklı tarayıcı deneyin.
- Docker için
docker compose logs -file hataları izleyin. - Node sürümünüzün 18+ olduğundan emin olun.
İlk otomasyon: RSS’ten WordPress’e yazı atmak
Örnek akış: Schedule (Cron) → RSS Feed Read → IF → WordPress / HTTP Request.
- Yeni Workflow oluşturun; adı: RSS to WordPress.
- Schedule (Cron): Her 30 dakikada bir.
- RSS Feed Read: Ör.
https://www.theverge.com/rss/index.xml. - IF: GUID/Link’e göre daha önce eklenmişleri ele.
- WordPress node yoksa HTTP Request ile REST API:
- URL:
https://siteniz.com/wp-json/wp/v2/posts - Method: POST
- Headers:
Authorization: Basic <base64(user:app_password)>,Content-Type: application/json
{ "title": "{{$json["title"]}}", "content": "{{$json["content"]}}", "status": "draft" } - URL:
- Duplicate kontrolü için Data Store ile yayınlanan linkleri/GUID’leri kaydedin.
SEO ipucu: Başlığı 60–65 karakter, meta açıklamayı 150–160 karakter tutun; öne çıkan görseli en az 1200×630 piksel ve anlamlı alt metinle ekleyin.
Güncelleme, yedekleme ve ileri ipuçları
Güncelleme (Docker)
docker pull n8nio/n8n:latest
docker compose down
docker compose up -d
Yedek
~/.n8n klasörünü (özellikle database.sqlite) düzenli kopyalayın.
Reverse proxy & TLS
Nginx ile TLS uç noktası ekleyip Let’s Encrypt kullanın; güvenliği Basic Auth + ağ kurallarıyla güçlendirin.
Performans
Çok adımlı akışlarda Queue Mode ve PostgreSQL değerlendirin.
SSS: En çok merak edilenler
n8n tamamen ücretsiz mi?
Kendi bilgisayarınızda/servenizde kurduğunuz Self-Hosted sürüm ücretsizdir. n8n Cloud planı ayrıca ücretlidir.
İnternet olmadan kullanabilir miyim?
Yerel akışlar (dosya, cron, shell) çalışır; dış API’ler için internet gerekir.
Verilerim nerede?
Varsayılan konum ~/.n8n. Yedek için bu klasörü kopyalamanız yeterli.
Windows’ta WSL2 şart mı?
Docker Desktop WSL2 ile çalışır; alternatif olarak npm ile kurabilirsiniz.
n8n’i ekipçe kullanabilir miyiz?
Ağ içinde paylaşabilirsiniz; mutlaka kimlik doğrulama ve TLS ekleyin.
Son söz
Bugün yerelde kurduğunuz n8n, yarın PostgreSQL + Queue Mode + Reverse Proxy ile küçük bir otomasyon platformuna dönüşebilir. Docker veya Node.js ile başlayın; ihtiyacınız arttıkça mesaj kuyrukları, olay tetikleyicileri ve gözlemlerle (logs/metrics) katman ekleyin. Böylece sıfır maliyetle başlayan kişisel otomasyonlarınız, zamanla ekip verimliliği sağlayan kalıcı altyapıya evrilir.
