Tüm barındırma hizmetlerinde 15% tasarruf edin

Becerilerini test et ve herhangi bir hosting planında İndirim kazan

Kodu kullanın: Skills Başlayın
Bölüm
Linux

N8N Otomasyon Eğitimi Ubuntu için – Sıfırdan Akışa

Anahtar Kelimeler

TerimHızlı Tanım
🚀 N8NÇeşitli harici hizmetleri bağlamak için görsel, düğüm tabanlı bir iş akışı otomasyon platformu.
🐳 DockerUygulamaların tutarlı, izole edilmiş şekilde dağıtılmasını ve yönetilmesini sağlayan bir konteynerizasyon aracı.
🐘 PostgreSQLN8N için birincil, kalıcı veri deposu olarak hizmet veren güçlü bir ilişkisel veritabanı.
🧩 NodeN8N içinde belirli bir görevi yürüten tek bir işlevsel blok (örneğin, bir veri tetikleyicisi veya API eylemi).
🔄 WorkflowGörev dizilerini işlemek için birden fazla düğümü birbirine bağlayarak oluşturulan yapılandırılmış otomatik bir işlem.
💾 Docker VolumeSistem verilerini konteynerler dışında kalıcı olarak kaydetmek için Docker’da kullanılan belirlenmiş bir depolama mekanizması.
🔐 Environment VariableGüvenli yapılandırma değerleri (.env dosyasında tutulur) Docker konteynerlerine güvenli bir şekilde enjekte edilir.

Otomasyon neden önemlidir

Automation

Modern ekipler “tek bir uygulama çalıştırmaz” — bir dizi SaaS aracı, dahili hizmet, veri deposu ve sohbet/uyarı sistemini işletirler. Bu karmaşıklığın maliyeti öngörülebilir şekillerde ortaya çıkar:

  • Manuel el değiştirmeler ve tekrarlanan rutin işler (sistemler arasında kopyala/yapıştır)
  • Yavaş tepki döngüleri (onaylar, bilet yönlendirmesi, olay bildirimleri)
  • Tutarsız sonuçlar (insan hatası, atlanmış adımlar, kısmi güncellemeler)
  • Kırılgan entegrasyonlar (görünürlük veya sahiplik olmayan tek seferlik betikler)

Otomasyon, bu sürtünmeyi azaltmanın en yüksek etkili yollarından biridir. Hatta küçük iş akışları — veri senkronizasyonu, yük doğrulaması, bildirim gönderme, kayıt güncelleme — anlamlı kazanımlara dönüşebilir: daha hızlı döngü süresi, daha az hata ve daha tutarlı operasyonlar. Önemlisi, “otomasyon” yalnızca çabayı azaltmakla ilgili değildir; aynı zamanda süreçleri gözlemlenebilir ve tekrarlanabilir hale getirmekle ilgilidir.

Bu rapor, otomasyon yaklaşımını üretim altyapısı gibi ele alır: temiz bir şekilde dağıtın, konfigürasyonu kontrol edin, verileri kalıcı tutun ve davranışı belirleyici bir test iş akışıyla doğrulayın.

N8N Nedir (ve neden en iyi arkadaşınız olabilir)

N8N

N8N, node tabanlı bir editör kullanarak hizmetleri bağlamanıza olanak sağlayan bir iş akışı otomasyon platformudur. İş akışlarını “node’lardan” (tetikleyiciler, veri dönüşümleri, API çağrıları, veritabanı işlemleri, bildirimler) oluşturur, ardından bunları manuel olarak, bir zamanlamaya göre veya webhook’lar aracılığıyla yürütürsünüz.

N8N’i özellikle Linux dağıtım bağlamında yararlı kılan şeyler:

  • Kendi kendine barındırılabilir: veriler ve ağ üzerinde kontrol için kendi altyapınızda çalıştırabilirsiniz.
  • Genişletilebilir entegrasyonlar: birçok yerleşik node, artı API’si olan herhangi bir şey için genel HTTP node’ları.
  • Operasyonel olarak uygun: konteynerler içinde iyi çalışır, kalıcılık için Postgres kullanabilir ve ortam odaklı konfigürasyonu destekler.
  • Kademeli benimseme için iyi: basit iş akışlarıyla başlayın, ardından kullanım arttıkça erişimi (ters proxy + HTTPS) ve operasyonel uygulamaları sertleştirin.

