Her push aynı ritüeli tekrarlar: SSH ile bağlan, depoyu çek, Compose yığınını yeniden ayağa kaldır, hiçbir şeyin bozulmadığını um ve migration'ı çalıştırıp çalıştırmadığını hatırlamaya çalış. Bu manuel döngü, tekrarlanabilir dağıtımlara, neyin çalıştığına dair net bir kayda veya sapmadan kurtulmaya ihtiyaç duyana kadar iş görür.
Doco CD bunun doğrudan bir yanıtı. Git deponuzu izleyen ve push yaptığınızda Compose değişikliklerini uygulayan küçük bir Go servisi: webhook ya da yoklama, seçim sizin. ArgoCD ve Flux bunu Kubernetes için yapar, ama Doco CD Kubernetes'i atlar, çünkü bir kontrol düzlemine ihtiyacı yok.
Bu inceleme Doco CD'nin ne yaptığını, ne yapmadığını ve Komodo, Portainer'ın GitOps modu, Dokploy ile sade bir GitHub Actions + SSH betiği karşısında nasıl durduğunu ele alıyor. Sonunda kurulumunuza uyup uymadığını ve uymuyorsa ne seçmeniz gerektiğini bileceksiniz.
Özetle
- Doco CD, Compose'a özgü küçücük bir GitOps ajanı: bir Git deposunu (GitHub, GitLab, Gitea, Forgejo ve diğerleri) izler ve bir şey değiştiğinde yığınınızı uzlaştırır.
- Harici gizli bilgi sağlayıcılarına yönelik yerleşik destek ve SOPS tabanlı şifreleme, kendi dağıtım betiğinizi yazmaya kıyasla asıl farkı yaratan şey.
- README'sine göre kendini "Docker için basit bir Portainer ya da ArgoCD alternatifi" olarak konumluyor. Bu çerçeve aşağı yukarı doğru.
- Gerçek sınırlar: tek bir kod sahibi, 1.0 öncesi sürümleme, filo yönetimi arayüzünün olmaması ve yalnızca bir sonraki yoklama ya da webhook olayından sonra yeniden kurulan uzlaştırma durumu.
- Bir ya da birkaç Compose sunucusu çalıştırıyor ve arayüz olmadan Git'i tek doğru kaynak yapmak istiyorsanız bunu seçin. Filo için Komodo, arayüz istiyorsanız Portainer, PaaS hissi için Dokploy, gerçekten tek sunucuda tek servis varsa GitHub Actions + SSH tercih edin.
Doco CD'nin Doldurmaya Çalıştığı Boşluk
2026'da Docker Compose çalıştıran herkes için tuhaf bir ara alan var. Argo CD ve Flux gibi büyük GitOps araçları Kubernetes'i hedefliyor, Watchtower'ın kayıt defterini yoklayan modeli ise sürümlenmiş bir Compose durumunu uygulamak yerine imaj değişikliklerine tepki veriyor. Watchtower'ın deposu 17 Aralık 2025'te arşivlendi ve artık projenin bakımının sürdürülmediğini belirtiyor.
GitHub Actions ve bir SSH dağıtım adımı iş görür. Tek sunucuda tek servis için doğru tercih budur. Sorun, ikinci bir sunucu ya da ikinci bir yığın eklediğinizde veya şu an hangi commit'in dağıtıldığını bilmek istediğinizde başlar. İş akışı günlükleri elinizde kalır, ama Compose'a özgü uzlaştırma, sapmadan kurtarma ya da sunucunun hâlâ depoyla eşleştiğine dair kalıcı bir görünüm elinizde olmaz.
Doco CD'nin iddiası, doğrudan README'den, "Docker için basit bir Portainer ya da ArgoCD alternatifi" olduğu. Bütün mesele bu çerçevede: küçük, Compose'a özgü, Kubernetes yok, bakımını üstleneceğiniz bir arayüz yok, başında bekleyeceğiniz merkezî bir kontrol düzlemi yok. K8s çalıştırmıyor ve zaten istemiyorduysanız, aradığınız kategori tam olarak bu.
Doco CD Gerçekte Nasıl Çalışır
Doco CD, bir Docker konteynerinde çalışan tek bir Go ikili dosyası; bir Git deposunu izler ve deponun durumu değiştiğinde Compose değişikliklerini uygular. Kavramın tamamı bu. İlginç kısımlar varsayılanlarda ve entegrasyonlarda.
Tetikleyiciler. İki mod var: webhook ya da yoklama. Webhook neredeyse anında çalışır ama dışa açık bir port, daha gerçekçisi Doco CD'nin önünde bir ters vekil sunucu ister. Yoklama ise düzenli aralıklarla çekme demek: biraz gecikmeli, gelen porta gerek yok. Yoklama daha basit varsayılan ve resmî belgelere göre ikisi de birinci sınıf seçenek. Sunucunuzun erişilebilir bir genel uç noktası olup olmadığına ve dağıtımların ne kadar hızlı olması gerektiğine bakarak seçin.
Depo başına yapılandırma. Depo kökünde, Compose dosyanızın yanında bir .doco-cd.yaml (ya da .doco-cd.yml) dosyası bulunur. Zorunlu olan tek alan dağıtım adıdır. En sade yapılandırma şöyle görünür:
# .doco-cd.yaml
name: my-stack
# Everything below is optional. These are the defaults.
timeout: 180 # seconds
remove_orphans: true
prune_images: true
force_recreate: false
Belgelenmiş varsayılanlar bunlar: 180 saniyelik zaman aşımı, sahipsiz konteynerlerin silinmesi, imajların budanması ve zorla yeniden oluşturmanın kapalı olması.
Otomatik keşif. Otomatik keşif açıkken Doco CD alt dizinlerde Compose dosyalarını arar, böylece tek bir depo birden fazla yığın barındırabilir. Ayrıca tek bir yapılandırma dosyasında, üç tireli satırla ayrılmış YAML belgeleri olarak birden çok dağıtım yapılandırmasını destekler. Temizlik varsayılanları temkinlidir ve onlara güvenmeden önce okumaya değer:
| Ayar | Varsayılan | Ne anlama geliyor |
|---|---|---|
delete | false | Uygulaması çalışma dizininden kaybolduğunda eski dağıtım olduğu yerde bırakılır. |
remove_volumes | false | Otomatik keşfedilen bir yığın silindiğinde birimler korunur. |
remove_images | true | Otomatik keşfedilen bir yığın silindiğinde kullanılmayan imajlar kaldırılır. |
Başka bir deyişle, siz silmeyi açmadıkça arkanızdan hiçbir şey yıkılmaz, açtığınızda bile veri birimleriniz en son gider.
Desteklenen Git sağlayıcıları. GitHub, GitLab, Gitea, Forgejo, Gogs ve Azure DevOps destekleniyor. Webhook konusunda istisna Azure DevOps, çünkü Azure Service Hooks desteklenmiyor. Kod deponuzu kendiniz barındırıyorsanız Gitea ve Forgejo desteği önem kazanıyor.
Docker Swarm. Hedef olarak destekleniyor. dağıtım ayarları sayfası Dağıtım ayarları sayfasının açıkça belirttiği şu: Swarm modunda uzlaştırma ne konteyner yeniden başlatmalarını ne de sağlık durumunu denetler, ayrıca Swarm'da imaj budama desteklenmez. Hedefiniz Swarm ise dağıtım alırsınız, tam sağlık uzlaştırması almazsınız.
Uzlaştırma. Varsayılan olarak 300 saniyelik pencerede 5 yeniden başlatma sınırı var; amaç, kararsız sağlık kontrollerinin sonsuz döngüye girmesini engellemek. Aynı depo farklı bir referansla sırayla, aynı depo aynı referansla paralel çalışır. Bu son ayrıntı ince ama işe yarar: aynı referansın birden çok dağıtımı birbirinin arkasında kuyruğa girmez.
Yerleşik harici gizli bilgi sağlayıcıları. Doco CD'yi sade bir dağıtım betiğine tercih etmek için en güçlü nedenlerden biri bu: AWS Secrets Manager, Bitwarden Secrets Manager, Bitwarden Vault / Vaultwarden, 1Password, 1Password Connect, Infisical, OpenBao ve Webhook destekleniyor. Ayrıca hassas dağıtım verileri için SOPS tabanlı şifrelemeyi de destekliyor. Böylece Git içindeki düz metin env dosyalarından temiz bir çıkış yolu bulursunuz, üstelik gizli bilgi çözümleme akışının tamamını kendiniz kurmadan.
Geri kalanı. Doco CD, Prometheus metrikleri, iş zamanlama, bildirimler, distroless bir konteyner imajı ve Apache-2.0 lisansı sunuyor. Projenin sürüm geçmişine göre 20 Ağustos 2026 itibarıyla en son kararlı sürüm v0.109.2, en yeni ön sürüm ise v0.110.0-rc.1.
Doco CD'nin işi "manifesti uygula" noktasında biter; ondan sonrası sıradan Docker. Compose'un kendi günlük komutları neyin çalıştığını incelemenizi sağlayacak araçlardır.
Gizli bilgiler için pratik öneri. Özel deponuzda hâlâ düz metin env dosyaları varsa, önceliği Doco CD'nin harici gizli bilgi sağlayıcılarına ya da SOPS desteğine verin. Amaç basit: düz metin sırları Git'ten çıkarmak, ama dağıtımların değerleri çalışma anında çözmesine izin vermek.
Root erişimi, NVMe ve AMD EPYC gücüne sahip bir Linux VPS üzerinde geliştir.
Linux Planlarını GörDoco CD Nerede Yetersiz Kalıyor
Her aracın sınırları vardır ve Doco CD'ninkileri, kurulumuna bir hafta sonu ayırmadan önce bilmekte fayda var.
Tek kod sahibi. Deponun CODEOWNERS dosyası tüm yolları kimdre kullanıcısına atıyor. Sürüm trafiği hâlâ yoğun, ama yönetişim tek bir kişide toplanmış durumda.
1.0 öncesi. Doco CD hâlâ 0.x sürümlemesini kullanıyor, bu yüzden test edilmiş bir sürümü sabitleyin ve dağıtımdan önce yükseltme notlarını okuyun. Kapatılmış olan GitHub sorunu #851 bunun nedenini gösteriyor: Docker v29, projeyi kullanımdan kaldırılmış Docker Go modüllerinden uzaklaşmaya zorladı.
Doco CD konteynerinde kabuk yok. Güvenlik gerekçesiyle Doco CD bir kabuk ortamı sunmaz ve sunucu üzerinde gelişigüzel betikler çalıştırmaz. Dağıtım öncesi ve sonrası işler init konteynerleri, yardımcı konteynerler ya da Compose yaşam döngüsü kancaları üzerinden yürütülmeli; bu da doğrudan dağıtım betiği çalıştıran araçlara kıyasla fazladan yapılandırma demek.
Yeniden başlatmada durum kaybı. Uzlaştırma durumu bellekte tutulur. Doco CD yeniden başladığında bu durum ancak bir sonraki yoklama veya webhook olayından sonra yeniden kurulur; boşluğun uzunluğu yoklama aralığınıza ya da bir sonraki webhook'un ne kadar çabuk geleceğine bağlıdır.
Filo yönetimi arayüzü yok. Çok sunuculu kurulum artık her sunucuya bir ajan gerektirmiyor. v0.102.0'dan beri dağıtım yapılandırmaları uzak Docker bağlamlarını hedefleyebiliyor, SSH bağlamları dahil, ve tek bir depo birden çok dağıtım hedefi tanımlayabiliyor. Her sunucuya bir Doco CD örneği koymak hâlâ geçerli bir yaklaşım, ama artık merkezî bir örnek uzak Docker sunucularına dağıtım yapabiliyor. Doco CD'de hâlâ eksik olan şey, Komodo'nun filo yönetimi arayüzü ve merkezî sunucu envanteri.
RAM ve CPU tüketimi sayısal olarak belgelenmemiş. Resmî belgeler gereksinimleri "minicik" diye tarif ediyor ama hiçbir referans değer yayımlamıyor. VPS'i üzerinde çalışacak uygulamalara göre boyutlandırın, işletme payı bırakın ve Doco CD'nin gerçek kullanımını kendi ortamınızda ölçün.
Çok sunucu için pratik öneri. Her sunucuya ayrı bir Docker bağlamı ve ayrı bir dağıtım hedefi verin, SSH erişimini kısıtlayın, webhook ya da API sırlarını benzersiz tutun. İzole ajanları tercih ediyorsanız, sunucu başına bir Doco CD örneği hâlâ geçerli bir seçenek.
Doco CD ve Alternatifleri
Kısa listeye alacağım diğer dört araç da "Compose'u Git'ten otomatik dağıtma" sorununu çözmeye çalışıyor, ama çok farklı ödünleşimlerle. Karar, bunu yapıp yapmamak değil; ona zaten karar verdiniz. Karar, hangi biçimdeki aracın kurulumunuza uyduğu. İşte yan yana karşılaştırma.
| Araç | Tetikleyici | Çok sunucu modeli | Gizli bilgiler | Web Arayüzü | Lisans |
|---|---|---|---|---|---|
| Doco CD | Webhook ya da yoklama | Uzak Docker bağlamları, filo arayüzü yok | Harici sağlayıcılar ve SOPS | Hiçbiri | Apache-2.0 |
| Komodo | Webhook ve zamanlanmış eşitleme | Merkezî Core ve Periphery ajanları | Değişken ve gizli bilgi yönetimi | Evet | GPL-3.0 |
| Portainer (CE/BE) | Webhook ya da yoklama | Portainer ajanı | Sınırlı, BE sürümünde daha fazla seçenek | Evet | Zlib, BE için ticari koşullar |
| Dokploy | Push ile tetiklenir | Çoklu sunucu ya da Docker Swarm | Yerleşik ortam yönetimi | Evet | Apache-2.0, tescilli bileşenlerle |
| GitHub Actions + SSH | Push ile tetiklenir | Betiğe ne yazarsanız | Betiğe ne yazarsanız | Hiçbiri | Geçerli değil |
Her biri hakkında kısa bir not, çünkü tablo biçimi, yorum ise nedeni veriyor:
Komodo. Çok sunuculu senaryonun ciddi alternatifi. Merkezî bir Core servisi ve her sunucuda bir Periphery ajanı, hepsini gören tek bir arayüz, dağıtımların yanı sıra Git güdümlü derlemeler ve Docker Swarm desteği. Kurulumu daha ağır, çünkü bir veritabanı ve bir kontrol düzlemi işletiyorsunuz, ama filonuz varsa doğru biçim bu. Merkezî filo denetimi önemliyse Komodo daha iyi oturuyor.
GitOps ile Portainer (CE ya da BE). Git eşitlemesinin üzerine oturan tam görsel bir arayüz. Ekip, CD'nin yanında tıkla-çalıştır tarzı konteyner yönetimi istiyorsa doğru tercih. Nasılsa biri arayüzde günlüklere bakıp konteyner yeniden başlatacaksa, CD de aynı yerde dursun. Kaynak tüketimi Doco CD'den ağır. OIDC/SSO ve ayrıntılı RBAC, ücretli Business Edition'ın arkasında. Bu konudaki Portainer alternatifleri rehberimiz daha geniş Docker yönetim manzarasını ele alıyor.
Dokploy. PaaS tarzı. Fikirli bir araç, push ile otomatik dağıtım yapıyor, her şey için bir web arayüzü var, kutudan çıkar çıkmaz Traefik ve temiz URL düzeni kuruyor. Heroku hissi isteyen ve bunun için ham Compose esnekliğinden vazgeçmeye razı ekipler için daha uygun. YAML'a alerjiniz varsa, "push et, uygulama dağıtılsın" noktasına giden en hafif yol bu.
GitHub Actions + SSH. Sıfır ek altyapı. Dağıtım işi, zaten sahip olduğunuz iş akışının içinde yaşıyor. İş akışı günlüklerini alırsınız, ama Compose'a özgü uzlaştırma, sapmadan kurtarma ve kalıcı sunucu durumu görünümü, bu parçaları kendiniz kurmadıkça yoktur. Tek sunucuda tek servis için gayet iyi. İkinci bir hedef eklediğinizde ya da SSH ile bağlanmadan neyin nerede çalıştığını bilmek istediğinizde çöker. Okuyucuların en sade kesimi için GitHub Actions + SSH hâlâ doğru yanıt.
Daha yeni bir aday da var, adı stackd ; kendini benzer bir dille, "Kubernetes vergisi olmadan GitOps" diye tanımlıyor. Kategorinin canlı olduğunu bilmekte fayda var, ama bugün yazı tura atarak onu Doco CD'ye tercih etmeye değmez.
Doco CD Ne Zaman Doğru Seçim (ve Ne Zaman Değil)
Şu durumlarda Doco CD'yi seçin:
- Bir ya da birkaç Docker Compose sunucusu çalıştırıyor ve Git'i tek doğru kaynak yapmak istiyorsunuz.
- Bir arayüzde tıklamaktansa editörünüzde YAML düzenlemeyi yeğliyorsunuz.
- Harici gizli bilgi sağlayıcı desteğini ve SOPS tabanlı şifrelemeyi, akışın tamamını kendiniz kurmadan istiyorsunuz.
- Tek bakımcısı olan, 1.0 öncesi ama aktif geliştirilen bir projeyle sorununuz yok.
Komodo. Çok sayıda sunucu yönetiyor ve merkezî filo denetimi istiyorsanız ya da tek çatı altında yalnızca dağıtım değil Git güdümlü derleme de gerekiyorsa bunu seçin.
Portainer (CE ya da BE). Ekip, CD'nin yanında günlük konteyner işleri için bir arayüz istiyorsa, yani aracı düşünmenizin asıl nedeni görsel katmansa bunu seçin.
Dokploy. PaaS tarzı bir dağıtım deneyimi istiyor ve ham Compose kontrolüne ihtiyaç duymuyorsanız bunu seçin.
GitHub Actions + SSH. Tek servis, tek sunucu söz konusuysa ve uzlaştırmaya ya da sapmadan kurtarmaya ihtiyacınız yoksa bunda kalın.
Watchtower sonrası, Kubernetes öncesi o ara bölgedekiler için Doco CD güçlü ve hafif bir seçim. Benim okumam şu: yeni bir ev laboratuvarı ya da küçük bir SaaS için, Git öncelikli ve arayüzsüz çalışma uyduğu sürece Doco CD ile başlardım, merkezî envanter, izinler ve filo görünürlüğü birer gereksinim hâline geldiğinde Komodo'ya geçerdim.
Hangi aracı seçerseniz seçin, onu barındıracağı Compose iş yüklerine göre boyutlandırılmış bir Linux VPS üzerinde çalıştırın. Cloudzy'nin Linux VPS'i bunun için makul bir ev; üstelik kök erişimi varsayılan olarak geliyor. apt dansını atlamak isterseniz Docker'ı tek tıkla kurabilirsiniz üstelik bunu marketplace üzerinden yapabilirsiniz.
Marketplace'imizde ayrıca tek tıkla kurulan imajlar var: Gitea, ki Doco CD onunla doğrudan bütünleşiyor. Ayrıca şunlar için de imajlar var: Komodo ve Portainer için de imajlar var, bunlardan birinin size daha uygun olduğuna karar verirseniz.
Sıkça Sorulan Sorular
Doco CD Üretime Hazır mı?
Risk profili iş yükünüze uyuyorsa Doco CD üretimde kullanılabilir. Aktif olarak geliştiriliyor, ama hâlâ 1.0 öncesi sürümleme kullanıyor ve CODEOWNERS dosyası projeyi tek bir kişiye atıyor. Test edilmiş bir sürümü sabitleyin, yükseltmeleri dağıtmadan önce deneyin ve kritik altyapı söz konusuysa daha geniş bir yönetişim düşünün.
Doco CD ile Birden Fazla Sunucuyu Nasıl Yönetirim?
Her sunucu için ayrı bir Docker bağlamı ve ayrı bir dağıtım hedefi kullanın. Tek bir Doco CD örneği, SSH ya da TCP üzerinden birden çok uzak Docker sunucusuna dağıtım yapabilir; sunucu başına bir örnek ise isteğe bağlı bir yalıtım modeli olarak kalır. Merkezî envanter, izinler ve filo görünürlüğü gerekiyorsa Komodo'yu seçin.
Webhook ve Yoklama Modu Arasındaki Fark Nedir?
Webhook modu, Git'e push geldiği anda neredeyse anında dağıtım yapar, ama internetten erişilebilir bir port ya da Doco CD'nin önünde bir ters vekil sunucu ister. Yoklama modu depoyu belirli aralıklarla kontrol eder, dağıtımlar biraz gecikir ama hiçbir portu açmanız gerekmez. Yoklama daha basit varsayılan; sık push ediyorsanız ya da hızlı geri bildirim döngüleri gerekiyorsa webhook'lar zahmete değer.
Doco CD, Komodo ile Nasıl Karşılaştırılır?
Doco CD daha hafif ve arayüzsüz; birden çok sunucuyu uzak Docker bağlamları üzerinden yönetebiliyor. Komodo ise merkezî bir Core servisi ve Periphery ajanları kullanıyor, üstüne bir filo arayüzü ve Git güdümlü derlemeler ekliyor. Arayüzsüz Compose dağıtımı için Doco CD'yi, merkezî filo denetimi önemliyse Komodo'yu seçin.
Doco CD, Watchtower'ın Yerini Alabilir mi?
Watchtower kullanıcılarının çoğunun aslında istediği senaryo, yani "Git'te ne varsa Git değiştiğinde onu dağıt" için cevap evet, Doco CD tam olarak bunu yapıyor. Watchtower'ın birebir modeli, yani bir kayıt defterini yoklayıp yeni bir imaj etiketi çıktığında çekmek içinse cevap hayır; Doco CD Git tetiklidir, kayıt defteri tetikli değil. Oyuncak servislerin ötesindeki her şey için Git tetikli model daha güvenli ve daha denetlenebilir bir tercih.
