<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>PatchMon Docker Compose Upgrade-Archiv - Ivan Ivanov</title>
	<atom:link href="https://ivanivanov.de/blog/tag/patchmon-docker-compose-upgrade/feed/" rel="self" type="application/rss+xml" />
	<link>https://ivanivanov.de/blog/tag/patchmon-docker-compose-upgrade/</link>
	<description>Have you tried turning it off and on again?</description>
	<lastBuildDate>Thu, 13 Aug 2026 18:56:43 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	
<site xmlns="com-wordpress:feed-additions:1">121858272</site>	<item>
		<title>PatchMon v2.1.0: Neues Release bringt massives Performance-Tuning</title>
		<link>https://ivanivanov.de/blog/patchmon-version-2-1-0-release-update/</link>
		
		<dc:creator><![CDATA[Ivan]]></dc:creator>
		<pubDate>Thu, 13 Aug 2026 18:56:43 +0000</pubDate>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[Agent Traffic Reduktion 1KB]]></category>
		<category><![CDATA[Linux Server Patching Tool]]></category>
		<category><![CDATA[Open Source Patch Management]]></category>
		<category><![CDATA[Patch Run Stall Timeout]]></category>
		<category><![CDATA[PatchMon Agent Activity Timeline]]></category>
		<category><![CDATA[PatchMon Docker Compose Upgrade]]></category>
		<category><![CDATA[PatchMon v2.1.0 Release]]></category>
		<category><![CDATA[Self Hosted PatchMon Update]]></category>
		<category><![CDATA[Trusted Proxy Ranges PatchMon]]></category>
		<category><![CDATA[Windows Registry Null Byte PatchMon]]></category>
		<guid isPermaLink="false">https://ivanivanov.de/?p=5613</guid>

					<description><![CDATA[<p>PatchMon v2.1.0 veröffentlicht: Performance-Explosion, neue Agent-Timeline und gehärtete Security Das Entwicklerteam hinter dem Open-Source-Patch-Management-Tool PatchMon hat die Version v2.1.0 freigegeben. Das Release legt den Fokus primär auf Skalierbarkeit, Zuverlässigkeit bei großen Serverflotten (1.000+ Hosts) und eine grundlegende Überarbeitung der Agent-Kommunikation sowie der Sicherheitsarchitektur. &#x1f6e0;&#xfe0f; Achtung beim Upgrade: Manuelle Anpassung der docker-compose.yml Da PatchMon die eigene [&#8230;]</p>
<p>Der Beitrag <a href="https://ivanivanov.de/blog/patchmon-version-2-1-0-release-update/">PatchMon v2.1.0: Neues Release bringt massives Performance-Tuning</a> erschien zuerst auf <a href="https://ivanivanov.de">Ivan Ivanov</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h1 data-path-to-node="12">PatchMon v2.1.0 veröffentlicht: Performance-Explosion, neue Agent-Timeline und gehärtete Security</h1>
<p data-path-to-node="13">Das Entwicklerteam hinter dem Open-Source-Patch-Management-Tool <b data-path-to-node="13" data-index-in-node="64">PatchMon</b> hat die Version <b data-path-to-node="13" data-index-in-node="89">v2.1.0</b> freigegeben. Das Release legt den Fokus primär auf Skalierbarkeit, Zuverlässigkeit bei großen Serverflotten (1.000+ Hosts) und eine grundlegende Überarbeitung der Agent-Kommunikation sowie der Sicherheitsarchitektur.</p>
<h2 data-path-to-node="15"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f6e0.png" alt="🛠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Achtung beim Upgrade: Manuelle Anpassung der docker-compose.yml</h2>
<p data-path-to-node="16">Da PatchMon die eigene <code data-path-to-node="16" data-index-in-node="23">docker-compose.yml</code> nicht automatisch überschreibt, müssen Betreiber vor dem Ausführen von <code data-path-to-node="16" data-index-in-node="113">docker compose pull &amp;&amp; docker compose up -d</code> <b data-path-to-node="16" data-index-in-node="157">drei Zeilen manuell anpassen</b>:</p>
<ol start="1" data-path-to-node="17">
<li>
<p data-path-to-node="17,0,0"><b data-path-to-node="17,0,0" data-index-in-node="0">Server-Port-Mapping:</b> <code data-path-to-node="17,0,0" data-index-in-node="21">- "${PORT:-3000}:${PORT:-3000}"</code> (bisher: <code data-path-to-node="17,0,0" data-index-in-node="62">"3000:3000"</code>)</p>
</li>
<li>
<p data-path-to-node="17,1,0"><b data-path-to-node="17,1,0" data-index-in-node="0">Server-Hostname:</b> <code data-path-to-node="17,1,0" data-index-in-node="17">hostname: patchmon-server</code> (neu hinzufügen)</p>
</li>
<li>
<p data-path-to-node="17,2,0"><b data-path-to-node="17,2,0" data-index-in-node="0">Guacd-Image-Tag:</b> <code data-path-to-node="17,2,0" data-index-in-node="17">image: guacamole/guacd:1.6.0</code> (bisher: <code data-path-to-node="17,2,0" data-index-in-node="55">:latest</code>)</p>
</li>
</ol>
<blockquote data-path-to-node="18">
<p data-path-to-node="18,0"><b data-path-to-node="18,0" data-index-in-node="0">Hinweis zur Datenbank-Migration:</b> Beim ersten Start nach dem Update führen große Host-Flotten Index-Rebuilds durch. Auf langsamen Datenträgern kann der Bootvorgang einige Minuten dauern, in denen PatchMon keine Anfragen entgegennimmt.</p>
</blockquote>
<h2 data-path-to-node="20">Die wichtigsten Neuerungen in PatchMon v2.1.0</h2>
<h3 data-path-to-node="21">1. Extrem reduzierte Network-Payloads (2 MB ➔ 1 KB)</h3>
<p data-path-to-node="22">Bisher übermittelten Agents bei jedem Check-in den kompletten Inventarbestand. Ab v2.1.0 senden aktualisierte Agents nur noch deltabasierte Änderungen. Der Datenverkehr pro Routine-Check-in sinkt dadurch von <b data-path-to-node="22" data-index-in-node="208">2 MB auf ca. 1 KB</b>. Zur Nachverfolgung ersetzt die neue <b data-path-to-node="22" data-index-in-node="263">Agent Activity Timeline</b> die alten Tabs für Paketberichte und Warteschlangen.</p>
<h3 data-path-to-node="23">2. Präzisere Host-Zustände und Live-Uptime</h3>
<p data-path-to-node="24">Das Dashboard trennt den Systemstatus nun in vier eindeutige Indikatoren:</p>
<ul data-path-to-node="25">
<li>
<p data-path-to-node="25,0,0"><b data-path-to-node="25,0,0" data-index-in-node="0">Connection:</b> Verbindung zum Server (reagiert nun innerhalb von Sekunden via WSS).</p>
</li>
<li>
<p data-path-to-node="25,1,0"><b data-path-to-node="25,1,0" data-index-in-node="0">Reporting:</b> Frische der übermittelten Daten.</p>
</li>
<li>
<p data-path-to-node="25,2,0"><b data-path-to-node="25,2,0" data-index-in-node="0">Reboot Pending:</b> Ausstehender Systemneustart.</p>
</li>
<li>
<p data-path-to-node="25,3,0"><b data-path-to-node="25,3,0" data-index-in-node="0">Updates:</b> Ausstehende Sicherheitspatches oder normale Updates.</p>
</li>
</ul>
<p data-path-to-node="26">Zudem wurde der Zustand <i data-path-to-node="26" data-index-in-node="24">Awaiting Data</i> eingeführt: Hosts ohne Paketdaten verfälschen nicht mehr die Kategorie „Up to date“.</p>
<h3 data-path-to-node="27">3. Zuverlässige Patch-Ausführung (Keine Hänger mehr)</h3>
<p data-path-to-node="28">Stalled Patch-Runs gehören der Vergangenheit an. Über den neuen Umgebungsparameter <code data-path-to-node="28" data-index-in-node="83">PATCH_RUN_STALL_TIMEOUT_MIN</code> (Standard: 30 Minuten) werden blockierte Updates automatisch beendet. Der Button <b data-path-to-node="28" data-index-in-node="192">Stop Run</b> bricht den Prozess nun auch dann garantiert ab, wenn der Agent offline ist oder blockierte Child-Prozesse im Hintergrund hängen.</p>
<h3 data-path-to-node="29">4. Umfassende Fixes für Windows &amp; Linux-Paketmanager</h3>
<ul data-path-to-node="30">
<li>
<p data-path-to-node="30,0,0"><b data-path-to-node="30,0,0" data-index-in-node="0">Windows Registry-Fix:</b> Ein einziges Null-Byte-Zeichen in der Registrierung (oft erzeugt durch Drittanbieter-Agents wie MeshCentral) führte bisher dazu, dass der gesamte Bericht verworfen wurde. Dies wurde gefixt.</p>
</li>
<li>
<p data-path-to-node="30,1,0"><b data-path-to-node="30,1,0" data-index-in-node="0">Linux/BSD-Anpassungen:</b></p>
<ul data-path-to-node="30,1,1">
<li>
<p data-path-to-node="30,1,1,0,0"><b data-path-to-node="30,1,1,0,0" data-index-in-node="0">RHEL/Fedora/Rocky:</b> Korrekte Handling von DNF-Bannern, Erfassung von RLSA-Sicherheitsmeldungen.</p>
</li>
<li>
<p data-path-to-node="30,1,1,1,0"><b data-path-to-node="30,1,1,1,0" data-index-in-node="0">Debian/Ubuntu:</b> Volle Unterstützung für <code data-path-to-node="30,1,1,1,0" data-index-in-node="39">deb822</code>-Sources und korrekte Handhabung von Kernel-Meta-Paketen.</p>
</li>
<li>
<p data-path-to-node="30,1,1,2,0"><b data-path-to-node="30,1,1,2,0" data-index-in-node="0">Arch/Manjaro:</b> Funktionsfähig ohne installiertes <code data-path-to-node="30,1,1,2,0" data-index-in-node="48">pacman-contrib</code>.</p>
</li>
<li>
<p data-path-to-node="30,1,1,3,0"><b data-path-to-node="30,1,1,3,0" data-index-in-node="0">LXC-Container:</b> Uptime zeigt nun die echte Container-Laufzeit anstelle der Laufzeit des Proxmox-Hosts.</p>
</li>
</ul>
</li>
</ul>
<h3 data-path-to-node="31">5. Sicherheits-Härtung (Security &amp; SSO)</h3>
<ul data-path-to-node="32">
<li>
<p data-path-to-node="32,0,0"><b data-path-to-node="32,0,0" data-index-in-node="0">IP-Spoofing-Schutz:</b> Über <code data-path-to-node="32,0,0" data-index-in-node="25">TRUSTED_PROXY_RANGES</code> lässt sich festlegen, welchen Upstream-Reverse-Proxies (z. B. Cloudflare hinter Nginx Proxy Manager) vertraut wird, um echte Client-IPs für Rate-Limiting und Lockouts auszuwerten.</p>
</li>
<li>
<p data-path-to-node="32,1,0"><b data-path-to-node="32,1,0" data-index-in-node="0">Session-Binding &amp; Revocation:</b> Ausgestellte Tokens sind strikt an Sitzungen gebunden. Das Abmelden, Ändern von Passwörtern oder Deaktivieren von Konten greift ab sofort unverzüglich.</p>
</li>
<li>
<p data-path-to-node="32,2,0"><b data-path-to-node="32,2,0" data-index-in-node="0">E-Mail / SMTP:</b> Explizite Auswahlmöglichkeiten für TLS (STARTTLS, SSL/TLS, None, Auto) verhindern das ungesicherte Versenden von Benachrichtigungen über fehlerhafte Relays.</p>
</li>
</ul>
<h2 data-path-to-node="34">Neue Umgebungsvariablen (<code data-path-to-node="34" data-index-in-node="25">.env</code>)</h2>
<table data-path-to-node="35">
<thead>
<tr>
<td><strong>Variable</strong></td>
<td><strong>Standardwert</strong></td>
<td><strong>Zweck</strong></td>
</tr>
</thead>
<tbody>
<tr>
<td><span data-path-to-node="35,1,0,0"><code data-path-to-node="35,1,0,0" data-index-in-node="0">TRUSTED_PROXY_RANGES</code></span></td>
<td><span data-path-to-node="35,1,1,0"><i data-path-to-node="35,1,1,0" data-index-in-node="0">(leer)</i></span></td>
<td><span data-path-to-node="35,1,2,0">CIDRs für verkettete Reverse Proxies zur echten IP-Ermittlung</span></td>
</tr>
<tr>
<td><span data-path-to-node="35,2,0,0"><code data-path-to-node="35,2,0,0" data-index-in-node="0">PATCH_RUN_STALL_TIMEOUT_MIN</code></span></td>
<td><span data-path-to-node="35,2,1,0"><code data-path-to-node="35,2,1,0" data-index-in-node="0">30</code></span></td>
<td><span data-path-to-node="35,2,2,0">Minuten bis ein hängender Patch-Run als abgebrochen markiert wird</span></td>
</tr>
<tr>
<td><span data-path-to-node="35,3,0,0"><code data-path-to-node="35,3,0,0" data-index-in-node="0">AGENT_REPORTS_RETENTION_DAYS</code></span></td>
<td><span data-path-to-node="35,3,1,0"><code data-path-to-node="35,3,1,0" data-index-in-node="0">30</code></span></td>
<td><span data-path-to-node="35,3,2,0">Aufbewahrungsdauer der Agent-Activity-Historie (7–365 Tage)</span></td>
</tr>
<tr>
<td><span data-path-to-node="35,4,0,0"><code data-path-to-node="35,4,0,0" data-index-in-node="0">SESSION_INACTIVITY_TIMEOUT_MINUTES</code></span></td>
<td><span data-path-to-node="35,4,1,0"><i data-path-to-node="35,4,1,0" data-index-in-node="0">(inaktiv)</i></span></td>
<td><span data-path-to-node="35,4,2,0">Automatischer Logout bei Inaktivität (0 = deaktiviert)</span></td>
</tr>
</tbody>
</table>
<h2 data-path-to-node="37">Fazit</h2>
<p data-path-to-node="38">Mit dem Update auf v2.1.0 beweist das PatchMon-Team rund um Lead-Entwickler Iby, dass die Software reif für den anspruchsvollen Enterprise-Einsatz ist. Wer eine performante On-Premise-Alternative zu kommerziellen Patch-Management-Lösungen sucht, sollte das Update zeitnah einspielen.</p>
<p data-path-to-node="39"><b data-path-to-node="39" data-index-in-node="0">Offizielle Release-Notes &amp; Discussion:</b> <a class="ng-star-inserted" href="https://github.com/PatchMon/PatchMon/releases/tag/v2.1.0" target="_blank" rel="noopener" data-hveid="0" data-ved="0CAAQ_4QMahgKEwi61KXMop6WAxUAAAAAHQAAAAAQ6QE">GitHub PatchMon Tag v2.1.0</a></p>
<p>Der Beitrag <a href="https://ivanivanov.de/blog/patchmon-version-2-1-0-release-update/">PatchMon v2.1.0: Neues Release bringt massives Performance-Tuning</a> erschien zuerst auf <a href="https://ivanivanov.de">Ivan Ivanov</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">5613</post-id>	</item>
	</channel>
</rss>
