Každý push znamená stejný rituál: přihlásit se přes SSH, stáhnout repozitář, znovu nastartovat Compose stack, doufat, že se nic nerozbilo, a snažit se vzpomenout, jestli jste spustili migraci. Tahle ruční smyčka funguje do chvíle, než potřebujete opakovatelná nasazení, jasný přehled o tom, co běží, nebo nápravu odchylek.
Doco CD je jedna přímá odpověď. Je to malá služba v Go, která sleduje váš Git repozitář a při pushi aplikuje změny Compose: webhook, nebo polling, rozhodnete se sami. ArgoCD a Flux dělají totéž pro Kubernetes, ale Doco CD se Kubernetes vyhýbá, protože žádnou control plane nepotřebuje.
Tahle recenze probírá, co Doco CD umí, co neumí a jak si stojí proti nástroji Komodo, režimu GitOps v Portaineru, Dokploy a prostému skriptu GitHub Actions + SSH. Na konci budete vědět, jestli sedí vaší sestavě a co zvolit, pokud ne.
Stručně
- Doco CD je drobný GitOps agent nativní pro Compose: sleduje Git repozitář (GitHub, GitLab, Gitea, Forgejo a další) a při každé změně srovná váš stack do žádaného stavu.
- Vestavěná podpora externích poskytovatelů tajemství spolu se šifrováním přes SOPS je to, čím se liší od vlastnoručně napsaného nasazovacího skriptu.
- Podle svého README se prezentuje jako „jednoduchá alternativa k Portaineru nebo ArgoCD pro Docker“. To přirovnání zhruba sedí.
- Skutečné limity: jediný vlastník kódu, verzování před 1.0, žádné rozhraní pro správu flotily a stav rekonciliace, který se obnoví až po dalším pollu nebo webhook události.
- Sáhněte po něm, když provozujete jeden nebo pár Compose hostů a chcete mít Git jako zdroj pravdy bez rozhraní. Komodo zvolte na flotilu, Portainer, když chcete rozhraní, Dokploy pro pocit PaaS a GitHub Actions + SSH, když jde opravdu o jednu službu na jednom hostu.
Mezera, kterou se Doco CD snaží zaplnit
Pro každého, kdo v roce 2026 provozuje Docker Compose, existuje zvláštní mezipoloha. Velké GitOps nástroje jako Argo CD a Flux míří na Kubernetes, zatímco model Watchtower založený na dotazování registru reaguje na změny obrazů, místo aby aplikoval verzovaný stav Compose. Samotný repozitář byl 17. prosince 2025 archivován a nyní uvádí, že projekt už není udržován.
GitHub Actions plus krok nasazení přes SSH funguje. Pro jednu službu na jednom hostu je to správná volba. Potíže začnou, jakmile přidáte druhého hosta nebo druhý stack, případně chcete vědět, který commit je právě nasazený. Logy workflow vám zůstanou, ale rekonciliace nativní pro Compose, náprava odchylek ani trvalý přehled o tom, jestli host pořád odpovídá repozitáři, nikoli.
Doco CD se představuje slovy, přímo z README „jednoduchá alternativa k Portaineru nebo ArgoCD pro Docker“. Přesně o to jde: malé, nativní pro Compose, žádný Kubernetes, žádné rozhraní k údržbě, žádná centrální control plane k hlídání. Pokud K8s neprovozujete a ani jste nechtěli, tohle je kategorie, kterou jste hledali.
Jak Doco CD ve skutečnosti funguje
Doco CD je jediný Go binárka běžící v Docker kontejneru, která sleduje Git repozitář a aplikuje změny Compose, jakmile se stav repozitáře změní. To je celý koncept. Zajímavé věci se skrývají ve výchozích hodnotách a v integracích.
Spouštěče. Dva režimy: webhook, nebo polling. Webhook je téměř okamžitý, ale potřebuje otevřený port, realističtěji reverzní proxy před Doco CD. Polling je periodické stahování: mírně zpožděné, bez příchozího portu. Polling je jednodušší výchozí volba a podle oficiální dokumentace jsou obě rovnocenné. Vyberte podle toho, jestli má váš host dostupný veřejný endpoint a jak rychlá nasazení potřebujete.
Konfigurace pro každý repozitář. Soubor .doco-cd.yaml (nebo .doco-cd.yml) leží v kořeni repozitáře vedle vašeho Compose souboru. Jediné povinné pole je název nasazení. Minimální konfigurace vypadá takto:
# .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
To jsou zdokumentované výchozí hodnoty: timeout 180 sekund, osiřelé kontejnery se mažou, obrazy se pročišťují a žádné vynucené znovuvytvoření.
Automatické zjišťování. Se zapnutým automatickým zjišťováním prochází Doco CD podadresáře a hledá Compose soubory, takže jeden repozitář může nést více stacků. Podporuje také víc konfigurací nasazení v jednom souboru, zapsaných jako YAML dokumenty oddělené řádkem se třemi pomlčkami. Výchozí hodnoty úklidu jsou opatrné a stojí za přečtení, než se na ně spolehnete:
| Nastavení | Výchozí | Co to znamená |
|---|---|---|
delete | false | Zastaralé nasazení zůstane na místě, když jeho aplikace zmizí z pracovního adresáře. |
remove_volumes | false | Svazky přežijí smazání automaticky nalezeného stacku. |
remove_images | true | Nepoužívané obrazy se při smazání automaticky nalezeného stacku odstraní. |
Jinými slovy, nic se vám za zády nezbourá, dokud mazání sami nezapnete, a ani potom nezmizí datové svazky jako první.
Podporovaní poskytovatelé Gitu. Podporované jsou GitHub, GitLab, Gitea, Forgejo, Gogs a Azure DevOps. U webhooků je výjimkou Azure DevOps, protože Azure Service Hooks podporované nejsou. Podpora Gitey a Forgeja se hodí, pokud si svou forge hostujete sami.
Docker Swarm. Podporovaný jako cíl nasazení. To, na co stránka nastavení nasazení výslovně upozorňuje: rekonciliace v režimu Swarm nekontroluje restarty kontejnerů ani zdravotní stav a čištění obrazů ve Swarmu podporované není. Pokud je vaším cílem Swarm, dostanete nasazení, ale ne plnou rekonciliaci zdraví.
Rekonciliace. Výchozí limit je 5 restartů v okně 300 sekund, aby rozkolísané health checky netočily donekonečna. Stejný repozitář s jinou referencí běží sekvenčně, stejný repozitář se stejnou referencí paralelně. Ten poslední detail je nenápadný, ale užitečný: víc nasazení téže reference se neřadí za sebe do fronty.
Vestavění externí poskytovatelé tajemství. Tohle je jeden ze silnějších důvodů zvážit Doco CD místo prostého nasazovacího skriptu: podporuje AWS Secrets Manager, Bitwarden Secrets Manager, Bitwarden Vault / Vaultwarden, 1Password, 1Password Connect, Infisical, OpenBao a Webhook. Zvlášť pak podporuje šifrování přes SOPS pro citlivá data nasazení. Dostanete tím čistou cestu pryč od env souborů v čitelné podobě v Gitu, aniž byste si celý proces získávání tajemství stavěli sami.
Zbytek. Doco CD nabízí Prometheus metriky, plánování úloh, notifikace, distroless obraz kontejneru a licenci Apache-2.0. Podle jeho historie vydání je k 20. srpnu 2026 nejnovějším stabilním vydáním v0.109.2 a nejčerstvějším předběžným vydáním v0.110.0-rc.1.
Práce Doco CD končí u „aplikuj manifest“, dál už je to obyčejný Docker. Vlastní log příkazy Compose jsou to, čím si prohlédnete, co běží.
Tip k tajemstvím. Pokud ve svém privátním repozitáři pořád máte env soubory v čitelné podobě, dejte přednost externím poskytovatelům tajemství v Doco CD nebo jeho podpoře SOPS. Cíl je prostý: dostat čitelná tajemství z Gitu ven a přitom nechat nasazení, aby si hodnoty vytáhlo za běhu.
Stavte na Linux VPS s root přístupem, NVMe a výkonem AMD EPYC.
Zobrazit Linux plányV čem Doco CD zaostává
Každý nástroj má své limity a ty od Doco CD stojí za to znát dřív, než do jeho zprovoznění vrazíte celý víkend.
Jediný vlastník kódu. Soubor CODEOWNERS v repozitáři přiřazuje všechny cesty uživateli kimdre. Vydání vycházejí pořád často, ale řízení projektu je soustředěné do jednoho člověka.
Před verzí 1.0. Doco CD pořád používá verzování 0.x, takže si připněte otestované vydání a před nasazením si přečtěte poznámky k upgradu. Uzavřený GitHub issue #851 ukazuje proč: Docker v29 přinutil projekt opustit zastaralé Go moduly Dockeru.
Uvnitř kontejneru Doco CD není shell. Z bezpečnostních důvodů Doco CD neposkytuje shellové prostředí ani nespouští libovolné skripty na hostiteli. Úlohy před nasazením a po něm musí běžet přes init kontejnery, sidecary nebo lifecycle hooky Compose, což oproti nástrojům, které rovnou spustí nasazovací skript, znamená víc konfigurace.
Ztráta stavu při restartu. Stav rekonciliace je v paměti. Když se Doco CD restartuje, obnoví se až při dalším pollu nebo webhook události, takže délka výpadku závisí na vašem intervalu dotazování nebo na tom, jak brzy dorazí další webhook.
Chybí rozhraní pro správu flotily. Provoz na více hostech už nevyžaduje jednoho agenta na každý z nich. Od verze v0.102.0 mohou konfigurace nasazení cílit na vzdálené Docker kontexty, včetně SSH kontextů, a jeden repozitář může definovat víc cílů nasazení. Provozovat jednu instanci Doco CD na hosta je pořád v pořádku, ale centrální instance teď umí nasazovat na vzdálené Docker hosty. Co Doco CD stále chybí, je rozhraní pro správu flotily jako v nástroji Komodo a centralizovaný přehled hostů.
Spotřeba RAM a CPU není zdokumentovaná v číslech. Oficiální dokumentace popisuje nároky jako „drobné“, ale žádné výchozí číslo neuvádí. Nadimenzujte VPS podle aplikací, které na něm poběží, nechte si provozní rezervu a skutečnou spotřebu Doco CD si ověřte ve svém vlastním prostředí.
Tip k více hostům. Používejte pro každého hosta zvlášť Docker kontext i cíl nasazení, omezte přístup přes SSH a držte webhook a API tajemství unikátní. Pokud dáváte přednost izolovaným agentům, jedna instance Doco CD na hosta je pořád v pořádku.
Doco CD versus alternativy
Ostatní čtyři nástroje, které bych zařadil do užšího výběru, řeší všechny totéž, tedy „automaticky nasadit Compose z Gitu“, ale s velmi odlišnými kompromisy. Otázka není, jestli to dělat, to jste už rozhodli. Otázka je, jaký tvar nástroje sedí vaší sestavě. Tady je srovnání vedle sebe.
| Nástroj | Spouštěč | Model vícehostitelský | Tajemství | Webové rozhraní | Licence |
|---|---|---|---|---|---|
| Doco CD | Webhook, nebo polling | Vzdálené Docker kontexty, bez rozhraní pro flotilu | Externí poskytovatelé plus SOPS | Nic | Apache-2.0 |
| Komodo | Webhook plus plánovaná synchronizace | Centrální Core plus agenti Periphery | Správa proměnných a tajemství | Ano | GPL-3.0 |
| Portainer (CE/BE) | Webhook, nebo polling | Agent Portaineru | Omezené, víc možností v BE | Ano | Zlib, komerční podmínky pro BE |
| Dokploy | Spouštěné pushem | Více serverů, nebo Docker Swarm | Vestavěná správa prostředí | Ano | Apache-2.0, s proprietárními komponentami |
| GitHub Actions + SSH | Spouštěné pushem | Cokoli si naskriptujete | Cokoli si naskriptujete | Nic | Nerelevantní |
Krátce ke každému, protože tabulka dává tvar a komentář důvod:
Komodo. Vážný kandidát pro víc hostů. Centrální služba Core plus agent Periphery na každém hostu, jedno rozhraní, které vidí všechny, buildy řízené Gitem vedle nasazení a podpora Docker Swarmu. Zprovoznění je těžší, protože provozujete databázi a control plane, ale je to správný tvar, když máte flotilu. Komodo sedí lépe tam, kde záleží na centrálním řízení flotily.
Portainer (CE nebo BE) s GitOps. Plnohodnotné grafické rozhraní postavené nad synchronizací s Gitem. Správná volba, když tým chce klikací správu kontejnerů vedle CD. Když už tak jako tak někdo bude v rozhraní číst logy a restartovat kontejnery, ať tam bydlí i CD. Náročnost na zdroje je vyšší než u Doco CD. OIDC/SSO a jemné RBAC jsou zamčené v placené Business Edition. Náš průvodce alternativami k Portaineru pokrývá širší krajinu správy Dockeru.
Dokploy. Ve stylu PaaS. Vyhraněný nástroj, po pushi nasazuje automaticky, na všechno má webové rozhraní a rovnou vám nastaví Traefik s čistými URL. Sedne spíš týmům, které chtějí pocit Heroku a jsou ochotné za to obětovat syrovou flexibilitu Compose. Pokud jste alergičtí na YAML, tohle je nejlehčí cesta k „pushnu a aplikace se nasadí“.
GitHub Actions + SSH. Nulová dodatečná infrastruktura. Nasazovací job bydlí ve workflow, které už máte. Dostanete logy workflow, ale žádnou rekonciliaci nativní pro Compose, žádnou nápravu odchylek a žádný trvalý pohled na stav hostů, pokud si ty kusy nepostavíte sami. Pro jednu službu na jednom hostu naprosto v pořádku. Rozpadne se, jakmile přidáte druhý cíl nebo chcete vědět, co kde běží, bez přihlašování přes SSH. Pro nejjednodušší část publika je GitHub Actions + SSH pořád správná odpověď.
Objevil se i novější kandidát jménem stackd , který se popisuje podobnými slovy: „GitOps bez daně za Kubernetes“. Vyplatí se vědět, že kategorie žije, ale nevyplatí se dnes losováním upřednostnit ho před Doco CD.
Kdy je Doco CD správná volba (a kdy ne)
Doco CD zvolte, když:
- Provozujete jednoho nebo pár Docker Compose hostů a chcete mít Git jako zdroj pravdy.
- Radši upravujete YAML ve svém editoru, než abyste proklikávali rozhraní.
- Chcete podporu externích poskytovatelů tajemství a šifrování přes SOPS, aniž byste si celý proces stavěli sami.
- Nevadí vám projekt s jediným správcem, před verzí 1.0, ale aktivně vyvíjený.
Komodo. Zvolte ho, když spravujete spoustu hostů a chcete centrální řízení flotily, nebo když potřebujete pod jednou střechou i buildy řízené Gitem, nejen nasazení.
Portainer (CE nebo BE). Zvolte ho, když tým chce vedle CD i rozhraní pro každodenní provoz kontejnerů, tedy když je vizuální vrstva skutečným důvodem, proč nástroj vůbec zvažujete.
Dokploy. Zvolte ho, když chcete nasazování ve stylu PaaS a syrovou kontrolu nad Compose nepotřebujete.
GitHub Actions + SSH. Zůstaňte u něj, když jde o jednu službu na jednom hostu a nepotřebujete rekonciliaci ani nápravu odchylek.
Pro lidi v té mezipoloze po Watchtoweru a před Kubernetes je Doco CD silná lehká volba. Můj pohled: pro nový homelab nebo malé SaaS bych začal Doco CD, dokud sedí provoz stylem Git na prvním místě a bez rozhraní, a přešel na Komodo, jakmile se centrální přehled, oprávnění a viditelnost flotily stanou požadavkem.
Ať zvolíte kterýkoli nástroj, provozujte ho na Linux VPS nadimenzovaném na zátěž Compose, kterou ponese. Linux VPS od Cloudzy je pro tohle rozumný domov, s root přístupem hned od začátku. A pokud chcete přeskočit tanečky s apt, můžete si taky nasadit Docker jedním kliknutím z našeho marketplace.
Náš marketplace navíc nabízí obrazy na jedno kliknutí pro Gitea, se kterým se Doco CD nativně integruje. Obrazy jsou i pro Komodo a také pro Portainer, pokud usoudíte, že vám některý z nich sedne líp.
Časté dotazy
Je Doco CD připravené na produkci?
Doco CD se dá nasadit do produkce, pokud jeho rizikový profil sedí vaší zátěži. Vyvíjí se aktivně, ale pořád používá verzování před 1.0 a jeho soubor CODEOWNERS přiřazuje projekt jednomu člověku. Připněte si otestované vydání, upgrady vyzkoušejte před nasazením a u kritické infrastruktury zvažte širší řízení.
Jak spravovat víc hostů pomocí Doco CD?
Použijte pro každého hosta zvlášť Docker kontext a cíl nasazení. Jedna instance Doco CD umí nasazovat na víc vzdálených Docker hostů přes SSH nebo TCP, přičemž jedna instance na hosta zůstává volitelným modelem izolace. Pokud potřebujete centrální přehled, oprávnění a viditelnost flotily, sáhněte po nástroji Komodo.
Jaký je rozdíl mezi režimem webhook a polling?
Režim webhook nasadí téměř okamžitě, jakmile do Gitu dorazí push, ale vyžaduje port dostupný z internetu nebo reverzní proxy před Doco CD. Režim polling kontroluje repozitář podle rozvrhu, takže nasazení se mírně zpozdí, zato nemusíte otevírat žádný port. Polling je jednodušší výchozí volba, webhooky se vyplatí, když pushujete často nebo potřebujete rychlou zpětnou vazbu.
Jak si Doco CD stojí proti nástroji Komodo?
Doco CD je lehčí a bez rozhraní a víc hostů zvládne přes vzdálené Docker kontexty. Komodo staví na centrální službě Core a agentech Periphery a přidává rozhraní pro flotilu i buildy řízené Gitem. Doco CD zvolte na nasazování Compose bez rozhraní, Komodo tam, kde záleží na centrálním řízení flotily.
Může Doco CD nahradit Watchtower?
Pro scénář, který většina uživatelů Watchtoweru ve skutečnosti chtěla, tedy „nasaď to, co je v Gitu, jakmile se Git změní“, zní odpověď ano, přesně to Doco CD dělá. Pro doslovný model Watchtoweru, tedy dotazování registru a stažení obrazu, jakmile se objeví nový tag, zní odpověď ne; Doco CD spouští Git, ne registr. Model řízený Gitem je u všeho nad rámec hračkových služeb bezpečnější a lépe auditovatelná volba.