Bu değerlendirmede, n8n çalıştırabileceğiniz bir hizmet olarak ele alınır: dağıtım seçimleri ve konfigürasyonu, netlik, tekrarlanabilirlik ve “gelecekteki sertleştirme” eğilimi ile belgelenmiştir (ilk kurulumu aşırı mühendislik yapmadan).

Kendi N8N örneğinizi kendi sunucunuzda barındırın

Denemeye hazır mısınız? Kurulum birkaç teknik adım gerektiriyor, ancak endişelenmeyin — bu kılavuzu takip edin ve ilk N8N örneğiniz kısa sürede çalışır duruma gelecektir.

Bu öğretici Ubuntu 22.04 üzerinde çalışır ve AlexHost tarafından sağlanan bir VPS üzerinde barındırılır.

Docker kurulumu

n8n’i kurmanın birkaç yolu vardır. Bu öğretici için, n8n’i yönetmek ve yapılandırmak için açık ve güvenilir bir yaklaşım sağladığı için Docker kullanıyoruz.

Öncelikle, sisteminizde docker ve docker compose’un yüklü olduğundan emin olun.

# Check for docker
docker -v

# Check for docker compose
docker compose

Bu bir sürüm döndürürse, hazırsınız.

Yüklü değilse, talimatlar için bu sayfayı takip edin: kurulum kılavuzu. Kullandığınız doğru işletim sistemini seçtiğinizden emin olun.

Proje yapısı

Dosyaları düzgün bir şekilde organize etmek netlik ve uzun vadeli bakım için gereklidir. Kural olarak, Docker hizmetleri genellikle /opt dizini altına yerleştirilir. İçinde, N8N dahil tüm hizmetleri depolamak için bir docker_services klasörü oluşturulmuştur.

# Create all the needed folders
sudo mkdir -p /opt/docker_services/n8n

# Navigate to n8n folder
cd /opt/docker_services/n8n

Docker compose dosyasını ekleme

n8n örneğimizi ve arka uç veritabanını başlatmak için bir compose.yaml dosyası kullanacağız. Varsayılan SQLite yerine PostgreSQL’i seçiyoruz çünkü yapılandırma ve yürütme günlükleri için çok daha sağlam ve üretime hazır bir veri deposu sağlar.

nano gibi bir metin editörü kullanarak dosyayı oluşturun:

nano compose.yaml

Aşağıdaki yapılandırmayı dosyaya yapıştırın:

services:
  n8n:
    image: n8nio/n8n:latest
    restart: always
    ports:
      - "5678:5678"
    env_file:
      - .env
    volumes:
      - ./data:/home/node/.n8n
      - ./files:/files
    depends_on:
      - postgres

  postgres:
    image: postgres:15
    restart: always
    env_file:
      - .env
    volumes:
      - ./postgres-data:/var/lib/postgresql/data

Yapılandırmayı anlama:

BileşenAçıklama
Hizmetlerİki konteyner çalıştırır: n8n (ana uygulama) ve postgres:15. Postgres’i kullanmak varsayılan SQLite’den çok daha tercih edilir. n8n başlamak için doğal olarak buna bağımlıdır.
Yeniden Başlatma PolitikasıKonteynerler sistem önyüklemesinde veya çöktüğünde otomatik olarak yeniden başlasın diye restart: always kullanır.
Portlarn8n web arayüzüne erişebilmeniz için 5678 portunu açığa çıkarır.
OrtamHer iki hizmet de DB kimlik bilgileri gibi değişkenleri güvenli bir şekilde işlemek için paylaşılan bir .env dosyasından yapılandırma yükler.
BirimlerYerel ana bilgisayar dizinlerini konteyner yollarına bağlayarak verileri kalıcı tutmak için:
./data → n8n yapılandırmaları (/home/node/.n8n)
./files → dosya depolama (/files)
./postgres-data → Veritabanı (/var/lib/postgresql/data)

