Açık Kaynak Uygulamalar

    Coolify mi Dokploy mu CapRover mı? Kendi Sunucunuza PaaS Paneli Seçimi

    Üç self-hosted PaaS panelini kaynak tüketimi, deploy akışı, yedekleme ve olgunluk açısından karşılaştırıp senaryo bazlı öneri veren rehber.

    13 dk okuma Güncellendi: 18 Ağustos 2026

    VDS kararını çoktan verdiniz. Vercel'in fatura ekranına ya da Heroku'nun dyno fiyatına bakıp "bunu kendi sunucumda çalıştırırım" dediniz, sunucuyu aldınız, root parolası elinizde. Şimdi tek bir soru kaldı ve internette bu sorunun Türkçe düzgün bir cevabı yok: makineye hangi paneli kuracaksınız?

    Karşınızda üç ciddi seçenek var. Coolify en çok konuşulanı, Dokploy en hızlı büyüyeni, CapRover ise 2017'den beri ayakta olanı. Üçü de aynı vaadi veriyor: bir Git deposunu bağla, git push yap, uygulaman canlıda ve SSL sertifikası hazır. Ama boşta yedikleri RAM 300 MB ile 1 GB arasında değişiyor ve bu fark, 2 GB'lık bir sunucuda uygulamalarınıza kalan alanı iki katına çıkarıp yarıya indirebiliyor. Yani panel seçimi aslında sunucu paketi seçiminin devamı.

    Bu yazıda üçünü aynı kriter setiyle karşılaştıracağım: boşta tükettikleri kaynak, Git tabanlı deploy akışı, Dockerfile ve Compose desteği, veritabanı ve yedekleme yönetimi, otomatik SSL, çok sunuculu çalışma, olgunluk ve topluluk. Ardından hiçbirinin çözmediği iki sorunu konuşacağız — panelin kendisi çöktüğünde ne oluyor ve yedeklemenin gerçekte kime ait olduğu. Sonunda senaryo bazlı bir öneri var; "panel kurmadan Compose ile devam etmek" seçeneği de masada kalacak. Coolify'ı hiç duymadıysanız, ne olduğunu anlatan Coolify nedir yazısı iyi bir başlangıç; burada tanıtım değil, seçim yapıyoruz.

    Üç Panel Aynı Şeyi Vaat Ediyor ama Aynı Şey Değil#

    Üçü de arkada Docker çalıştırıyor, üçü de bir ters proxy koyuyor, üçü de Let's Encrypt sertifikasını sizin yerinize alıyor. Fark, hangi soruna öncelik verdiklerinde.

    CapRover en eski ve en dar kapsamlı olanı. Docker Swarm üzerine kurulu, ters proxy olarak nginx kullanıyor ve felsefesi şu: bir uygulama = bir konteyner. captain-definition adında küçük bir dosya koyarsınız, CLI ile deploy edersiniz, iş biter. Basitliği bir eksiklik değil, bilinçli bir tasarım; buna karşılık çok servisli karmaşık yığınlarda sınırlarına hızlı çarparsınız.

    Dokploy son iki yılın hızlı yükselen ismi. O da Docker Swarm ve Traefik kullanıyor ama CapRover'ın aksine Docker Compose'u birinci sınıf vatandaş olarak destekliyor. En hafif olanı bu; kaynak sıkıntısı olan tek sunucu senaryosunda öne çıkan tarafı da bu.

    Coolify üçünün en kapsamlısı. Uygulama, veritabanı, servis, zamanlanmış görev, önizleme dağıtımı, çok sunucu yönetimi — hepsi tek panelde. Karşılığında en ağır olanı da o, çünkü kendisi bir Laravel uygulaması ve yanında Postgres, Redis ve gerçek zamanlı bildirim için bir WebSocket servisi çalıştırıyor. Aldığınız özellik seti gerçek, ödediğiniz bedel de gerçek.

    Bunların hiçbiri Portainer'ın yerine geçmez, geçmeye de çalışmaz. Portainer var olan konteynerleri yöneten bir arayüzdür; bu üçü ise kaynak kodundan konteyner üreten bir hattır. İkisini karıştırıyorsanız Portainer'ın ne yaptığını ayrıca okuyun.

    Boşta Ne Kadar Kaynak Yiyorlar, Hangi VDS'i Almalısınız#

    Bu bölüm en çok atlanan ama parayı doğrudan belirleyen bölüm. Panel, sunucunuzda 7/24 çalışan bir uygulamadır ve tükettiği her megabayt, uygulamalarınıza kalmayan bir megabayttır.

    Aşağıdaki değerler kurulum sonrası, üzerinde uygulama çalışmayan boş bir sistemde gözlenen mertebelerdir. Kesin sayı değil, büyüklük sırasıdır; sürüm ve dağıtıma göre oynar.

    CapRoverDokployCoolify
    Boşta RAM (panel yığını)~250–400 MB~350 MB~800 MB–1 GB
    Resmî asgari1 GB RAM2 GB RAM önerilir2 vCPU / 2 GB RAM
    Rahat çalışma2 vCPU / 4 GB2 vCPU / 4 GB4 vCPU / 8 GB
    AltyapıDocker Swarm + nginxDocker Swarm + TraefikDocker + Traefik
    Panel portu3000 (kurulum)30008000

    Bu tabloyu okurken hesabı şöyle kurun: sunucunun ilk 1,5 GB'ı size ait değildir. İşletim sistemi, Docker daemon ve panelin kendisi bunu alır. 2 GB'lık bir makinede Coolify kurarsanız uygulamalarınıza pratikte birkaç yüz megabayt kalır; tek bir Node.js uygulaması bile bunu doldurur ve ilk build sırasında OOM killer devreye girer. Coolify'ın 2 GB'ı "asgari" diye vermesi kurulumun tamamlanacağı anlamına gelir, üzerinde iş yapabileceğiniz anlamına gelmez.

    Kendi makinenizde gerçek sayıyı görmek için tahmin yürütmeyin, ölçün:

    # Panel yığınının boşta ne yediğini konteyner konteyner görün
    docker stats --no-stream --format "table {{.Name}}\t{{.MemUsage}}\t{{.CPUPerc}}"
    
    # Sistem genelinde kalan gerçek boş bellek (available sütunu)
    free -m
    
    # Build sırasında ani bellek tepesini yakalamak için
    watch -n 2 'free -m | head -2'
    

    Son komut önemli: paneller boşta değil, build sırasında öldürür. Bir Next.js derlemesi tek başına 1–2 GB tepe yapabilir. Sunucuyu boşta tüketime göre seçerseniz ilk deploy'da duvara çarparsınız. Swap açmak bu tepeleri yumuşatır ve küçük makinelerde neredeyse zorunludur. Kaç çekirdek ve kaç GB'a ihtiyacınız olduğunu ayrıntılı hesaplamak için VDS için kaç CPU ve RAM gerekir yazısındaki yöntemi bu tablonun üstüne koyabilirsiniz.

    Git Push ile Deploy Akışı Üçünde Nasıl Çalışıyor#

    Vaat aynı, mekanizma farklı.

    Coolify ve Dokploy GitHub/GitLab uygulaması ya da deploy anahtarı ile depoya bağlanır, webhook kurar ve push geldiğinde build'i sunucuda başlatır. İkisi de Nixpacks benzeri otomatik algılama kullanır: depoda Dockerfile yoksa dili ve paket yöneticisini tanıyıp imajı kendisi üretir. Panelde canlı build logu akar, hata olursa eski sürüm ayakta kalır.

    CapRover farklı bir yol izler ve bu fark bazılarını rahatsız eder. Varsayılan akışı CLI üzerinden caprover deploy ile tarball göndermek ya da depoya webhook bağlamaktır; deponun kökünde captain-definition dosyası bulunmasını bekler:

    {
      "schemaVersion": 2,
      "dockerfilePath": "./Dockerfile"
    }
    

    Bu dosya kaynak deponuza bir panelin adını taşıyan bir bağımlılık ekler. Küçük bir ayrıntı gibi görünür ama panel değiştirmeye karar verdiğinizde her depoda temizlik yapmanız gerekir. Buna karşılık CapRover'ın avantajı da buradan gelir: ne olduğu tamamen açıktır, sihir yoktur.

    Üçünde de otomatik algılamanın tuzağı aynı: monorepo. Depo kökünde tek bir uygulama yoksa üçü de yanlış tahmin eder. Bu durumda otomatik algılamayı kapatıp uygulama başına build bağlamını (context) ve Dockerfile yolunu elle vermek en sağlıklısı. Coolify ve Dokploy panelde bunun için alan sunar; CapRover'da captain-definition içindeki dockerfilePath bunu karşılar.

    Geri alma (rollback) tarafında Coolify ve Dokploy önceki dağıtıma tek tıkla dönmeye izin verir. CapRover'da eski imaj etiketleri Swarm'da durduğu için servis sürümünü geri almak mümkündür, ama iş biraz daha manuel.

    Dockerfile, Docker Compose ve Hazır Şablon Desteği#

    Bu, üçünü en net ayıran kriter ve genellikle kararı da bu belirler.

    YetenekCapRoverDokployCoolify
    Dockerfile ile deployVarVarVar
    Otomatik dil algılamaKısmenVarVar
    Docker Compose yığınıSınırlıVarVar
    Hazır şablon sayısı100+380+Geniş katalog
    Önizleme dağıtımı (PR başına URL)YokVarVar

    Compose satırı hayati. Uygulamanız tek konteynerse (bir Laravel API, bir Next.js sitesi) üçü de işinizi görür. Ama uygulamanız web + worker + redis + postgres gibi dört servisten oluşuyorsa CapRover'da her birini ayrı "app" olarak tanımlayıp aralarındaki ağı elle kurmanız gerekir; Dokploy ve Coolify'da mevcut compose.yaml dosyanızı olduğu gibi yapıştırırsınız.

    # Dokploy ve Coolify bu yığını tek parça olarak alır;
    # CapRover'da bu dört servisi ayrı uygulama olarak kurmanız gerekir
    services:
      web:
        build: .
        environment:
          DATABASE_URL: postgres://app:${DB_PASS}@db:5432/app
          REDIS_URL: redis://cache:6379
        depends_on: [db, cache]
      worker:
        build: .
        command: ["node", "worker.js"]
        depends_on: [db, cache]
      db:
        image: postgres:16-alpine
        environment:
          POSTGRES_USER: app
          POSTGRES_PASSWORD: ${DB_PASS}
        volumes:
          - dbdata:/var/lib/postgresql/data
      cache:
        image: valkey/valkey:8-alpine
    volumes:
      dbdata:
    

    Compose dosyasını yazmakta zorlanıyorsanız Docker Compose kullanımı yazısı bu sözdizimini adım adım açıklıyor — ve o beceri panel seçiminden bağımsız olarak elinizde kalır, bu yüzden öğrenmeye değer.

    Veritabanı Yönetimi ve Otomatik Yedekleme#

    Coolify ve Dokploy, panel üzerinden Postgres, MySQL, MariaDB, MongoDB ve Redis/Valkey örneği oluşturmanıza izin verir; bağlantı dizesini üretir, uygulamaya ortam değişkeni olarak geçirir ve S3 uyumlu bir hedefe zamanlanmış yedek atabilir. Bu son madde ciddi bir kolaylıktır: cron yazmadan, mysqldump komutunu hatırlamadan, panelde saat seçerek kurulur.

    CapRover'da durum farklıdır. Veritabanını tek tıkla uygulama olarak kurabilirsiniz ama zamanlanmış yedekleme yerleşik değildir; onu kendiniz kurarsınız. CapRover'ın kendi backup komutu ise panel yapılandırmasını yedekler, uygulama verilerinizi değil. Bu ayrımı kaçırmak, "yedeğim var" sanıp aslında hiçbir şeyi olmamak demektir.

    Bu farkın pratik sonucu şu: CapRover seçerseniz yedekleme planını ilk gün, panel kurulumuyla aynı gün yapmalısınız. Diğer ikisinde de panelin yedeği yalnızca panelin yönettiği veritabanlarını kapsar; uygulamanızın diske yazdığı kullanıcı dosyaları, yükleme klasörleri ve Docker volume'ları bu kapsamın dışındadır. Yani hiçbir panel, sunucu yedeğinin yerini tutmaz.

    Otomatik SSL ve Ters Proxy Katmanı#

    Üçü de alan adını yazmanızın ardından Let's Encrypt sertifikasını alır ve otomatik yeniler. Aradaki fark, altta hangi proxy'nin durduğu.

    CapRover nginx kullanır. Nginx yapılandırmasına aşinaysanız bu bir avantajdır; panel gelişmiş kullanıcılar için özel nginx blokları eklemenize izin verir. Dokploy ve Coolify ise Traefik kullanır; yönlendirme kuralları konteyner etiketleriyle tanımlanır ve panel bunları sizin yerinize yazar. Traefik'in mantığını anlamak ileri yapılandırmalarda çok işinize yarar; Traefik nedir yazısı bu etiket mantığını açıklıyor.

    Üçünde de aynı iki kural geçerli: alan adının A kaydı sunucunun IP'sine bakıyor olmalı ve 80/443 portları dışarıya açık olmalı. Let's Encrypt doğrulaması 80 portundan geçer; güvenlik duvarında yalnızca 443'ü açmak sertifika alımını sessizce başarısız kılar ve panelde anlaşılmaz bir hata görürsünüz.

    CapRover'ın bir de kendine has port ihtiyacı vardır ve kurulumdan önce bilmek gerekir. Swarm iletişimi için ek portlar açık olmalı:

    # CapRover kurulumu (resmî tek satır)
    docker run -p 80:80 -p 443:443 -p 3000:3000 \
      -e ACCEPTED_TERMS=true \
      -v /var/run/docker.sock:/var/run/docker.sock \
      -v /captain:/captain \
      caprover/caprover
    
    # Swarm için gerekli portlar (UFW örneği)
    ufw allow 80,443,3000,996,7946,4789,2377/tcp
    ufw allow 7946,4789/udp
    
    # Dokploy kurulumu
    curl -sSL https://dokploy.com/install.sh | sh
    

    Kurulum bittikten sonra üçünde de ilk iş aynıdır: panel arayüzünü bir alan adının arkasına alıp SSL ile korumak ve panel portunu (3000/8000) dışarıya kapatmak. Yönetim arayüzünü çıplak IP üzerinde açık bırakmak, bu üç panelde de en sık görülen güvenlik hatasıdır.

    Çok Sunuculu Çalışma ve Ekip Kullanımı#

    Tek sunucuda kalacaksanız bu bölümü atlayabilirsiniz; büyüme ihtimali varsa atlamayın, çünkü panel değiştirmek uygulama taşımaktan daha zahmetlidir.

    Coolify uzak sunucuları SSH ile ekler ve her birine ayrı ayrı uygulama dağıtır. Sunucular birbirinden bağımsız kalır; küme değil, merkezî yönetimdir. Ajans senaryosunda müşteri başına ayrı sunucu tutup hepsini tek panelden yönetmek için doğru model budur.

    Dokploy Docker Swarm kümesine düğüm ekleme yolunu izler: yeni sunucunun SSH bilgilerini girersiniz, Dokploy onu worker olarak kümeye katar. Bu, yatay ölçekleme (aynı uygulamanın birden çok kopyası) için daha uygundur.

    CapRover de Swarm kümesine düğüm eklemeyi destekler, ama arayüz tarafı diğer ikisi kadar gelişkin değildir.

    Ekip tarafında ise net bir ayrım var: Coolify ve Dokploy takım/rol kavramına sahiptir, farklı kişilere farklı projelerde yetki verebilirsiniz. CapRover pratikte tek yönetici parolasıyla çalışır. Üç kişilik bir ekip parolayı paylaşabilir; on kişilik bir ajansta bu sürdürülebilir değildir ve bu tek başına CapRover'ı eleyebilir.

    Olgunluk, Geliştirme Hızı ve Topluluk#

    CapRover 2017'den beri sahada. Olgun, öngörülebilir ve az sürpriz çıkarıyor. Bunun bedeli arayüzün eskimiş görünmesi ve geliştirme temposunun yavaşlaması; yeni özellik beklemeyin, ama gece 3'te sunucunuzu kilitleyen bir sürprizle de karşılaşmazsınız.

    Coolify hızlı geliştiriliyor ve bunun iki yüzü var: özellikler hızlı geliyor, bazen kırılmalar da öyle. Büyük sürüm atlamadan önce not okumak ve önce anlık görüntü almak burada tavsiye değil, kural.

    Dokploy en genç olanı, dolayısıyla en az sahada yıpranmış olanı. Kod tabanı temiz ve hızlı ilerliyor, ama beş yıllık üretim geçmişi yok.

    Üçünde de değişmeyen bir gerçek şu: bu paneller altyapınızın kritik yolunda duruyor. "En yeni" olanı seçmek, üretimde sizin test etmeniz anlamına gelir. Müşteri projesi barındıracaksanız bu maliyeti fiyatlamaya katın.

    Hiçbirinin Çözmediği İki Sorun#

    Panel, sunucunun kendisini yedeklemez#

    Üçünün de yedekleme özelliği vardır ve üçü de aynı yanılsamayı yaratır. Panel en iyi ihtimalle kendi yönettiği veritabanlarını dışarı atar. Kapsam dışında kalanlar: uygulamanızın yüklediği dosyalar, Docker volume'ları, panelin kendi yapılandırması, alan adı ve sertifika kayıtları, ortam değişkenleri.

    Sunucu diski çökerse ya da bir komutla /var/lib/docker silinirse, elinizdeki veritabanı dökümüyle sistemi yeniden kurmanız günler alır. Doğru kurgu iki katmanlıdır: hipervizör seviyesinde düzenli anlık görüntü artı dosya seviyesinde bağımsız bir yedek. Bu ikisinin neden aynı şey olmadığını snapshot mı yedek mi yazısında ayrıntısıyla ele aldık; kısacası anlık görüntü aynı altyapıda durur ve yanlışlıkla silinen bir veriyi geri getirmenin doğru aracı değildir.

    Panel çökerse uygulamalar ne olur#

    İyi haber: çalışmaya devam eder. Uygulamalarınız panelin içinde değil, ayrı Docker konteynerleri olarak çalışır; yeniden başlatma politikaları tanımlıdır ve ters proxy (nginx ya da Traefik) ayrı bir konteyner olarak trafiği yönlendirmeye devam eder. Panel konteynerini durdurup siteyi tarayıcıda yenilediğinizde bunu kendiniz doğrulayabilirsiniz.

    Kötü haber, sessiz olanı: panel çalışmıyorken deploy edemez, ortam değişkeni değiştiremez, log okuyamaz ve en önemlisi SSL sertifikalarınız yenilenmez. Let's Encrypt sertifikaları 90 gün geçerlidir. Panel bozulur ve siz bunu fark etmezseniz, siteniz haftalarca sorunsuz çalışır, sonra bir sabah tüm alan adlarınız aynı anda sertifika hatası verir. Bu yüzden panelin ayakta olup olmadığını dışarıdan izlemek, uygulamalarınızı izlemek kadar önemlidir.

    Senaryo Bazlı Öneri: Hangisini Kurmalısınız#

    Tek küçük VDS, 1–3 kişisel proje, 2–4 GB RAM. Dokploy ya da CapRover. Kaynak sıkışıksa Dokploy'un hafifliği belirleyicidir ve Compose desteğiyle büyümeye yer bırakır. Sadeliği ve öngörülebilirliği önemsiyorsanız CapRover'ın on yıllık sicili hâlâ değerlidir. Coolify'ı bu bütçede kurmayın; kurulur ama üzerinde iş yapamazsınız.

    Birden fazla müşteri projesi, ajans işi. Coolify, 4 vCPU / 8 GB üzerinde. Önizleme dağıtımları, geniş servis kataloğu, çok sunucu yönetimi ve rol bazlı erişim bu senaryoda karşılığını verir. Müşteri projelerini tek makineye yığmak yerine sunucu başına ayırıp hepsini tek panelden yönetmek de en temiz kurgudur.

    Ekip kullanımı, birden fazla geliştirici. Coolify veya Dokploy. CapRover'ın tek yönetici parolası modeli burada elenir.

    Yatay ölçekleme, aynı uygulamanın çok kopyası. Dokploy'un Swarm odaklı çok düğüm yaklaşımı en doğrudan yoldur. Gerçekten Kubernetes'e ihtiyacınız varsa bu üçü de yanlış katmandır; o zaman panel değil, orkestratör konuşuyorsunuz demektir.

    Panel kurmadan devam etmek de geçerli bir seçenek. Tek geliştirici, bir veya iki uygulama, ayda birkaç deploy yapıyorsanız docker compose artı Traefik ya da Caddy ile aynı sonucu alırsınız; SSL'i Caddy zaten kendiliğinden halleder. Kazandığınız şey gerçektir: ne panel güncellemesi, ne panel arızası, ne de panelin taşıdığı ekstra 300–1000 MB RAM. Kaybettiğiniz de gerçektir: arayüzden log okuma, tek tıkla geri alma ve önizleme dağıtımları. Ölçüt basit — deploy sıklığınız ve ekipteki kişi sayısı. Haftada birkaç kez deploy yapan bir ekipseniz panel kendini öder; ayda bir deploy yapan tek kişiyseniz panel çoğunlukla bakımını üstlendiğiniz fazladan bir bileşendir.

    Sıkça Sorulan Sorular#

    Coolify için gerçekten kaç GB RAM gerekiyor?#

    Resmî asgari 2 vCPU ve 2 GB'dır, ancak bu yalnızca panelin kurulup açılması içindir. Coolify yığını boşta 800 MB–1 GB civarı tüketir, işletim sistemi ve Docker daemon da payını alır; geriye uygulamalara birkaç yüz megabayt kalır. Build sırasında bir Next.js derlemesi tek başına bunu aşar. Gerçek kullanım için 4 GB alt sınır, birden fazla proje barındıracaksanız 8 GB rahat rakamdır.

    Dokploy mu Coolify mi seçmeliyim?#

    Kaynağınız kısıtlıysa ve tek sunucuda kalacaksanız Dokploy; boşta belirgin şekilde daha az yer kaplar ve Compose desteği aynı seviyededir. Birden fazla sunucu yönetecek, önizleme dağıtımı kullanacak veya geniş bir hazır servis kataloğuna ihtiyaç duyacaksanız Coolify. Karar aslında sunucu bütçenizle verilir: 4 GB altındaysanız Dokploy, 8 GB üzerindeyseniz Coolify tarafına eğilin.

    CapRover hâlâ kullanılabilir mi, projesi bakılıyor mu?#

    Evet, proje bakımda ve üretimde kullanılmaya devam ediyor. 2017'den beri sahada olması olgunluk avantajı sağlıyor; buna karşılık geliştirme temposu diğer ikisinden yavaş, arayüzü eski ve Docker Compose desteği sınırlı. Tek konteynerli uygulamalar ve tek yöneticili kurulumlar için hâlâ sağlam bir seçim, ama çok servisli yığınlarda ve ekip kullanımında sınırlarına çarparsınız.

    Panel çökerse sitelerim kapanır mı?#

    Hayır, uygulamalarınız çalışmaya devam eder. Konteynerler panelden bağımsız süreçlerdir ve ters proxy trafiği yönlendirmeyi sürdürür. Ancak panel ayakta değilken deploy yapamaz, ortam değişkeni değiştiremez ve en kritiği SSL sertifikalarınızı yenileyemezsiniz. Let's Encrypt sertifikaları 90 günlük olduğu için panel arızası fark edilmezse birkaç hafta sonra tüm alan adlarınız aynı anda sertifika hatası verir.

    Bu panelleri var olan bir cPanel sunucusuna kurabilir miyim?#

    Kurmayın. Bu paneller 80 ve 443 portlarını kendi ters proxy'leriyle ele geçirir ve Docker'ın ağ kurallarını iptables'a yazar; cPanel'in Apache/nginx yapılandırmasıyla doğrudan çatışır. Sonuç genellikle iki tarafın da bozulması olur. Panel için ayrı bir sunucu kullanın; aynı makinede iki farklı yönetim katmanı barındırmak, kazandığınız her şeyi ilk arızada geri verir.

    Panel kurmadan sadece Docker Compose ile devam edebilir miyim?#

    Kesinlikle. Bir veya iki uygulamanız varsa ve ayda birkaç kez deploy yapıyorsanız docker compose artı Caddy ile aynı sonucu alırsınız; Caddy SSL sertifikasını kendiliğinden alıp yeniler. Kazancınız panelin RAM'i, güncellemesi ve arıza yüzeyidir. Panel asıl değerini deploy sıklığı arttığında ve birden fazla kişi aynı sunucuya dokunmaya başladığında gösterir.

    PaaSDockerDağıtım

    Uygulamaya geçmeye hazır mısınız?

    NVMe SSD, ücretsiz SSL ve %99.9 uptime garantisiyle Clou.TR hosting ve sunucu çözümleriyle projenizi hayata geçirin.