n8n'i Docker Compose ile Kendi Kendine Barındırma: Alman Sunucular için Eksiksiz Kılavuz
n8n, Docker Compose ile nasıl kurulur: SQLite yerine Postgres, .env, volume'ler ve güncellemeler adım adım.
n8n, Docker Compose ile birkaç adımda kendi sunucunuza kurulabilir: kimlik bilgilerini içeren bir compose dosyası ve bir .env dosyası oluşturursunuz, kalıcı veriler için bir volume tanımlarsınız ve stack'i tek bir komutla başlatırsınız. Üretim kullanımı için çoğu işletmeci, birlikte gelen SQLite veritabanından PostgreSQL'e geçer, çünkü aynı anda çalışan birden fazla workflow ve düzenli yedeklemeler bu şekilde daha güvenilir çalışır. Bu makale compose dosyasının yapısını, gerekli ortam değişkenlerini, volume'leri ve güncelleme sürecini gösterir. Güncelleme tarihi: Temmuz 2026.
n8n, Docker Compose ile nasıl kurulur?
Kurulum, n8n konteynerini başlatan bir compose.yaml dosyası ve sunucuya özel değerler için bir .env dosyası ile yapılır. Bir Linux sunucusunda önce Docker ve Docker Compose'un kurulu olup olmadığını, örneğin docker --version ve docker compose version komutlarıyla kontrol edin. Ardından compose.yaml, .env dosyası ve n8n ile host arasında dosya alışverişi için local-files alt klasörünü içeren bir proje dizini oluşturun. Başlatma docker compose up -d komutuyla yapılır, ardından n8n yapılandırılan alan adı üzerinden veya reverse proxy olmadan basit tek konteynerli bir kurulumda http://localhost:5678 adresinden erişilebilir olur. Resmi n8n dokümantasyonu bunun için hazır bir kurulum sunar: Docker Compose, ayrıca TLS sertifikaları için reverse proxy olarak Traefik'i de içerir.
SQLite mi PostgreSQL mi: hangi veritabanı mantıklı?
n8n varsayılan olarak SQLite kullanır ve kimlik bilgilerini, workflow'ları ve çalıştırma geçmişini ek bir yapılandırma olmadan .n8n dizinindeki database.sqlite dosyasında saklar. PostgreSQL'e geçmek için compose dosyasında uygun ortam değişkenlerini, veritabanı seçimi dokümantasyonunda açıklandığı gibi ayarlayın.
- DB_TYPE: SQLite'ı değiştirmek için postgresdb olarak ayarlanır
- DB_POSTGRESDB_HOST ve DB_POSTGRESDB_PORT: Postgres sunucusunun adresi ve portu
- DB_POSTGRESDB_DATABASE: veritabanının adı, varsayılan değer n8n
- DB_POSTGRESDB_USER ve DB_POSTGRESDB_PASSWORD: veritabanı için kimlik bilgileri
- DB_POSTGRESDB_SCHEMA: veritabanı içindeki şema, varsayılan değer public
Önemli: PostgreSQL kullanılsa bile /home/node/.n8n dizini için volume gereklidir, çünkü kimlik bilgileri için şifreleme anahtarı hala orada bulunur.
.env dosyasında neler olmalı?
.env dosyası, compose.yaml'ın kendisi değişmeden kalması için sunucudan sunucuya farklılık gösteren tüm değerleri bir araya getirir. Resmi Docker kurulumu kılavuzuna göre buraya en azından aşağıdaki değişkenler ait olmalıdır.
- DOMAIN_NAME ve SUBDOMAIN: birlikte n8n'in hangi adres üzerinden erişilebilir olduğunu belirler, örneğin n8n.ornek.com
- GENERIC_TIMEZONE ve TZ: zamanlama node'ları ve sistem komutları için saat dilimini kontrol eder
- SSL_EMAIL: Traefik üzerinden otomatik sertifika verilmesi için iletişim adresi
- N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS: yapılandırma dosyalarının izinlerini güvence altına almak için true olarak ayarlanmalıdır
Bu dosya parolalar ve kimlik bilgileri içerdiğinden herkese açık bir Git deposunda bulunmamalıdır.
n8n hangi volume ve dizinlere ihtiyaç duyar?
Kalıcı bir çalışma için her yeniden başlatmada korunması gereken birkaç depolama konumu önemlidir.
- n8n_data: /home/node/.n8n konumuna bağlanır, kullanılıyorsa SQLite veritabanını ve şifreleme anahtarını içerir
- traefik_data: birlikte gelen reverse proxy'yi kullanıyorsanız TLS sertifikalarını saklar
- local-files: host üzerinde dosya alışverişi için yerel dizin, N8N_RESTRICT_FILE_ACCESS_TO değişkeni üzerinden bağlanır
Bu volume'ler olmadan, konteyner her yeniden oluşturulduğunda workflow'lar, kimlik bilgileri ve sertifikalar kaybolur.
n8n, Docker Compose ile nasıl güncellenir?
Bir güncelleme, compose dosyasının bulunduğu dizinde üç komut üzerinden yapılır: docker compose pull yeni image sürümünü indirir, docker compose down çalışan stack'i durdurur ve docker compose up -d onu güncel image ile yeniden başlatır. Volume'ler bundan etkilenmez, böylece workflow'lar ve kimlik bilgileri korunur. En yeni kararlı sürüme otomatik olarak güncellemek yerine belirli bir sürümü sabitlemek isteyenler, compose.yaml içinde belirli bir sürüm etiketi belirtebilir; dokümantasyona göre örneğin docker.n8n.io/n8nio/n8n:1.81.0, kararsız beta sürümleri için next etiketi yerine. Baştan temiz bir yapılandırma isteyenler, sonradan sunucu sorunlarını çözmek yerine bir kez baştan sona planlamayı tercih eder. NordFlux tam olarak bunu n8n kurulumu kapsamında sabit fiyatla üstlenir; gerçek kullanıma uygun şekilde SQLite ile PostgreSQL arasında karar vermeyi de içerir.
n8n Docker Compose hakkında sık sorulan sorular
n8n'i Docker Compose ile çalıştırmak için kendi alan adıma ihtiyacım var mı?
Hayır, bu zorunlu değildir. Basit bir tek konteynerli kurulum için eşlenmiş bir volume ve 5678 portu yeterlidir, n8n bu durumda yerel olarak http://localhost:5678 üzerinden erişilebilir olur. Bir alan adı yalnızca resmi kılavuzda açıklanan, Traefik'i reverse proxy olarak ve otomatik TLS sertifikası kullanan yapıyı kullanmak istediğinizde gerekli olur.
n8n kimlik bilgilerimi ve workflow'larımı nerede saklar?
Her şey konteyner içindeki /home/node/.n8n dizinine işaret eden bağlı volume içinde bulunur. SQLite kullanımında veritabanı dosyası orada bulunur ve veritabanı seçiminden bağımsız olarak, kaydedilmiş kimlik bilgileri için şifreleme anahtarı da orada bulunur. Bu volume olmadan, bir sonraki konteyner yeniden başlatmasında tüm veriler kaybolur.
n8n'i veri kaybı olmadan nasıl güncellerim?
docker compose pull, docker compose down ve docker compose up -d sırası, volume'lere dokunmadan image'ı günceller. Workflow'lar, kimlik bilgileri ve veritabanı volume'lerde bulunduğundan, güncelleme sırasında korunurlar. Büyük sürüm sıçramalarından önce yine de sürüm notlarına göz atmakta fayda vardır, çünkü ortam değişkenleri sürümler arasında değişebilir.
Sabit bir n8n sürümü ile beta sürümü arasında seçim yapabilir miyim?
Evet, Docker image'ları farklı etiketlerle yayınlanır. 1.81.0 gibi belirli bir sürüm etiketi kararlı bir sürümü sabitler, next etiketi ise yeni özellikleri önceden test etmek isteyenler için kararsız beta sürümü sunar. Üretim sunucuları için sabitlenmiş bir sürüm etiketi daha güvenilir bir seçimdir.
NordFlux UG (haftungsbeschränkt)
NordFlux, kuruluşlar için dijital çalışanlar kurar: tekrar eden işleri üstlenen otomasyonlar ve KI ajanları. Kontrol sizde kalır.
Otomasyon veya KI hakkında somut sorularınız mı var?
Ücretsiz bir ön analizde durumunuzu doğrudan görüşürüz. Bağlayıcı değildir.