Konteynerları başlatmadan önce, harita oluşturulmaya hazır olması için gerekli dizinleri açıkça oluşturmanız gerekir:

# Use your own path if different
cd /opt/docker_services/n8n

mkdir data files postgres-data

Dizin sahipliği ve izinleri

Varsayılan olarak, Docker birimleriniz için ana bilgisayar dizinlerini otomatik olarak oluşturduğunda (bizim data ve files klasörlerimiz gibi), sahipliği root kullanıcısına atar. Ancak güvenlik nedenleriyle, n8n konteynerı kasıtlı olarak ayrıcalıkları bırakır ve root olmayan bir kullanıcı olarak çalışır (özellikle UID 1000).

Bu klasörler root’a ait kalmaya devam ederse, n8n yapılandırmasını veya veritabanı dosyalarını kaydedemeyecek ve konteyner ‘izin reddedildi’ hatasıyla başlangıçta çöküyor. Bu sorunu önlemek için, hizmeti başlatmadan önce bu dizinlerin sahipliğini doğru kullanıcıya açıkça veriyoruz.

# Set ownership of the volume directories to UID/GID 1000
sudo chown -R 1000:1000 data files

.env dosyasını ekleme

Docker, sistem yapılandırmalarını ve sırlarını compose.yaml‘a kodlamadan konteynerlerimize iletmek için .env dosyasını kullanır.

Dosyayı aynı dizinde oluşturun:

nano .env

Aşağıdaki yapılandırmayı yapıştırın (example.com ve veritabanı parolasını kendi güvenli değerlerinizle değiştirdiğinizden emin olun):

# n8n Settings
DOMAIN_NAME=example.com
SUBDOMAIN=n8n
GENERIC_TIMEZONE=Europe/Chisinau
N8N_HOST=n8n.example.com
N8N_PROTOCOL=https
WEBHOOK_URL=https://n8n.example.com/
N8N_SECURE_COOKIE=false
NODE_ENV=production


# PostgreSQL
POSTGRES_DB=n8n
POSTGRES_USER=n8n
POSTGRES_PASSWORD=changeme123

Ortam değişkenlerini anlama:

DeğişkenAçıklama
Alan Adı ve Ana BilgisayarDOMAIN_NAME, SUBDOMAIN ve N8N_HOST tanımlar. Bunlar n8n uygulamasını belirli bir URL’ye (örneğin n8n.example.com) eşlemek için gereklidir ve DNS aracılığıyla harici erişim sağlar.
Saat DilimiGENERIC_TIMEZONE, Node.js uygulama işlemi için saat dilimini ayarlar, böylece zamanlama ve günlük zaman damgaları bölgeniz için doğru olur.
Protokoller ve Web HookN8N_PROTOCOL ve WEBHOOK_URL, n8n’in dış dünyayla nasıl etkileşim kurduğunu yapılandırır. Bu, geri arama URL’si gerektiren hizmetleri entegre ediyorsanız çok önemlidir.
Güvenli ÇerezN8N_SECURE_COOKIE, varsayılan olarak HTTPS ters proxy olmadan yerel olarak çalıştığımız için false olarak ayarlanır. Daha sonra harici proxy aracılığıyla SSL/HTTPS yapılandırırsanız, varsayılan olarak true olması için bu satırı silebilirsiniz.
Düğüm OrtamıNODE_ENV kesinlikle production olarak ayarlanmalıdır. Bu, gerçek dağıtım aşamalarından bağımsız olarak, hata ayıklama yerine performans için temel Node.js sunucusunu optimize eder.
Veritabanı Kimlik BilgileriPOSTGRES_DB, USER ve PASSWORD, ilk başlangıçta PostgreSQL veritabanını oluşturmak ve sonraki bağlantıları doğrulamak için kullanılır. Her zaman burada güçlü özel parolalar kullanın.

Dosyayı kaydedin ve kapatın. Artık Docker Compose yığınını çalıştırmak için gerekli tüm yapılandırmalara sahipsiniz.

Docker hizmetlerini başlatma

Proje dizininize gidin ve tüm hizmetleri arka planda başlatın.

