Oracle Cloud’da n8n Nasıl Kurulur?

Resul Coskun 29 Haziran 2025 18:56

N8n’i bütçenizi zorlamadan mı kurmak istiyorsunuz? Oracle Cloud Free Tier‘da HTTPS, özel bir alt alan adı ve sıfır açık port ile (Cloudflare Tunnel sayesinde!) güvenli bir şekilde nasıl çalıştırdığımı adım adım anlatacağım. Neyin işe yaradığını birlikte inceleyelim.

🛠️ Ön koşullar

  • Oracle Cloud Free Tier VM (Ubuntu 22.04): Bu kurulumun temelini oluşturan sanal makineniz. Eğer henüz bir Oracle VM’iniz yoksa, bu adımlara başlamadan önce buradaki kılavuzu takip ederek (Lütfen bu bağlantıyı gerçek rehber bağlantınızla değiştirin) bir Oracle Cloud Free Tier VM kurmanız gerekecek.
  • Bir Alan Adı: Kendi özel alt alan adınızı kullanabilmeniz için (örneğin, n8n.yourdomain.com gibi) bir alan adına sahip olmanız önemlidir.
  • Temel DNS Yönetim Erişimi: Alan adınızın DNS kayıtlarını yönetebilmek için (Cloudflare veya benzeri bir sağlayıcı üzerinden) erişiminizin olması gerekmektedir.

🧱 Adım 1: Docker ve Docker Compose Kurulumu

Oracle sanal makinenize SSH ile bağlandıktan sonra ilk olarak Docker ve Docker Compose’u kurmalısınız:

sudo apt update
sudo apt install -y docker.io docker-compose
sudo usermod -aG docker $USER
newgrp docker

Kurulumun başarılı olduğunu doğrulamak için aşağıdaki komutları kullanabilirsiniz:

docker --version

📦 Adım 2: n8n’i Docker ile Çalıştırın

Şimdi n8n’i Docker ile çalıştırmak için gerekli adımları izleyeceğiz. İlk olarak, n8n için bir klasör oluşturun ve bu klasörün içine docker-compose.yml dosyasını ekleyin:

mkdir ~/n8n && cd ~/n8n
nano docker-compose.yml

docker-compose.yml dosya içeriği;

version: "3"

services:
  n8n:
    image: n8nio/n8n
    restart: always
    ports:
      - "5678:5678"
    environment:
      - N8N_BASIC_AUTH_ACTIVE=true
      - N8N_BASIC_AUTH_USER=admin
      - N8N_BASIC_AUTH_PASSWORD=securepassword
      - WEBHOOK_TUNNEL_URL=https://n8n.yourdomain.com
    volumes:
      - ~/.n8n:/home/node/.n8n

Her şey hazır olduğunda, n8n’i başlatmak için aşağıdaki komutu kullanın:

docker-compose up -d

🌐 Adım 3: Alt Etki Alanını Oracle VM’ye Yönlendirin

N8n kurulumunuzu erişilebilir kılmak için, alt etki alanınızı Oracle sanal makinenizin genel IP adresine yönlendirmeniz gerekiyor. Bunun için DNS sağlayıcınıza (örneğin Cloudflare) giriş yapın ve aşağıdaki DNS kaydını ekleyin:

Type: A
Name: n8n
Value: <Oracle_VM_Public_IP>
TTL: Auto

Bu kayıt, n8n.alanadınız.com adresine yapılan istekleri doğrudan Oracle VM’nize yönlendirecektir.

🌐 Oracle Cloud Sunucunuzda 80 ve 443 Portlarını Etkinleştirme

Oracle Cloud’da varsayılan olarak 80 (HTTP) ve 443 (HTTPS) portları güvenlik nedeniyle dışarıdan erişime kapalıdır. N8n gibi uygulamaların sorunsuz çalışması için bu portları açmanız gerekir.


Portları Etkinleştirme Adımları:

  • Sanal Bulut Ağına Erişin: Oracle Cloud arayüzünde, sunucu örneğinizin ayrıntılar ekranına gidin. Burada Virtual Cloud Network seçeneğine tıklayın.
1 89go6HZAYLZgiNhpCFJ22g
  • Güvenlik Listesine Gidin: Sol menüde Security List seçeneğini bulup tıklayın.
  • İlgili Güvenlik Listesini Seçin: Listeden sunucunuzla ilişkili olan güvenlik listesine tıklayarak detaylarını açın.
1 EIgVrHhiOI1VHtti 3KBHw
  • Add Ingress Rules” tıklayın
