Ana içeriğe geç

n8n Kurulumu: Ubuntu Üzerinde Docker ve Nginx ile Self-Hosted Otomasyon

Bu rehberde n8n’i kendi sunucunuzda güvenli şekilde çalıştırmayı öğreneceksiniz.
Docker, PostgreSQL, Nginx ve HTTPS ile üretime hazır kurulum yapacağız.

Bu Rehberde Ne Öğreneceksiniz?

  • n8n’i Ubuntu üzerinde Docker Compose ile kurmayı
  • PostgreSQL kullanarak kalıcı veri saklamayı
  • Nginx ile HTTPS üzerinden güvenli erişim sağlamayı
  • İlk workflow’u oluşturup test etmeyi

n8n Nedir ve Neden Kullanılır?

n8n, açık kaynaklı bir iş akışı otomasyon platformudur.
Servisleri görsel bir editörle birbirine bağlamanızı sağlar.

SaaS araçlardan farklı olarak kendi altyapınızda çalışır.
Bu sayede veri gizliliği ve tam kontrol elde edersiniz.


Kurulum Ön Koşulları

Başlamadan önce aşağıdakiler hazır olmalıdır:

  • Ubuntu 22.04 veya daha yeni bir sunucu
  • Sunucuya yönlendirilmiş bir alan adı
  • sudo yetkisine sahip kullanıcı
  • Docker ve Docker Compose

Docker kurulumu için:

sudo apt update
sudo apt install docker.io docker-compose -y
  • Bu komut Docker ve Docker Compose’u kurar.

1. Docker Compose Yapılandırmasını Oluşturma

  1. n8n servisleri için bir klasör oluşturun:

mkdir ~/n8n && cd ~/n8n
nano docker-compose.yml
  • Bu komut proje dizinini oluşturur ve yapılandırma dosyasını açar.

Aşağıdaki yapılandırmayı ekleyin:


version: "3.7"

services:
db:
image: postgres:14
environment:
POSTGRES_USER: n8n
POSTGRES_PASSWORD: n8npass
POSTGRES_DB: n8n
volumes:
- postgres_data:/var/lib/postgresql/data

n8n:
image: n8nio/n8n
ports:
- "5678:5678"
environment:
DB_TYPE: postgresdb
DB_POSTGRESDB_HOST: db
DB_POSTGRESDB_DATABASE: n8n
DB_POSTGRESDB_USER: n8n
DB_POSTGRESDB_PASSWORD: n8npass
N8N_BASIC_AUTH_ACTIVE: "true"
N8N_BASIC_AUTH_USER: admin
N8N_BASIC_AUTH_PASSWORD: strongpass
N8N_HOST: n8n.rabisu.cloud
WEBHOOK_TUNNEL_URL: https://n8n.rabisu.cloud
depends_on:
- db
volumes:
- n8n_data:/home/node/.n8n

volumes:
postgres_data:
n8n_data:
  • Bu yapı PostgreSQL ve n8n servislerini birlikte çalıştırır.

2. n8n Servisini Başlatma

  1. Container’ları arka planda çalıştırın:

docker-compose up -d
  • Bu komut n8n ve PostgreSQL servislerini başlatır.

Tarayıcıdan erişim için:


http://sunucu_ip:5678
  • HTTPS yoksa tarayıcı uyarı verebilir.

3. Nginx ve HTTPS ile Güvenlik

  1. Üretim ortamında HTTPS zorunludur.

Nginx ve Certbot Kurulumu


sudo apt install nginx certbot python3-certbot-nginx -y
  • Bu komut Nginx ve Let’s Encrypt araçlarını kurar.

Nginx Reverse Proxy Ayarı


server {
listen 80;
server_name n8n.rabisu.cloud;

location / {
proxy_pass http://localhost:5678;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
  • Bu yapı Nginx’i n8n önüne reverse proxy olarak koyar.

Aktif edin:


sudo ln -s /etc/nginx/sites-available/n8n /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

SSL Sertifikası Alma


sudo certbot --nginx -d n8n.rabisu.cloud
  • Bu komut HTTPS sertifikasını alır ve otomatik tanımlar.

4. İlk n8n Workflow’unu Oluşturma

  • Arayüze giriş yaptıktan sonra:
  1. New Workflow oluşturun

  2. Webhook tetikleyicisi ekleyin

  3. HTTP Method: POST

  • Path: test-webhook

-Yanına bir Set node ekleyin. Değer olarak "Hello from n8n!" yazın.

Test için:


curl -X POST https://n8n.rabisu.cloud/webhook/test-webhook
  • Bu komut workflow’u tetikler.

Örnek Kullanım Senaryosu

  • n8n ile şunlar otomatik yapılabilir:
  1. UptimeRobot ile sunucu izleme

  2. Servis çökünce otomatik restart

  3. Slack ve WhatsApp bildirimleri

  4. Cloudflare DNS veya SSL güncelleme

  5. Bu sayede manuel müdahale azalır.


Sıkça Sorulan Sorular (SSS)

1. n8n neden Docker ile kurulmalı? Kurulum, güncelleme ve yedekleme kolaylaşır.

2. SQLite yerine neden PostgreSQL? Üretimde daha kararlı ve ölçeklenebilir.

3. HTTPS olmadan çalışır mı? Çalışır ama güvenli değildir.

4. Workflow’lar paralel çalışır mı? Evet, yeterli kaynak varsa aynı anda çalışır.

5. Yedekleme nasıl yapılır? Docker volume’leri düzenli yedekleyin.


Sonuç

n8n’i Ubuntu üzerinde güvenli ve ölçeklenebilir şekilde kurdunuz. Artık otomasyon süreçlerini kendi altyapınızda yönetebilirsiniz.

Yüksek performanslı ve güvenli sunucular için Rabisu Bulut altyapısını hemen deneyebilirsiniz 🚀