Arama Yap Mesaj Gönder
Biz Sizi Arayalım
+90
X

Lütfen Ülke (Bölge) Seçiniz

Türkiye (Türkçe)Türkiye (Türkçe) Almanya (German)Almanya (German) Worldwide (English)Worldwide (English)
X

Lütfen Para Birimi Seçiniz

Türk Lirası $ US Dollar Euro
X

Lütfen Ülke (Bölge) Seçiniz

Türkiye (Türkçe)Türkiye (Türkçe) Almanya (German)Almanya (German) Worldwide (English)Worldwide (English)
X

Lütfen Para Birimi Seçiniz

Türk Lirası $ US Dollar Euro

Bize Ulaşın

Konum Halkalı merkez mahallesi fatih cd ozgur apt no 46 , Küçükçekmece , İstanbul , 34303 , TR
Son teknik kontrol · 17.08.2026 · Coolify App Deploy

Coolify App Deployment: PHP ≠ Laravel ≠ Node.js

Üç uygulama da “web sitesi” olabilir ama production ihtiyaçları aynı değildir. Laravel queue/scheduler ve migration ister; Node.js process/health davranışı farklıdır; klasik PHP’de document root ve PHP-FPM ayarı öne çıkar.

Üretim notu

Database migration’ı her restart’ta otomatik çalıştırmayın. Birden fazla replica aynı migration’ı eşzamanlı başlatabilir; deploy pipeline’da tek kontrollü adım kullanın.

coolify php deploycoolify laravel deploycoolify nodejs deploy
TEKNİK UYGULAMA PROFİLİ
EKA CORE
Coolify App Deploy

Deploy stratejisini framework’e göre seçin. Her uygulama için build komutu, start process, port, health endpoint, persistent path ve secret listesi önceden tanımlanırsa Coolify yalnız “container çalıştıran panel” değil güvenilir deployment katmanı olur.

3Runtime modeli
Kontrol
/healthRelease kapısı
Kontrol
ENVSecret sınırı
Kontrol
RollbackDeploy standardı
Kontrol
Teknik rehber · production odaklı · resmî kaynaklar
Kısa cevap

Deploy stratejisini framework’e göre seçin. Her uygulama için build komutu, start process, port, health endpoint, persistent path ve secret listesi önceden tanımlanırsa Coolify yalnız “container çalıştıran panel” değil güvenilir deployment katmanı olur.

01

Teknik kapsam ve önemli noktalar

Coolify’de PHP, Laravel ve Node.js projelerini aynı reçeteyle değil runtime’a göre yayınlayın. Buildpack/Dockerfile, env, queue, scheduler, healthcheck, migration ve rollback örnekleri.

3Runtime modeli

PHP, Laravel ve Node.js için ayrı deploy karar ağacı.

/healthRelease kapısı

Yeni container trafiğe girmeden önce uygulama health endpoint’i cevap vermeli.

ENVSecret sınırı

`.env` dosyasını repo’ya gömmek yerine platform secret/env yönetimini kullanın.

RollbackDeploy standardı

Başarılı deploy kadar önceki release’e dönüş de test edilmelidir.

Bu sayfada

  1. 1. Runtime karar matrisi
  2. 2. Klasik PHP: document root ve upload path’i netleştirin
  3. 3. Laravel: web, queue ve scheduler’ı ayrı process kabul edin
  4. 4. Node.js: build-time ve run-time environment’ı ayırın
  5. 5. Healthcheck yalnız “200 OK” değil bağımlılık sınırı olmalı
  6. 6. Migration ve deploy sırasını transaction gibi tasarlayın
  7. 7. Rollback’ın hangi veriyi geri almadığını açıkça yazın
  8. Sık sorulan sorular
02

1. Runtime karar matrisi

Projeyi Coolify’e eklemeden önce hangi process’in port dinlediğini, hangi dosyanın kalıcı olduğunu ve build’in nerede yapıldığını yazın.