# Use your own path if different
cd /opt/docker_services/n8n

docker compose up -d

Docker gerekli görüntüleri çeker ve konteynerlerinizi başlatır. Çalışır duruma geldikten sonra, n8n port 5678’de (varsayılan) veya ters proxy kullanıyorsanız yapılandırılmış alan adınızda kullanılabilir olacaktır.

Düzgün çalışıp çalışmadığını doğrulamak için n8n ve postgres konteynerlerinin listelenip çalışıp çalışmadığını kontrol edin.

docker ps

N8N ile çalışma

Hizmetler başarıyla çalışır duruma geldikten sonra, N8N’i keşfetmeye başlamak için nihayet heyecan verici zaman geldi!

N8N’e erişim

N8N bir web tarayıcısı aracılığıyla erişilebilir. Bu yerel kurulumda, aşağıdaki URL’de kullanılabilir: http://localhost:5678.

İlk erişimde, doldurulacak ortak alanlarla bir giriş sayfası görünür.

Login page

Lisans anahtarını ayarlama

Başlangıçta, N8N ücretli özelliklerin kilidini açan ücretsiz bir lisans anahtarı sunan bir pencere görüntüler. Evet, doğru duydunuz: ücretli özellikler ücretsiz! Bu, kendi kendine barındırılan bir N8N örneğini çalıştırmanın faydalarından biridir.

License key

Lisans anahtarını e-postanızda aldıktan sonra, bunu etkinleştirmek için Ayarlar->Kullanım ve Plan‘a gidebilirsiniz.

License key activate

İlk iş akışını oluşturma

Yeni iş akışları doğrudan ana sayfadan oluşturulabilir. Aşağıdaki resme bakın.

Create wf

İlk yürütme kullanım durumu için iki düğüm kullanılacaktır:

  • Manuel Tetikleyici: iş akışını manuel olarak başlatır.
  • Düğüm Ayarla: alanları ve değerlerini tanımlar ve bunlarla çalışır.

Manuel Tetikleyici düğümü yapılandırma gerektirmez, ancak Ayarla düğümü gerektirir. Bizim durumumuzda, amaç ‘n8n works’ belirten bir mesajı olay zaman damgasıyla birlikte çıkarmaktır. Ayarla düğümü bu nedenle aşağıdaki resimde gösterildiği gibi yapılandırılır.

Set node

İki düğüm bağlandıktan ve yapılandırıldıktan sonra, İş akışını yürüt düğmesine basarak iş akışını başlatırız.

Success 1
Success 2

Tebrikler 👏, ilk N8N iş akışınız başarıyla yürütüldü!

“`html

Sırada ne var?

Bu ilk kurulum sadece başlangıçtır. N8N’in gerçek gücü, günlük araçlarınızı bağlamaya ve tekrarlayan görevleri otomatikleştirmeye başladığınızda ortaya çıkar. Örneğin, web sitenizden gelen yeni müşteri adaylarını otomatik olarak bir CRM’ye senkronize etmek, acil uyarıları ve kritik hizmet hatalarını bir takım sohbetine yönlendirmek veya çeşitli SaaS platformlarından verileri düzenli olarak veritabanınıza yedeklemek için iş akışları oluşturabilirsiniz. İşlemlerinizi otomatikleştirme ve günlük iş yükünüzü basitleştirme olasılıkları neredeyse sonsuzdur.

“`

Sonuç

Bu kılavuzu tamamlayarak, günlük operasyonlarınızı yönetme şeklinizi dönüştürebilecek güçlü, kendi kendine barındırılan bir platform başarıyla dağıttınız. Bu kurulum boyunca bizi takip ettiğiniz için teşekkür ederiz! N8N’in neler yapabileceğini keşfetmeye devam ederken, daha fazla harika ve yararlı araçları keşfetmek için diğer öğreticilerimizi kontrol ettiğinizden emin olun. Ölçeklendirmeye veya yeni, heyecan verici projelere dalmaya hazır olduğunuzda, AlexHost‘un hizmetlerinizi güvenilir bir şekilde barındırmak için ihtiyaç duyduğunuz tüm güçlü altyapıyı sağladığını unutmayın.