Ana SayfaSunucu, Ağ ve SistemSanallaştırma ve KonteynerDocker Compose ile Kurumsal n8n Kurulumu ve PostgreSQL Veritabanı Yapılandırması

Docker Compose ile Kurumsal n8n Kurulumu ve PostgreSQL Veritabanı Yapılandırması

Author

Date

Category

Neden Kurumsal n8n Dağıtımlarında SQLite Yerine PostgreSQL Seçilmeli?

n8n varsayılan olarak SQLite veritabanı ile ayağa kalkar. Ancak ERP entegrasyonları, otomatik fatura senkronizasyonları ve yüksek hacimli webhook tetiklemeleri devreye girdiğinde SQLite kilitlenme hataları (database is locked) üretir. Kurumsal ortamlarda veri bütünlüğü, yüksek işlem hızı ve düzenli yedeklenebilirlik için n8n uygulamasının arkasında bağımsız bir PostgreSQL konteyneri çalıştırılmalıdır.

Adım Adım Docker Compose ile Dağıtım

1. Sunucu Gereksinimleri ve Dizin Yapısı

Ubuntu 22.04 / 24.04 LTS sunucunuzda Docker ve Docker Compose paketlerinin kurulu olduğunu doğrulayın. Çalışma alanını hazırlayın:

Bash

mkdir -p /opt/n8n-docker && cd /opt/n8n-docker
mkdir n8n_data postgres_data

2. docker-compose.yml Dosyasının Hazırlanması

Terminal üzerinden nano docker-compose.yml komutuyla yapılandırma dosyasını oluşturun:

YAML

version: '3.8'

services:
  postgres:
    image: postgres:15-alpine
    restart: always
    environment:
      POSTGRES_USER: n8n_user
      POSTGRES_PASSWORD: GucluParolaniz2026!
      POSTGRES_DB: n8n_database
    volumes:
      - ./postgres_data:/var/lib/postgresql/data
    networks:
      - n8n_network

  n8n:
    image: docker.n8n.io/n8nio/n8n:latest
    restart: always
    environment:
      - DB_TYPE=postgresdb
      - DB_POSTGRESDB_HOST=postgres
      - DB_POSTGRESDB_PORT=5432
      - DB_POSTGRESDB_DATABASE=n8n_database
      - DB_POSTGRESDB_USER=n8n_user
      - DB_POSTGRESDB_PASSWORD=GucluParolaniz2026!
      - N8N_HOST=otomasyon.alanadiniz.com
      - N8N_PORT=5678
      - N8N_PROTOCOL=https
      - NODE_ENV=production
      - WEBHOOK_URL=https://otomasyon.alanadiniz.com/
      - GENERIC_TIMEZONE=Europe/Istanbul
    ports:
      - "127.0.0.1:5678:5678"
    volumes:
      - ./n8n_data:/home/node/.n8n
    networks:
      - n8n_network
    depends_on:
      - postgres

networks:
  n8n_network:
    driver: bridge

3. Nginx Reverse Proxy ve SSL Sertifikasyonu

Port 5678’i dış dünyaya doğrudan açmak yerine Nginx üzerinden proxy_pass verilmeli ve Let’s Encrypt SSL tanımlanmalıdır:

  • Nginx sunucu bloğunda WebSocket desteği için Upgrade $http_upgrade ve Connection "Upgrade" başlıklarını ekleyin.

  • Certbot ile SSL sertifikasını üretip aktif edin: certbot --nginx -d otomasyon.alanadiniz.com

4. Servisi Başlatma ve Sağlık Kontrolü

Aşağıdaki komutla servisleri arka planda başlatın:

Bash

docker compose up -d
docker compose logs -f n8n

Log ekranında Editor is now accessible via: [https://otomasyon.alanadiniz.com/](https://otomasyon.alanadiniz.com/) ibaresi görüldüğünde kurulum tamamlanmıştır.

Veri Yedekleme Stratejisi

PostgreSQL veritabanını düzenli yedeklemek için bir cron işi tanımlanmalı ve docker exec -t [postgres_konteyner_id] pg_dumpall -c -U n8n_user > yedek.sql komutu günlük olarak izole bir depolama alanına aktarılmalıdır. Karmaşık API köprüleri ve muhasebe entegrasyon süreçleriniz için BaykalSoft otomasyon danışmanlığından faydalanabilirsiniz.

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz

Önceki Gönderiler

Önceki Yorumlar