1 5ZGtZIZcMqN5HEGc7La mw
  • 80 ve 443 Portu için Kural Oluşturun: Aşağıdaki gibi bir kural ekleyerek 80 ve 443 numaralı portlara gelen bağlantılara açın:
    • Kaynak CIDR: 0.0.0.0/0 (Bu, tüm IP adreslerinden gelen bağlantılara izin verir.)
    • IP Protokolü: TCP
    • Hedef Port Aralığı: 80,443

Artık n8n’e http://n8n.yourdomain.com:5678 adresinden erişebilmeniz gerekir.


🔒 Adım 4: Nginx ve Certbot ile HTTPS’i Etkinleştirin

Şimdi Nginx ve Certbot’u kurarak N8n bağlantınızı HTTPS ile güvenli hale getireceğiz.

Nginx ve Certbot’u kurmak için:

sudo apt install nginx certbot python3-certbot-nginx -y

Bir yapılandırma dosyası oluşturun:

sudo nano /etc/nginx/sites-available/n8n

Açılan dosyaya aşağıdaki yapılandırmayı yapıştırın:

server {
    listen 80;
    server_name n8n.yourdomain.com;

    location / {
        proxy_pass http://localhost:5678;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

Oluşturduğunuz Nginx yapılandırmasını etkinleştirmek ve Nginx’i yeniden başlatmak için şu komutları sırasıyla çalıştırın:

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

Şimdi N8n’iniz için bir SSL sertifikası alarak HTTPS’i aktif hale getirelim. Bunun için Certbot’u kullanacağız:

sudo certbot --nginx -d n8n.yourdomain.com

Artık N8n’e güvenli bir şekilde https://n8n.yourdomain.com adresinden erişebilirsiniz.

🛡️ BONUS: Cloudflare Tüneli ile Sıfır Port Erişimi (İsteğe Bağlı)

Maksimum güvenlik arayışındaysanız, herhangi bir portu dışarıya açmak yerine Cloudflare Tüneli’ni kullanabilirsiniz. Bu yöntem, sunucunuzun dış dünyaya tamamen kapalı olmasını sağlarken, uygulamalarınıza güvenli bir şekilde erişmenize olanak tanır.

Cloudflare’in tünel yazılımı olan cloudflared‘ı kurarak başlayalım:

wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb
sudo dpkg -i cloudflared-linux-amd64.deb

Şimdi Cloudflare hesabınızla kimlik doğrulaması yapın:

cloudflared tunnel login

N8n için bir tünel oluşturun ve bu tüneli alan adınıza yönlendirin:

cloudflared tunnel create n8n-tunnel
cloudflared tunnel route dns n8n-tunnel n8n.yourdomain.com

Aşağıdaki komutla yapılandırma dosyasını oluşturalım:

nano ~/.cloudflared/config.yml

Açılan dosyaya aşağıdaki yapılandırmayı yapıştırın:

tunnel: n8n-tunnel
credentials-file: /home/ubuntu/.cloudflared/n8n-tunnel.json

ingress:
  - hostname: n8n.yourdomain.com
    service: http://localhost:5678
  - service: http_status:404

Son olarak, oluşturduğunuz tüneli başlatın:

cloudflared tunnel run n8n-tunnel

Hiçbir portu dışarıya açmadan N8n’e artık HTTPS üzerinden güvenli bir şekilde erişebilirsiniz.



✅ Sonuç

Bu rehberde N8n için güvenli ve üretim ortamına hazır bir kurulum gerçekleştirdik. İşte farklı yaklaşımların sonuçları:

YaklaşımSonuçNeden Kullanmadık / Tercih Ettik
Ham Oracle VM IP ErişimiHTTPS yokGüvenli değil ve üretim ortamı için uygun değil.
Nginx + Let’s Encrypt (Certbot)Harika çalışıyorTam kontrol sağlıyor, HTTPS’i etkinleştiriyor.
Cloudflare TüneliAçık porta gerek yokEn güvenli ve gizli seçenek.
Ngrok (test için)Geçici, ölçeklenemezYalnızca geliştirme aşaması için iyi.
DNS Yapılandırması + Alt Alan AdıHarika çalışıyorErişimi kolaylaştırıyor ve markaya özel hale getiriyor.

Artık kendi alt alan adınız ve HTTPS ile güvenli, üretim ortamına hazır bir N8n kurulumunuz var. CI/CD (Sürekli Entegrasyon/Sürekli Teslimat) veya yedeklemeler hakkında ek bilgiye ihtiyacınız olursa lütfen çekinmeyin!

Mutlu otomasyonlar! 🤖✨

Bir yanıt yazın

Yorumlar (0)

Bu yazıya ait yorum bulunamadı. İlk yorumu sen yapmak ister misin?