UygulamaBuildProcessKalıcı veri
Klasik PHPComposer/asset olabilirNginx/Apache + PHP-FPMuploads
LaravelComposer + frontendWeb + queue + schedulerstorage/uploads
Node.jsNode.jsNode.jsnpm/pnpm/yarn buildnode/pm2/framework serverGenelde stateless; app’e bağlı
03

2. Klasik PHP: document root ve upload path’i netleştirin

Legacy PHP uygulamalarında `public_html`, `/public` veya proje kökü varsayımları değişebilir. Yanlış root kaynak kodunu web’den erişilebilir yapabilir.

Composer production install sırasında dev dependency’leri dışarıda bırakın.
Upload klasörünü immutable image içinde bırakmayın; volume/object storage planlayın.
PHP memory/upload limits’i workload’a göre explicit yapın.
04

3. Laravel: web, queue ve scheduler’ı ayrı process kabul edin

Queue worker’ı web container lifecycle’ına körü körüne bağlamak deploy sırasında yarım kalan job’lar yaratabilir. Scheduler için tek-instance davranışını koruyun.

Komut
php artisan about
Komut
php artisan config:cache
Komut
php artisan route:cache
Komut
php artisan queue:restart
Komut
php artisan migrate --force
05

4. Node.js: build-time ve run-time environment’ı ayırın

Next.js/Vite gibi araçlarda bazı değişkenler build sırasında bundle’a gömülür; runtime secret ile aynı davranmaz. Hangi env’in build-time olduğunu dokümante edin.

Komut
node --version
Komut
npm --version
Komut
npm ci
Komut
npm run build
Komut
npm run start
06

5. Healthcheck yalnız “200 OK” değil bağımlılık sınırı olmalı

Liveness endpoint process’in yaşadığını, readiness endpoint ise trafiğe hazır olduğunu gösterebilir. Database kesildiğinde her iki sinyalin aynı davranması gerekmez.

EndpointAmaçDB kontrolü
/liveProcess ayakta mı?Genellikle hayır
/readyTrafik alabilir mi?Gerekirse evet
07

6. Migration ve deploy sırasını transaction gibi tasarlayın

Backward-compatible schema değişikliği → yeni app → eski column cleanup gibi expand/contract yaklaşımı downtime ve rollback riskini azaltır.

Önce nullable/yeni column ekleyin.
Yeni uygulamanın eski ve yeni şema ile çalışmasını sağlayın.
Eski column/index temizliğini sonraki deploy’a bırakın.
08

7. Rollback’ın hangi veriyi geri almadığını açıkça yazın

Eski container’a dönmek, database migration veya kullanıcı upload’larını otomatik geri almaz. Release rollback ile data rollback ayrı prosedürdür.

EKA SUNUCU · TECHNICAL

Framework’e göre deploy profili seçin

PHP/Laravel/Node.js uygulamalarınız için build süresi, queue ve database yüküne göre uygun Eka Sunucu VPS kaynağını planlayabilirsiniz.

Production ilkesiÖlç → Test Et → Canlıya AlUydurma benchmark verisi kullanılmaz.
SRC

Resmî kaynaklar

Rehber hazırlanırken esas alınan birincil dokümantasyon ve teknik kaynaklar.

EKA

İlgili teknik içerikler

İlgili altyapı ve uygulama rehberleriyle devam edin.

FAQ

Sık sorulan sorular

Coolify App Deploy

Laravel queue worker Coolify’de ayrı servis olmalı mı?

Production’da web process’ten ayrı lifecycle ve scaling ihtiyacı olduğu için ayrı process/service olarak yönetmek genellikle daha kontrollüdür.

Node.js hangi portu dinlemeli?

Uygulamanın platformun beklediği port/environment değerini dinlemesi gerekir; hostta public port açmak çoğu reverse-proxy senaryosunda gerekmez.

PHP upload dosyaları container içinde tutulur mu?

Immutable/redeploy edilen container içinde kalıcı veri tutulmamalıdır; volume veya object storage kullanın.

Deploy rollback database’i de geri alır mı?

Hayır, container/image rollback ile database rollback ayrı işlemlerdir. Migration stratejisi rollback uyumlu tasarlanmalıdır.

Top