<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Systemd on Wapnet Blog</title><link>https://blog.wapnet.nl/tag/systemd/</link><description>Recent content in Systemd on Wapnet Blog</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Tue, 03 Nov 2026 12:00:00 +0100</lastBuildDate><atom:link href="https://blog.wapnet.nl/tag/systemd/feed.xml" rel="self" type="application/rss+xml"/><item><title>Safely Updating Hermes When Hermes Runs in Docker</title><link>https://blog.wapnet.nl/2026/11/safely-updating-hermes-when-hermes-runs-in-docker/</link><pubDate>Tue, 03 Nov 2026 12:00:00 +0100</pubDate><guid isPermaLink="false">https://blog.wapnet.nl/2026/11/safely-updating-hermes-when-hermes-runs-in-docker/</guid><description>&lt;p&gt;&lt;strong&gt;The Problem&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I run &lt;a href="https://hermes-agent.nousresearch.com/"&gt;Hermes&lt;/a&gt; as a Docker container. Asking it to pull its own new image is easy. Letting that same container recreate itself is where things get interesting.&lt;/p&gt;
&lt;p&gt;A normal update looks harmless:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker compose pull hermes
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker compose up -d --force-recreate hermes
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;But when Hermes runs those commands from inside itself, &lt;code&gt;docker compose up&lt;/code&gt; removes the container that is currently executing the update. The SSH session, shell or agent call can disappear after the old container is removed but before the replacement is started. The result is a Hermes container stuck in &lt;code&gt;Created&lt;/code&gt;, and nobody left to finish the command.&lt;/p&gt;</description></item></channel></rss>