GHOSTVPS / Otomasyon
Docker ve SSH tüneliyle özel n8n kurulumu
5678 portunu internete açmadan özel n8n düzenleyicisi çalıştırın.
Güncelleme · GhostVPS

Başlamadan önce
Sudo, Docker Engine 28+, Compose v2 ve SSH bulunan yeni Linux VPS gerekir. Önce resmî Docker kurulumunu tamamlayın. SQLite ve tek konteyner örneği deneme/elle çalıştırılan akışlar içindir; üretim kümesi veya genel webhook kurulumu değildir. Mevcut n8n kurulumunun üzerine uygulamayın.
Ön koşulları kontrol edin
VPS üzerinde iki komut da başarılı olmalıdır. Eksik bileşen için resmî Docker kurulumuna bakın; bilinmeyen kurulum betiğini root kabuğuna yönlendirmeyin. Kaynakları rastgele bir RAM alt sınırına değil, iş akışlarınıza göre planlayın.
VPS sunucunuz · Linux terminali
sudo docker version
sudo docker compose version

Proje ve sürüm seçin
Yeni klasör ve .env dosyası oluşturun. REPLACE_WITH_REVIEWED_STABLE_VERSION yerine resmî n8n sürümlerinden desteklenen belirli kararlı sürümü yazın; güvenlik ve yükseltme notlarını okuyun. Yer tutucuyu bırakmayın, incelenmemiş değişken etiket kullanmayın.
VPS sunucunuz · Linux terminali
mkdir -m 700 ~/n8n-private
cd ~/n8n-private
nano .env
Dosya içeriği
N8N_VERSION=REPLACE_WITH_REVIEWED_STABLE_VERSION

Yerel bağlantılı Compose dosyasını kaydedin
İçeriği proje klasöründe compose.yaml olarak kaydedin. Yayımlanan tek adres 127.0.0.1 olur. Adlandırılmış birim, konteyner yeniden oluşturulduğunda veritabanını ve üretilen şifreleme anahtarını saklar. Adresi 0.0.0.0 yapmayın ve Docker socket bağlamayın.
Dosya içeriği
services:
n8n:
image: docker.n8n.io/n8nio/n8n:${N8N_VERSION:?Set N8N_VERSION in .env}
restart: unless-stopped
ports:
- "127.0.0.1:5678:5678"
environment:
TZ: Etc/UTC
GENERIC_TIMEZONE: Etc/UTC
N8N_HOST: localhost
N8N_PORT: "5678"
N8N_PROTOCOL: http
N8N_EDITOR_BASE_URL: http://localhost:5678
N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS: "true"
volumes:
- n8n_data:/home/node/.n8n
volumes:
n8n_data:

Doğrulayın ve başlatın
Önce yalnızca izin ve config kontrollerini çalıştırın. Hata varsa pull veya up öncesi düzeltin. Başlatıldıktan sonra compose ps çalışan n8n göstermelidir. Sorunda günlükleri inceleyin; tünel sorununu çözmek için düzenleyiciyi internete açmayın.
VPS sunucunuz · Linux terminali
chmod 600 .env &&
grep -Eq '^N8N_VERSION=[0-9]+[.][0-9]+[.][0-9]+$' .env &&
sudo docker compose config --quiet &&
sudo docker compose pull &&
sudo docker compose up -d &&
sudo docker compose ps

SSH tüneliyle bağlanın
Kendi bilgisayarınızda hesap ve adresi değiştirerek SSH komutunu çalıştırın. Sunucu parmak izini güvenilir kanaldan doğrulayın. Terminal açık kalsın; aynı bilgisayarda http://localhost:5678 açıp sahip hesabı oluşturun. Port doluysa sol tarafta 15678 kullanıp localhost:15678 açın.
Bilgisayarınız · terminal
ssh -N -o ExitOnForwardFailure=yes -L 127.0.0.1:5678:127.0.0.1:5678 deploy@203.0.113.10
İzole n8n 2.45.5 denemesinden gerçek ekran görüntüleridir. Arayüz sürüme göre değişebilir. Tam boyut için görseli açın.

Test edin ve yedeklemeyi planlayın
Gizli olmayan değerle elle tetiklenen akış çalıştırıp başarıyı doğrulayın. Günlükleri paylaşmadan hassas verileri gizleyin. Yükseltmeden önce birim, şifreleme anahtarı ve ayarları tutarlı yedekleyin; down -v kullanmayın. Genel webhook için güncel belgelere göre ayrı alan adı/TLS/reverse proxy gerekir. Hata aşmak için secure cookies kapatmayın.
VPS sunucunuz · Linux terminali
sudo docker compose logs --tail=50 n8n
Test için Manual Trigger ile Edit Fields (Set) düğümünü bağlayın. message (String) = GhostVPS tutorial check ve verified (Boolean) = true alanlarını ekleyin. Kaydedip Execute seçin; Edit Fields çıktısında iki değeri doğrulayın.





