n8n'i kendi sunucunuzda çalıştırmak
n8n, uygulamaları birbirine bağlayıp iş akışları kurmanızı sağlayan bir otomasyon aracıdır. Kendi VPS'inizde Docker ile çalıştırabilirsiniz. Resmi belge Docker Compose kurulumunu anlatır ve kendi sunucuda çalıştırmayı teknik bilgisi olanlara önerir. Kurulum rehberleri işlemci, RAM ya da disk için rakam vermez, bu yüzden küçük bir sunucuyla başlayıp izleyerek büyütmek mantıklıdır.
Bu yazıda lisansı, kurulum adımlarını, kritik ayarları, yedeği ve güncellemeyi anlatıyoruz.
n8n ile neler yapılır?
n8n'de bir akış, bir tetikleyici ile ona bağlı adımlardan oluşur. Tetikleyici bir zamanlayıcı, bir webhook ya da başka bir uygulamadaki olay olabilir. Tipik örnekler: bir formdan gelen kaydı tabloya yazmak, yeni siparişte ekibe bildirim göndermek, her sabah bir rapor toplayıp e-postayla yollamak. Akışlar tarayıcıdaki görsel düzenleyicide kurulur. Kod yazmak şart değildir, ama isterseniz kod adımı da eklersiniz.
Neden kendi sunucunuzda?
- İş akışlarınız ve kayıtlı bağlantı bilgileriniz kendi sunucunuzda durur.
- Zamanlanmış akışlar kendi bilgisayarınız kapalıyken de sunucuda çalışır, webhook'larla dışarıdan tetiklenebilir.
- Kullanım sınırınızı sunucunuzun gücü belirler, yetmezse sunucuyu büyütürsünüz.
- Karşılığında bakım size aittir: güncelleme, yedek ve güvenlik.
Lisans: ücretsiz kullanım neye izin verir?
n8n açık kaynak değildir, kendi tanımıyla "fair-code" bir yazılımdır. Kaynak kodu açıktır ama Sustainable Use License ticari kullanımı kısıtlar. Resmi lisans sayfasına göre şirketinizin iç işleri, kişisel ve ticari olmayan projeler için ücretsiz kullanabilirsiniz. Müşterileriniz n8n'e erişmediği sürece, onlar için ücretli iş akışı kurmak da serbesttir. Müşterilerin n8n'e girip kendi akışlarını kurduğu ya da düzenlediği bir hizmet sunmak (n8n'i hizmet olarak barındırmak) ise ticari lisans gerektirir. Sınırda kalan durumlar için n8n'in lisans ekibine sorun.
Kurulum adımları
Adımlar resmi Docker Compose rehberini izler. Rehber HTTPS sertifikasını Traefik adlı ters vekille alır ve yeniler.
- Docker Engine ve Docker Compose kurulu bir Linux sunucu hazırlayın.
docker --versionvedocker compose versionkomutlarıyla kontrol edin. - Alan adınızın bir alt alanı için (örneğin
n8n.ornek.com) sunucunun IP adresine işaret eden bir A kaydı ekleyin. Alan adı bağlama yazısı bunu adım adım anlatır. - Resmi rehberdeki
.envvecompose.yamldosyalarını sunucuda oluşturun. .enviçindeDOMAIN_NAME,SUBDOMAIN,GENERIC_TIMEZONEveSSL_EMAILdeğerlerini doldurun. Saat dilimi içinEurope/Istanbulyazın, belirtmezseniz varsayılan New York olur.- Başlatın:
docker compose up -d - Tarayıcıdan alt alan adresinizi açın ve sahip hesabını hemen oluşturun. Bu ekranı ilk dolduran sahip olur.
Bilmeniz gereken ayarlar
| Değişken | Ne işe yarar? |
|---|---|
N8N_HOST, N8N_PROTOCOL | n8n'in çalıştığı ana makine adı ve protokol (https) |
N8N_WEBHOOK_URL | Ters vekilin arkasında n8n dışarıdaki adresi kendi bulamaz. Webhook adreslerinin doğru görünmesi için herkese açık HTTPS adresinizi yazın. Eski adı WEBHOOK_URL güncel sürümlerde hâlâ çalışır ama kullanımdan kaldırılmıştır. Eski bir sürüm kurduysanız yalnız eski ad geçerlidir, sürümünüzün belgesine bakın. |
GENERIC_TIMEZONE, TZ | Zamanlayıcı düğümlerinin saat dilimi |
N8N_ENCRYPTION_KEY | Kayıtlı bağlantı bilgilerini şifreleyen anahtar |
Webhook düğümünün iki adresi vardır: test adresi akışı düzenlerken çalışır, üretim adresi ise akışı etkinleştirdiğinizde. Dış servislere üretim adresini verin. Adresin başı N8N_WEBHOOK_URL değerinden gelir, bu yüzden o değer yanlışsa dış servisler akışınıza ulaşamaz.
Şifreleme anahtarı ve yedek
n8n ilk açılışta rastgele bir şifreleme anahtarı üretir ve veri klasöründe (/home/node/.n8n) tutar. Kayıtlı bağlantılarınız bu anahtarla şifrelenir. Anahtar olmadan geri yüklenen bir veritabanındaki bağlantı bilgileri çözülemez. Anahtarın bir kopyasını ayrıca saklayın.
- Ne yedeklenir: Veri hacmi (
n8n_data) varsayılan SQLite veritabanını ve anahtarı içerir. n8n'i durdurup kopyalayın. PostgreSQL kullanıyorsanız veritabanını kendi araçlarıyla ayrıca yedekleyin. - Hızlı dışa aktarma: n8n komutları konteynerin içinde çalışır.
docker compose exec n8n n8n export:workflow --backup --output=/home/node/.n8n/backups/workflows/vedocker compose exec n8n n8n export:credentials --backup --output=/home/node/.n8n/backups/credentials/akışları ve bağlantıları veri hacmine yazar. Kullanıcılar, yürütme geçmişi ve ayarlar bunlara girmez, tam kurtarma için yetmez. - Sunucu yedeği: Seturack sunucunuzu her gece yedekler ve son 7 günü tutar. Bu n8n verisini de kapsar, ama kritik akışlar için ayrıca dışa aktarım almak iyi olur.
Kaynak ve veritabanı
Kurulum rehberlerinde işlemci ya da bellek rakamı yok. Genel kural olarak hafif ve seyrek çalışan akışlar küçük sunucuda yürür, büyük dosya ya da çok veri işleyen akışlar bellek ister. docker stats ile konteynerin gerçek kullanımını izleyin. Varsayılan veritabanı SQLite'tır. Yoğun kullanımda DB_TYPE=postgresdb ile PostgreSQL'e geçilir ve yine veri klasörü hacmi korunur.
Sunucu yetmezse panelden büyütürsünüz. IP adresiniz ve verileriniz aynı kalır, webhook adresleriniz değişmez.
Güncelleme
Resmi rehber güncellemeyi üç komutla anlatır: docker compose pull, docker compose down ve docker compose up -d. Önce yedek alın, sürüm notlarını okuyun. Kurulumdan sonra işletim sistemi ve uygulama güncellemeleri size aittir.
Güvenlik
- n8n'i yalnız HTTPS üzerinden açın. Resmi rehber de bunu esas alır.
- Sahip hesabını kurulumdan hemen sonra oluşturun ve güçlü bir parola seçin.
- Güvenlik duvarında yalnız 22, 80 ve 443 numaralı portlar açık olsun. Docker yayınladığınız portlarda ufw kurallarını atladığı için n8n'in 5678 portunu dışarı yayınlamayın.
Bu adımlarla uğraşmak istemezseniz sunucunuzu n8n hazır kurulu seçebilirsiniz. Kendiniz kuracaksanız Docker kurulu bir sunucuyla başlayın.
Yorumlar0
Henüz Yorum Yok
İlk düşüncenizi paylaşan siz olun.
Yorum bırakmak için lütfen giriş yapın veya kaydolun.