n8n, uygulamaları, API’leri ve yapay zekâ modellerini görsel bir düzenleyiciyle birbirine bağlayan bir iş akışı aracıdır. Kendiniz barındırmak, iş akışlarınızın, kimlik bilgilerinizin ve verilerinizin kontrol ettiğiniz bir sunucuda kalması ve çalıştırmaların ölçülmemesi demektir. Bu rehber n8n’i Docker Compose, bir Postgres veritabanı ve HTTPS ile dağıtır; yapay zekâ ajanlarını 7/24 çalıştırmaya hazır hale getirir.
Ajanlar için neden VPS?
Ajanlar çoğu zaman zamanlamayla çalışır veya webhook’lara tepki verir, bu yüzden sürekli açık ve erişilebilir bir sunucuya ihtiyaç duyarlar. VPS, webhook’lar için sabit bir adres ve iş akışlarının duyarlı kalması için yeterli RAM sağlar. 2 vCPU, 4 GB’lık bir plan küçük bir kurulum için uygundur. Boyutlar için yapay zekâ ajanı hosting’ine bakın; yerel modeller istiyorsanız bir GPU sunucusu ekleyin.
Başlamadan önce
- Docker kurulu bir VPS. Docker kurulumuna bakın.
- Sunucuya yönlendirilmiş bir alan adı. DNS kayıtlarına bakın.
Adım 1: Compose dosyası
mkdir -p ~/n8n && cd ~/n8n
cat > compose.yaml <<'YAML'
services:
db:
image: postgres:16
restart: unless-stopped
environment:
POSTGRES_USER: n8n
POSTGRES_PASSWORD: ${DB_PASSWORD}
POSTGRES_DB: n8n
volumes:
- db:/var/lib/postgresql/data
n8n:
image: n8nio/n8n:latest
restart: unless-stopped
depends_on: [db]
environment:
DB_TYPE: postgresdb
DB_POSTGRESDB_HOST: db
DB_POSTGRESDB_USER: n8n
DB_POSTGRESDB_PASSWORD: ${DB_PASSWORD}
N8N_HOST: n8n.example.com
N8N_PROTOCOL: https
WEBHOOK_URL: https://n8n.example.com/
N8N_ENCRYPTION_KEY: ${ENCRYPTION_KEY}
GENERIC_TIMEZONE: UTC
ports:
- "127.0.0.1:5678:5678"
volumes:
- n8n:/home/node/.n8n
volumes:
db:
n8n:
YAML
Adım 2: gizli anahtarlar
cat > .env <<ENV
DB_PASSWORD=$(openssl rand -hex 24)
ENCRYPTION_KEY=$(openssl rand -hex 32)
ENV
chmod 600 .env
ENCRYPTION_KEY değerini yedekleyin. Onsuz n8n, sakladığı kimlik bilgilerinin şifresini çözemez.
Adım 3: n8n’i başlatın
docker compose up -d
docker compose logs -f n8n
Adım 4: HTTPS
n8n.example.com {
reverse_proxy 127.0.0.1:5678
}
Caddy’yi yeniden yükleyin, siteyi açın ve sahip hesabını oluşturun.
Adım 5: bir ajan iş akışı oluşturun
- Bir Webhook veya Schedule tetikleyicisi ekleyin.
- Bir AI Agent düğümü ekleyin ve bir sohbet modeli bağlayın; örneğin barındırılan bir API veya kendi GPU sunucunuzda Ollama.
- Ajana HTTP istekleri, bir veritabanı veya bir mesajlaşma düğümü gibi araçlar verin.
- Elle çalıştırarak test edin, ardından iş akışını etkinleştirin.
Güvende tutun
- n8n’i 127.0.0.1’e bağlayın ve yalnızca HTTPS proxy’sini dışarı açın.
- Mümkün olduğunda webhook’ları gizli bir başlık veya yol ile koruyun.
- Postgres birimini ve n8n birimini yedekleyin. restic veya borg ile yedeklemelere bakın.
- Sürüm notlarını okuduktan sonra
docker compose pull && docker compose up -dile güncelleyin.