n8n Nedir, Docker ile Sunucuya Nasıl Kurulur?

n8n nedir ve n8n kurulumu hangi adımlardan oluşur?
n8n, uygulamaları ve servisleri görsel düğümlerle birbirine bağlayan bir iş akışı otomasyon aracıdır. n8n kurulumu kendi sunucunuzda dört adımdan oluşur: Docker hazırlığı, kalıcı veri birimiyle konteyneri başlatma, alan adı ile HTTPS arkasına alma ve şifreleme anahtarıyla birlikte düzenli yedekleme. Bulut sürümünde ise bu adımların hepsini n8n'in kendi ekibi yürütür.
Bu rehberde n8n'in ne yaptığını, lisansının neye izin verdiğini ve Docker ile kurulumun mantığını anlatıyoruz. Komutları, imaj adını ve ortam değişkenlerini n8n'in resmi belgelerinden aldık. Ayrıca her bölümde şu soruyu soruyoruz: bu işi siz mi yapmalısınız, yoksa yönetilen bir çözüme mi bırakmalısınız? Çünkü kurulum kolay, işletme ise süreklilik ister.
n8n ile hangi işleri otomatikleştirebilirsiniz?
n8n, tekrar eden ve kurala bağlanabilen işlerde iyi sonuç verir. Örneğin web sitenizdeki iletişim formu dolduğunda kaydı bir tabloya yazabilir, satış ekibine e-posta gönderebilir ve CRM'de yeni bir aday açabilirsiniz. Bunu tek bir iş akışında, kod yazmadan ya da çok az kodla kurarsınız.
Tipik kullanım alanlarını şöyle özetleyebiliriz:
- Form, reklam ya da sohbet kanalından gelen adayları tek bir listede toplamak.
- E-ticaret siparişlerini muhasebe ya da kargo sistemine aktarmak.
- Haftalık ya da günlük raporları her sabah ilgili kişiye e-postayla göndermek.
- Bir API'den veri çekip Google Sheets ya da bir veritabanına yazmak.
- Yapay zeka modeline metin özetletmek ve sonucu bir kanala iletmek.
Öte yandan n8n her işin cevabı değildir. Yüksek hacimli, milisaniye hassasiyeti isteyen işlem hatlarında özel yazılım daha doğru olabilir. Benzer bir otomasyonu bulut tabanlı bir araçla nasıl kurduğumuzu Make ile ChatGPT ve Google Sheets bağlantısı yazımızda anlattık; iki yaklaşımı karşılaştırmak için faydalı bir başlangıç noktası.
Tetikleyici, düğüm ve iş akışı ne anlama gelir?
n8n'de her otomasyon bir iş akışıdır. İş akışı, soldan sağa birbirine bağlanan düğümlerden oluşur. İlk düğüm genellikle bir tetikleyicidir; yani akışı başlatan olaydır. Ardından gelen düğümler veriyi işler, dönüştürür ya da başka bir servise gönderir.
Tetikleyici türlerini kabaca üçe ayırabilirsiniz. Zamanlayıcı tetikleyici, akışı belirli aralıklarla başlatır. Webhook tetikleyicisi, dışarıdan gelen bir HTTP isteğini bekler. Uygulama tetikleyicileri ise bağlı bir servisteki olayı dinler. Bu yüzden webhook kullanacaksanız n8n'in internetten erişilebilir bir adresi olmalıdır.
Düğümler arasında veri JSON nesneleri olarak akar. Kimlik bilgilerini ise ayrı bir alanda tutarsınız ve düğümler bu kayda yalnızca başvurur. Böylece bir API anahtarını her düğüme tek tek yazmazsınız. Kısacası iş akışı mantığı ile gizli bilgiler birbirinden ayrı durur; bu ayrım yedekleme ve güvenlik bölümlerinde de önem kazanacak.
n8n'deki yapay zeka düğümleri ne işe yarar?
n8n'in resmi düğüm kataloğunda bir AI Agent düğümü ve buna bağlanan model, bellek ve araç alt düğümleri yer alır. Bu yapı sayesinde bir dil modelini iş akışının ortasına yerleştirebilirsiniz. Örneğin gelen e-postayı sınıflandırır, uygun ekibe yönlendirir ve kısa bir taslak yanıt hazırlarsınız.
Burada dikkat etmeniz gereken nokta şu: yapay zeka düğümü kendi başına model çalıştırmaz. Bir bulut model sağlayıcısının API anahtarını ya da kendi sunucunuzdaki yerel bir model sunucusunu bağlamanız gerekir. Dolayısıyla maliyet, gizlilik ve hız kararlarını model tarafında verirsiniz.
Ajan mimarisi, araç yetkileri ve prompt injection riskleri ayrı bir konu. Bu ayrıntıları AI agent kurulumu rehberimizde ele aldık; burada tekrar etmiyoruz. Bu yazıda n8n'in kendisini sağlam bir zemine oturtmaya odaklanıyoruz, çünkü ajan ancak altındaki platform kadar sağlam çalışır.
n8n'in lisansı ne diyor, ticari kullanımda sınır var mı?
n8n, kaynak kodu açık olan ama OSI tanımına göre açık kaynak sayılmayan bir yazılımdır. Resmi lisans sayfasına göre ana kod Sustainable Use License ile, adında ".ee." geçen dosyalar ise n8n Enterprise License kapsamındadır. n8n bu modeli "fair-code" olarak adlandırır.
Lisans, yazılımı ücretsiz kullanma, değiştirme ve dağıtma hakkı tanır; ancak üç sınır koyar. Yazılımı yalnızca kendi iç iş amaçlarınız, ticari olmayan ya da kişisel kullanım için çalıştırabilirsiniz. Başkalarına dağıtım ancak ücretsiz ve ticari olmayan amaçla mümkündür. Lisans ve telif bildirimlerini de kaldıramazsınız.
n8n'in lisans SSS sayfası pratik örnekler verir. Kendi sunucunuzda müşteriniz için otomasyon kurmak ve bunun için danışmanlık ücreti almak serbesttir; şartı, müşterinin iş akışlarını oluşturamaması ya da düzenleyememesidir. Buna karşılık n8n'i hizmet olarak barındırıp müşterilerin kendi akışlarını kurmasına izin vermek ya da markasını kaldırıp satmak kapsam dışıdır.
Gri bir senaryonuz varsa n8n doğrudan license@n8n.io adresine yazmanızı önerir. Bu bölüm bilgilendirme amaçlıdır, hukuki danışmanlık değildir. Ticari bir ürün planlıyorsanız n8n lisans SSS sayfasını okuyun ve gerekiyorsa bir hukukçuya danışın.
n8n Cloud mu, kendi sunucunuz mu: hangisi size uygun?
n8n iki temel seçenek sunar: n8n'in yönettiği bulut sürümü ve kendi altyapınızda çalıştırdığınız kurulum. Resmi karar sayfası, teknik bilgisi olmayan ya da altyapı yönetmek istemeyen kullanıcılara bulutu önerir. Tam kontrol isteyenler ve altyapı kaynağı olanlar için ise kendi sunucuyu işaret eder.
| Kriter | n8n Cloud | Kendi sunucunuz (self-hosted) |
|---|---|---|
| Kurulum | Gerekmez, hesap açarsınız | Docker, sunucu ve alan adı hazırlığı gerekir |
| Bakım ve güncelleme | n8n yürütür | Tamamen sizin sorumluluğunuz |
| Veri konumu | n8n'in altyapısında | Seçtiğiniz sunucuda |
| Özelleştirme | Sunulan seçeneklerle sınırlı | Ortam değişkenleri ve ağ düzeyinde tam kontrol |
| Ücretsiz seçenek | Deneme süresi | Community sürümü |
| Gereken bilgi | Temel kullanım | Linux, Docker, ağ ve güvenlik bilgisi |
Tabloyu okurken şunu unutmayın: kendi sunucunuz "ücretsiz" görünse de sunucu kirası, zaman ve risk sizin hanenize yazılır. Sunucu türü kararını henüz vermediyseniz VPS, VDS ve bulut sunucu farkı yazımız seçimi kolaylaştırır.
n8n kurulumu için sunucuda neler hazır olmalı?
n8n'in resmi Docker belgesi, kendi sunucuda barındırmayı deneyimli kullanıcılara önerir. Belgeye göre sunucu ve konteyner yapılandırması, kaynak yönetimi, güvenlik ve n8n ayarları konusunda bilgi gerekir. Hataların veri kaybına, güvenlik sorunlarına ve kesintiye yol açabileceğini de açıkça yazar.
Teknik olarak başlamadan önce şu listeyi tamamlayın:
- Güncel bir Linux sunucu ve SSH anahtarıyla giriş.
- Docker Engine ve Docker Compose eklentisi; resmi Docker kurulum sayfasındaki adımlarla.
- n8n için ayırdığınız bir alt alan adı, örneğin n8n.example.com, ve sunucu IP'sine yönlenen bir A kaydı.
- Yalnızca 22, 80 ve 443 portlarını açan bir güvenlik duvarı.
- Parola yöneticisinde şifreleme anahtarı ve veritabanı parolası için ayırdığınız bir kayıt.
Sunucuyu sıfırdan hazırlıyorsanız Ubuntu Server ilk yapılandırma adımları yazımızla başlayın. Docker'a yeniyseniz Docker nedir rehberimiz imaj, konteyner ve birim kavramlarını anlatır. DNS kaydının yayılıp yayılmadığını DNS sorgulama aracımızla kontrol edebilirsiniz.
Docker ile tek komutla n8n'i nasıl denersiniz?
Denemek için n8n'in resmi belgesindeki iki komut yeterlidir. İlki kalıcı bir Docker birimi oluşturur, ikincisi konteyneri bu birime bağlayarak başlatır. Zaman dilimi yer tutucusunu kendi bölgenizle değiştirin; Türkiye için IANA adı Europe/Istanbul'dur.
docker volume create n8n_data
docker run -it --rm \
--name n8n \
-p 5678:5678 \
-e GENERIC_TIMEZONE="Europe/Istanbul" \
-e TZ="Europe/Istanbul" \
-e N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true \
-v n8n_data:/home/node/.n8n \
n8nio/n8n
Komut, 5678 portunu açar ve veriyi konteyner içindeki /home/node/.n8n dizinine bağlar. GENERIC_TIMEZONE zamanlayıcı düğümlerinin saatini, TZ ise sistem saatini belirler. Ardından tarayıcıda localhost:5678 adresini açar ve sahip hesabını oluşturursunuz.
Ancak bu komut kalıcı bir n8n kurulumu için uygun değildir. Konteyner terminali kapattığınızda durur, HTTPS yoktur ve port doğrudan dışarıya açık kalır. Bu yüzden onu yerel bilgisayarda ya da geçici bir test sunucusunda kullanın. Kalıcı kurulum için bir sonraki bölümdeki Compose yapısına geçin.
Üretimde n8n kurulumu için Docker Compose dosyasını nasıl kurgularsınız?
Üretimde n8n'i PostgreSQL ile birlikte Docker Compose üzerinden çalıştırmanızı öneriyoruz. Aşağıdaki iskelet, n8n'in resmi Docker Compose belgesi ve PostgreSQL örneklerindeki ayarları birleştirir. Değerler örnektir; sürüm etiketlerini n8n'in desteklediği güncel kararlı sürümle değiştirin.
services:
postgres:
image: postgres:DESTEKLENEN_SURUM
restart: always
environment:
POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
POSTGRES_DB: ${POSTGRES_DB}
PGDATA: /var/lib/postgresql/data
volumes:
- db_data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -h localhost -U ${POSTGRES_USER} -d ${POSTGRES_DB}"]
interval: 5s
timeout: 5s
retries: 10
Bu ilk parça PostgreSQL servisini tanımlar. Sağlık kontrolü sayesinde n8n, veritabanı hazır olmadan başlamaz. Aynı dosyanın devamına n8n servisini ve iki kalıcı birimi ekleyin:
n8n:
image: n8nio/n8n:KARARLI_SURUM
restart: always
ports:
- "127.0.0.1:5678:5678"
environment:
DB_TYPE: postgresdb
DB_POSTGRESDB_HOST: postgres
DB_POSTGRESDB_PORT: "5432"
DB_POSTGRESDB_DATABASE: ${POSTGRES_DB}
DB_POSTGRESDB_USER: ${POSTGRES_USER}
DB_POSTGRESDB_PASSWORD: ${POSTGRES_PASSWORD}
N8N_HOST: n8n.example.com
N8N_PROTOCOL: https
N8N_WEBHOOK_URL: https://n8n.example.com/
N8N_PROXY_HOPS: "1"
N8N_ENCRYPTION_KEY: ${N8N_ENCRYPTION_KEY}
N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS: "true"
GENERIC_TIMEZONE: Europe/Istanbul
TZ: Europe/Istanbul
volumes:
- n8n_data:/home/node/.n8n
depends_on:
postgres:
condition: service_healthy
volumes:
db_data:
n8n_data:
Dikkat edin, n8n portunu yalnızca 127.0.0.1 adresine bağladık. Böylece n8n'e dışarıdan doğrudan değil, ters vekil üzerinden ulaşırsınız. PGDATA satırını da silmeyin; n8n belgesi, yeni PostgreSQL sürümlerinde veri yolunun değiştiğini ve bu satır olmadan birimin boş kalabileceğini not eder.
Ortam değişkenleri ne işe yarar, hangilerini mutlaka ayarlamalısınız?
n8n ayarlarının büyük bölümünü ortam değişkenleriyle yaparsınız. Gizli değerleri Compose dosyasına yazmak yerine aynı dizindeki bir .env dosyasına koyun. Bu dosyayı sürüm kontrolüne eklemeyin; n8n belgesi de .env dosyasını depo dışında tutmanızı ister.
POSTGRES_USER=n8n_kullanici
POSTGRES_PASSWORD=BURAYA_GUCLU_BIR_PAROLA
POSTGRES_DB=n8n
N8N_ENCRYPTION_KEY=BURAYA_RASTGELE_UZUN_BIR_DEGER
Rastgele bir anahtar üretmek için openssl rand -hex 32 gibi standart bir komut kullanabilirsiniz. Aşağıdaki tablo, kurulumda en çok karıştırılan değişkenleri özetler:
| Değişken | Ne işe yarar? |
|---|---|
| N8N_ENCRYPTION_KEY | Kimlik bilgilerini şifreleyen anahtarı sabitler. |
| N8N_WEBHOOK_URL | Dış servislere bildirilen webhook adresini belirler. |
| N8N_PROXY_HOPS | Önünde ters vekil olduğunu n8n'e söyler. |
| GENERIC_TIMEZONE | Zamanlayıcı düğümlerinin saat dilimini ayarlar. |
| DB_TYPE | Varsayılan SQLite yerine PostgreSQL seçer. |
Webhook adresiyle ilgili bir değişikliğe dikkat edin. n8n'in güncel belgesi, eski WEBHOOK_URL değişkeninin kullanımdan kalktığını ve yerine N8N_WEBHOOK_URL geldiğini yazar. Eski adı kullanırsanız n8n kayıtlara uyarı düşer. Eski bir rehberi kopyalıyorsanız bu farkı mutlaka kontrol edin.
SQLite mi PostgreSQL mi seçmelisiniz?
n8n, kendi sunucunuzda varsayılan olarak SQLite kullanır. Kimlik bilgileri, iş akışları ve geçmiş çalıştırmalar ~/.n8n dizinindeki database.sqlite dosyasında durur. Docker kurulumunda bu dizin, n8n_data birimine karşılık gelir.
n8n'in Compose belgesi, SQLite'ın denemek için yeterli olduğunu söyler. Ancak birkaç kullanıcıdan fazlasına ya da gün boyu çalışan akışlara hizmet eden bir üretim ortamı için PostgreSQL önerir. Ayrıca desteklenen PostgreSQL ana sürümlerini belgede listeler ve bu listenin her yıl kaydığını belirtir. Bu nedenle sürüm seçerken başka bir rehbere değil, n8n'in güncel veritabanı sayfasına bakın.
Bir noktayı özellikle not edin: SQLite'tan PostgreSQL'e geçiş kendiliğinden olmaz. Resmi belgeye göre yeni PostgreSQL yapılandırması temiz bir kurulum içindir; n8n mevcut SQLite verisini otomatik olarak taşımaz. Dolayısıyla veritabanı kararını ilk günden verin. PostgreSQL'i konteynerde ayağa kaldırmanın ayrıntılarını Docker ile PostgreSQL ve MySQL kurulumu yazımızda bulabilirsiniz.
Alan adı, ters vekil ve HTTPS neden şart?
Webhook kullanan her akış, dış servislerin n8n'e ulaşabilmesini gerektirir. Bu yüzden n8n'e bir alan adı ve geçerli bir TLS sertifikası vermeniz gerekir. Ayrıca giriş ekranı ve kimlik bilgileri şifresiz HTTP üzerinden taşınmamalıdır.
n8n'in ters vekil belgesi bu durumda üç şey ister. Webhook adresini N8N_WEBHOOK_URL ile elle tanımlarsınız. N8N_PROXY_HOPS değerini 1 yaparsınız. Son vekil ise X-Forwarded-For, X-Forwarded-Host ve X-Forwarded-Proto başlıklarını iletir. Nginx için basit bir örneği aşağıda bulabilirsiniz:
server {
listen 443 ssl;
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-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
Sertifika satırlarını kendi kurulumunuza göre ekleyin. Nginx Proxy Manager gibi arayüzlü bir araç tercih ederseniz Nginx reverse proxy ve Nginx Proxy Manager kurulumu yazımız adım adım ilerler. Sertifikanın temel mantığı için SSL sertifikası rehberimize bakabilirsiniz.
İlk iş akışı: form webhook'undan e-postaya veri nasıl akar?
n8n kurulumunu doğrulamanın en iyi yolu basit ama gerçek bir akış kurmaktır. Örnek senaryomuz şu: web sitenizdeki iletişim formu, gönderim anında n8n'e bir istek atar. n8n bu veriyi temizler, satış ekibine e-posta gönderir ve kaydı CRM'e ekler.
- Yeni bir iş akışı açın ve Webhook düğümünü tetikleyici olarak ekleyin.
- HTTP yöntemini POST seçin ve kimlik doğrulama olarak Header auth tanımlayın.
- Test adresini kullanarak formdan bir deneme gönderimi yapın; gelen veriyi editörde görürsünüz.
- Bir Edit Fields düğümüyle ad, e-posta ve mesaj alanlarını ayıklayın.
- E-posta düğümüyle bildirimi gönderin, ardından CRM düğümüyle kaydı oluşturun.
- Akışı yayına aldığınızda üretim adresini forma yazın.
n8n'in Webhook belgesine göre test ve üretim adresleri farklıdır. Test adresi yalnızca dinleme modundayken çalışır ve veriyi editörde gösterir. Üretim adresi ise akış yayındayken çalışır; sonuçları Executions sekmesinden izlersiniz. Kısacası formu test adresiyle bırakırsanız gerçek gönderimler boşa düşer.
Kimlik bilgileri ve şifreleme anahtarını nasıl korursunuz?
n8n, kimlik bilgilerini veritabanına şifreli olarak kaydeder. Resmi belgeye göre ilk açılışta rastgele bir anahtar üretir ve bunu ~/.n8n dizinindeki config dosyasına yazar. N8N_ENCRYPTION_KEY değişkenini önceden tanımlarsanız n8n kendi anahtarını üretmek yerine sizinkini kullanır.
Bu anahtarın önemi şuradan gelir: veritabanı yedeğiniz elinizde olsa bile anahtar yoksa kimlik bilgilerini çözemezsiniz. Sonuç olarak her API anahtarını, OAuth bağlantısını ve parolayı yeniden girmek zorunda kalırsınız. Bu nedenle anahtarı en az iki ayrı yerde, örneğin bir parola yöneticisinde ve şifreli bir yedekte saklayın.
Ayrıca kimlik bilgilerini paylaşırken en az yetki ilkesini uygulayın. Her entegrasyon için ayrı bir API anahtarı açın ve gereksiz kapsamları kapatın. Böylece bir akış sızdırılsa bile etkisi o servisle sınırlı kalır. n8n belgeleri ayrıca anahtar döndürme için ayrı bir sayfa sunar; bunu bir bakım takvimine bağlamanızı öneriyoruz.
n8n yedeğini nasıl alır, nasıl geri yüklersiniz?
n8n'in yedekleme belgesine göre tam bir yedek iki parçadan oluşur. Birincisi config dosyasını ve SQLite kullanıyorsanız veritabanını barındıran .n8n klasörüdür. İkincisi, PostgreSQL kullanıyorsanız harici veritabanıdır. Veritabanı şifreli kimlik bilgilerini içerdiği için .n8n klasörü her durumda yedeğin parçası olmalıdır.
İş akışlarını ve kimlik bilgilerini ayrıca JSON olarak dışa aktarabilirsiniz:
docker compose exec n8n n8n export:workflow --backup --output=/home/node/.n8n/yedek/akislar/
docker compose exec n8n n8n export:credentials --backup --output=/home/node/.n8n/yedek/kimlikler/
Ancak belge, bu dışa aktarımın kullanıcıları, çalıştırma geçmişini, değişkenleri ve şifreleme anahtarını içermediğini belirtir. Yani CLI yedeği akışları taşımaya yeter, tam kurtarmaya yetmez. SQLite kullanıyorsanız klasörü kopyalamadan önce n8n'i durdurun; aksi halde tutarsız bir kopya alabilirsiniz.
Veritabanı tarafı için pg_dump ile yedekleme ve geri yükleme rehberimizi izleyin. Yedeği aynı sunucuda bırakmayın; genel kurgu için web sitesi yedekleme stratejisi yazımıza bakın. Ayrıntılı adımlar n8n yedekleme belgesinde yer alır.
n8n kurulumu sonrası güncellemeleri nasıl güvenle yaparsınız?
n8n'in belgesi, hemen her hafta yeni bir alt sürüm yayımladığını ve üretim için kararlı kanalı önerdiğini belirtir. Bu sık takvim, güncellemeyi bir rutine bağlamanızı gerektirir. Ancak her yeni sürümü ilk gün almak zorunda değilsiniz.
Biz şu sırayı öneriyoruz:
- Sürüm notlarını okuyun; özellikle ortam değişkeni ve davranış değişikliklerine bakın.
- Tam yedek alın: .n8n klasörü, veritabanı dökümü ve .env dosyası.
- Compose dosyasındaki imaj etiketini yeni kararlı sürümle değiştirin.
- Komutları çalıştırın: docker compose pull, ardından docker compose up -d.
- Kayıtları docker compose logs -f n8n ile izleyin ve kritik akışları elle test edin.
Etiketi sabitlemek önemli bir alışkanlıktır. Etiketsiz imaj her çekişte en son kararlı sürüme geçer; bu da beklemediğiniz bir anda davranış değişikliği getirebilir. Öte yandan güncellemeyi aylarca ertelemek de güvenlik yamalarını kaçırmanız demektir. Dolayısıyla takvimi sabit, sürümü bilinçli seçin.
Panel ve webhook güvenliği için hangi ayarları açmalısınız?
n8n paneli, tüm entegrasyonlarınızın anahtarlarını taşıyan bir kontrol odasıdır. Bu yüzden onu sıradan bir web uygulaması gibi değil, yönetim paneli gibi koruyun. İlk açılışta oluşturduğunuz sahip hesabına güçlü bir parola verin ve iki adımlı doğrulamayı açın.
- Panele erişimi mümkünse VPN ya da IP kısıtıyla sınırlayın.
- Webhook düğümlerinde Basic auth, Header auth ya da JWT auth kullanın; belge ayrıca IP izin listesi seçeneği sunar.
- Kullanmadığınız düğümleri ortam değişkeniyle engelleyin ve gerekmiyorsa genel API'yi kapatın.
- n8n audit komutuyla yerleşik güvenlik denetimini düzenli çalıştırın.
- Docker'ın güvenlik duvarı kurallarını atlayabildiğini unutmayın; portu yalnızca 127.0.0.1'e bağlayın.
Resmi denetim raporu kullanılmayan kimlik bilgilerini, SQL düğümlerindeki riskli ifadeleri ve dosya sistemine erişen düğümleri listeler. Bu raporu her güncellemeden sonra çalıştırmak iyi bir alışkanlıktır. Web uygulaması risklerinin genel çerçevesi için OWASP Top 10 rehberimize göz atabilirsiniz.
n8n ne kadar kaynak tüketir, sunucuyu nasıl boyutlandırırsınız?
n8n'in kaynak tüketimi, n8n kurulumu yönteminden çok iş yüküne bağlıdır. Günde birkaç kez tetiklenen akışları çalıştıran bir kurulum ile her dakika binlerce webhook karşılayan bir kurulum aynı sunucuyu istemez. Bu yüzden size sabit bir rakam vermiyoruz; ölçerek karar vermenizi öneriyoruz.
Belgede geçen tek somut eşik, n8n Assistant için yapay zeka kodu çalıştıran sandbox yığınıyla ilgilidir. n8n'in Compose rehberi bu yığın için en az 4 GB RAM ve 2 vCPU ister, çünkü Docker içinde Docker çalıştırır. Bu yığını kullanmıyorsanız ihtiyaç farklı olacaktır.
Boyutlandırmada şu sinyalleri izleyin: bellek kullanımı, uzun süren çalıştırmalar ve büyük ikili dosyalar. Örneğin PDF ya da görsel işleyen akışlar belleği hızla doldurur. Webhook yükü için ayrıca belgedeki 16 MB varsayılan yük sınırını aklınızda tutun; bunu N8N_PAYLOAD_SIZE_MAX ile değiştirebilirsiniz. Yük gerçekten büyürse n8n'in kuyruk modu belgesine geçin.
n8n kurulumunda en sık yapılan hatalar nelerdir?
Resmi belgeleri okurken ve topluluk sorularını incelerken bazı hataların sürekli tekrar ettiğini görüyoruz. Çoğu teknik olarak küçük ama sonuçları büyük hatalardır. Bu nedenle n8n kurulumu sırasında aşağıdaki listeyi bir kez gözden geçirin:
- Kalıcı birim bağlamadan konteyner başlatmak; konteyner silindiğinde tüm akışlar da gider.
- Şifreleme anahtarını yedeklememek ve sunucu taşırken kimlik bilgilerini kaybetmek.
- 5678 portunu doğrudan internete açmak ve paneli HTTPS olmadan kullanmak.
- Ters vekil arkasında N8N_WEBHOOK_URL değerini tanımlamamak.
- Etiketsiz imajla çalışıp güncellemeyi fark etmeden almak.
- SQLite ile başlayıp büyüdükten sonra veriyi elle taşımak zorunda kalmak.
Bu hataların ortak noktası, ilk gün hiçbir sorun çıkarmamalarıdır. Sorun ancak bir taşıma, güncelleme ya da güvenlik olayı sırasında görünür olur. Dolayısıyla sağlam bir n8n kurulumu, ilk çalıştırmadan çok bu senaryolara hazırlıkla ölçülür.
Hangi durumlarda n8n kurulumunu kendiniz yapmamalısınız?
Dürüst olmak gerekirse her işletmenin kendi n8n sunucusunu işletmesi doğru değildir. Linux güncellemelerini, yedek testlerini ve güvenlik uyarılarını takip edecek kimse yoksa yönetilen çözüm daha güvenlidir. Bir kurulumun asıl maliyeti ilk gün değil, sonraki aylarda ortaya çıkar.
Şu durumlarda işi n8n Cloud'a ya da sunucuyu sizin adınıza yöneten bir sağlayıcıya bırakmanızı öneririz:
- Ekibinizde SSH ve Docker ile rahat çalışan biri yoksa.
- Akışlarınız kesintiye uğrarsa doğrudan satış ya da ödeme kaybı yaşıyorsanız.
- Yedek alıp geri yükleme provası yapacak zamanınız yoksa.
- Paylaşımlı hosting kullanıyorsanız; bu ortamlar genellikle Docker çalıştırmaya izin vermez.
Öte yandan veri konumu, özel entegrasyon ya da maliyet gibi gerekçeleriniz varsa kendi kurulumunuz mantıklı olabilir. Akış tasarımı ve entegrasyon konusunda destek arıyorsanız yapay zeka otomasyon hizmeti sayfamıza bakabilirsiniz. Karar ne olursa olsun, sunucunun sorumlusunu baştan netleştirin.
Kurulum sonrası ilk hafta için kontrol listesi
Kurulum bittiğinde işin yalnızca yarısını bitirmiş olursunuz. Kalan yarısı, sistemin bir hafta boyunca beklediğiniz gibi çalıştığını doğrulamaktır. Aşağıdaki listeyi ilk hafta içinde tek tek işaretleyin.
- HTTPS adresi sorunsuz yanıt veriyor ve HTTP istekleri HTTPS'e yönleniyor.
- Sunucunun genel IP'si üzerinden 5678 portuna erişilemiyor.
- Sahip hesabında iki adımlı doğrulama açık.
- N8N_ENCRYPTION_KEY değerini sunucu dışında güvenli bir yerde tutuyorsunuz.
- Veritabanı ve .n8n klasörü yedeği başka bir konuma gidiyor ve en az bir kez geri yükleme provası yaptınız.
- Webhook düğümleri kimlik doğrulama istiyor ve formlar üretim adresini kullanıyor.
- n8n audit raporu temiz ya da bulguları kayda geçirdiniz.
Bu listeyi geçen bir n8n kurulumu, güvenle yeni akış eklemeye hazırdır. Bir sonraki adımda yapay zeka düğümlerini devreye almak istiyorsanız ajan yetkilerini ve insan onayı adımlarını baştan planlayın. Böylece otomasyon size zaman kazandırırken kontrolü de elinizde tutarsınız.



