<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>WatchWarden Blog</title>
        <link>https://watchwarden-labs.github.io/watchwarden/blog</link>
        <description>WatchWarden Blog</description>
        <lastBuildDate>Tue, 31 Mar 2026 00:00:00 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <item>
            <title><![CDATA[Introducing WatchWarden]]></title>
            <link>https://watchwarden-labs.github.io/watchwarden/blog/welcome</link>
            <guid>https://watchwarden-labs.github.io/watchwarden/blog/welcome</guid>
            <pubDate>Tue, 31 Mar 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[WatchWarden is a Docker container update manager built for teams that need more than Watchtower can offer — but don't want to set up Kubernetes just to get zero-downtime deployments.]]></description>
            <content:encoded><![CDATA[<p>WatchWarden is a Docker container update manager built for teams that need more than Watchtower can offer — but don't want to set up Kubernetes just to get zero-downtime deployments.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="why-we-built-this">Why We Built This<a href="https://watchwarden-labs.github.io/watchwarden/blog/welcome#why-we-built-this" class="hash-link" aria-label="Direct link to Why We Built This" title="Direct link to Why We Built This" translate="no">​</a></h2>
<p>Watchtower is great for simple setups. But when you have multiple Docker hosts, need rollback capability, or want to see what changed before updating — it falls short.</p>
<p>WatchWarden fills that gap:</p>
<ul>
<li class=""><strong>Blue-green deployments</strong> — start the new container, verify health, then stop the old one</li>
<li class=""><strong>Snapshot rollbacks</strong> — every update saves the full container config for instant revert</li>
<li class=""><strong>Crash-loop detection</strong> — automatically rolls back containers stuck in restart loops</li>
<li class=""><strong>Multi-host dashboard</strong> — manage all your Docker hosts from a single UI</li>
<li class=""><strong>Solo Mode</strong> — drop-in Watchtower replacement when you don't need the full stack</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="two-ways-to-run">Two Ways to Run<a href="https://watchwarden-labs.github.io/watchwarden/blog/welcome#two-ways-to-run" class="hash-link" aria-label="Direct link to Two Ways to Run" title="Direct link to Two Ways to Run" translate="no">​</a></h2>
<p><strong>Solo Mode</strong> — one container, zero dependencies:</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token function" style="color:rgb(80, 250, 123)">docker</span><span class="token plain"> run </span><span class="token parameter variable" style="color:rgb(189, 147, 249);font-style:italic">-d</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">  </span><span class="token parameter variable" style="color:rgb(189, 147, 249);font-style:italic">-v</span><span class="token plain"> /var/run/docker.sock:/var/run/docker.sock </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">  </span><span class="token parameter variable" style="color:rgb(189, 147, 249);font-style:italic">-e</span><span class="token plain"> </span><span class="token assign-left variable" style="color:rgb(189, 147, 249);font-style:italic">WW_SCHEDULE</span><span class="token operator">=</span><span class="token string" style="color:rgb(255, 121, 198)">"@every 6h"</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">  </span><span class="token parameter variable" style="color:rgb(189, 147, 249);font-style:italic">-e</span><span class="token plain"> </span><span class="token assign-left variable" style="color:rgb(189, 147, 249);font-style:italic">WW_AUTO_UPDATE</span><span class="token operator">=</span><span class="token plain">true </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">  ghcr.io/watchwarden-labs/watchwarden-agent:latest</span><br></span></code></pre></div></div>
<p><strong>Managed Mode</strong> — controller + agents + dashboard:</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token function" style="color:rgb(80, 250, 123)">docker</span><span class="token plain"> compose </span><span class="token parameter variable" style="color:rgb(189, 147, 249);font-style:italic">-f</span><span class="token plain"> docker-compose.production.yml up </span><span class="token parameter variable" style="color:rgb(189, 147, 249);font-style:italic">-d</span><br></span></code></pre></div></div>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="whats-next">What's Next<a href="https://watchwarden-labs.github.io/watchwarden/blog/welcome#whats-next" class="hash-link" aria-label="Direct link to What's Next" title="Direct link to What's Next" translate="no">​</a></h2>
<ul>
<li class="">Private registry support with encrypted credential storage</li>
<li class="">Vulnerability scanning via Trivy</li>
<li class="">Update policies per container group</li>
<li class="">Scheduled maintenance windows</li>
</ul>
<p>Check out the <a class="" href="https://watchwarden-labs.github.io/watchwarden/docs/getting-started">Getting Started</a> guide to try it out.</p>]]></content:encoded>
            <category>release</category>
            <category>announcement</category>
        </item>
    </channel>
</rss>