<?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>Posts on Homelab Guide – Selfhosting, Proxmox &amp; Docker Tutorials</title>
    <link>https://homelab-guide.de/posts/</link>
    <description>Recent content in Posts on Homelab Guide – Selfhosting, Proxmox &amp; Docker Tutorials</description>
    <image>
      <title>Homelab Guide – Selfhosting, Proxmox &amp; Docker Tutorials</title>
      <url>https://homelab-guide.de/images/homelab-guide-og.png</url>
      <link>https://homelab-guide.de/images/homelab-guide-og.png</link>
    </image>
    <generator>Hugo -- 0.159.1</generator>
    <language>de</language>
    <lastBuildDate>Fri, 27 Mar 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://homelab-guide.de/posts/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>OpenVPN: Von fragiler Screen-Session zu robustem systemd Service</title>
      <link>https://homelab-guide.de/posts/openvpn-von-fragiler-screen-session-zu-robustem-systemd-service/</link>
      <pubDate>Mon, 16 Feb 2026 12:00:00 +0100</pubDate>
      <guid>https://homelab-guide.de/posts/openvpn-von-fragiler-screen-session-zu-robustem-systemd-service/</guid>
      <description>Dein OpenVPN-Client läuft in einer Screen-Session? Dann betet besser zu den Mächten der Macht, dass niemand die Session killt. Hier ist der Weg zu einem ordentlichen systemd Service - mit Auto-Reconnect und Health-Monitoring.</description>
    </item>
    <item>
      <title>Intel I226-V auf pfSense: Wie PCIe-Energiesparen deine NICs killt und Active Directory gleich mit</title>
      <link>https://homelab-guide.de/posts/intel-i226-v-auf-pfsense-wie-pcie-energiesparen-deine-nics-killt-und-active-directory-gleich-mit/</link>
      <pubDate>Fri, 27 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://homelab-guide.de/posts/intel-i226-v-auf-pfsense-wie-pcie-energiesparen-deine-nics-killt-und-active-directory-gleich-mit/</guid>
      <description>Die Intel I226-V NIC auf einer pfSense stalled sporadisch für Sekunden. Klingt harmlos — bis du merkst, dass die Kerberos-Tickets ablaufen, DFS auf NTLM zurückfällt und Active-Directory-Accounts gesperrt werden. Weil ein Umlaut im Benutzernamen ist.</description>
    </item>
    <item>
      <title>Proxmox Backup: Dein Restore funktioniert nicht — du weißt es nur noch nicht</title>
      <link>https://homelab-guide.de/posts/proxmox-backup-dein-restore-funktioniert-nicht-du-wei%C3%9Ft-es-nur-noch-nicht/</link>
      <pubDate>Fri, 27 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://homelab-guide.de/posts/proxmox-backup-dein-restore-funktioniert-nicht-du-wei%C3%9Ft-es-nur-noch-nicht/</guid>
      <description>Tägliche Backups laufen seit Monaten. PBS zeigt grüne Haken. Alles bestens — bis du nach einem Totalausfall feststellst, dass der Restore fehlschlägt. Ein Bash-Script das wöchentlich automatisch eine VM aus dem PBS restored, bootet, prüft und wieder zerstört.</description>
    </item>
    <item>
      <title>pfSense WireGuard Client-VPN: Drei Pitfalls die deinen Tunnel killen</title>
      <link>https://homelab-guide.de/posts/pfsense-wireguard-client-vpn-drei-pitfalls-die-deinen-tunnel-killen/</link>
      <pubDate>Thu, 26 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://homelab-guide.de/posts/pfsense-wireguard-client-vpn-drei-pitfalls-die-deinen-tunnel-killen/</guid>
      <description>WireGuard Road-Warrior-VPN auf pfSense eingerichtet, Handshake steht — aber kein Traffic kommt durch. Drei nicht-offensichtliche Ursachen: Interface-IP verschwindet nach Assignment, Firewall-Gruppen-Regeln greifen nicht mehr, und NetworkManager bricht dein Internet-DNS.</description>
    </item>
    <item>
      <title>Grommunio-Suche findet nichts: Wenn der Volltextindex nur halb voll ist</title>
      <link>https://homelab-guide.de/posts/grommunio-suche-findet-nichts-wenn-der-volltextindex-nur-halb-voll-ist/</link>
      <pubDate>Tue, 17 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://homelab-guide.de/posts/grommunio-suche-findet-nichts-wenn-der-volltextindex-nur-halb-voll-ist/</guid>
      <description>Die Grommunio-Suche nach Absender liefert null Treffer, obwohl die Mails sichtbar im Posteingang liegen. Root Cause: grommunio-index hatte nur 47% der Mails indiziert. Plus: Zabbix-Monitoring damit es nicht wieder passiert.</description>
    </item>
    <item>
      <title>Suricata blockiert eigenen Smarthost — 7 Tage Mailausfall auf pfSense</title>
      <link>https://homelab-guide.de/posts/suricata-blockiert-eigenen-smarthost-7-tage-mailausfall-auf-pfsense/</link>
      <pubDate>Tue, 17 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://homelab-guide.de/posts/suricata-blockiert-eigenen-smarthost-7-tage-mailausfall-auf-pfsense/</guid>
      <description>Ausgehende Mails kamen eine Woche lang nicht an — ohne jede Fehlermeldung. Suricata hatte die Smarthost-IP in die snort2c-Blocktabelle geschrieben. Die Passlist enthielt die IP, aber im Legacy IPS pcap-Mode schützt sie nicht vor Blocking. Fix: Suppress-Regel, Cron-Guard und Zabbix-Monitoring.</description>
    </item>
    <item>
      <title>UCS S4-Connector synchronisiert nicht — das vergessene translog-Overlay</title>
      <link>https://homelab-guide.de/posts/ucs-s4-connector-synchronisiert-nicht-das-vergessene-translog-overlay/</link>
      <pubDate>Tue, 17 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://homelab-guide.de/posts/ucs-s4-connector-synchronisiert-nicht-das-vergessene-translog-overlay/</guid>
      <description>Der S4-Connector läuft, pollt brav — aber UDM-Änderungen kommen nie in Samba an. Ursache: Nach einer DC-Migration fehlt eine einzige UCR-Variable. Ohne sie ist der gesamte Listener/Notifier-Pfad tot.</description>
    </item>
    <item>
      <title>Proxmox PBS Restore zu langsam? OpenVPN durch WireGuard ersetzen (pfSense)</title>
      <link>https://homelab-guide.de/posts/proxmox-pbs-restore-zu-langsam-openvpn-durch-wireguard-ersetzen-pfsense/</link>
      <pubDate>Mon, 16 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://homelab-guide.de/posts/proxmox-pbs-restore-zu-langsam-openvpn-durch-wireguard-ersetzen-pfsense/</guid>
      <description>PBS-Restores über OpenVPN schaffen nur 3 MB/s — ein architektonisches Limit. WireGuard bringt deutlich mehr Throughput, aber die Migration über pfSense hat drei nicht-offensichtliche Fallen: filter_configure() killt VPN-Sessions, tun0 bleibt nach dem Stoppen stehen, und deine neue Tunnel-IP muss ins bestehende /30 passen.</description>
    </item>
    <item>
      <title>pfSense &#43; NordVPN WireGuard: Drei Pitfalls die deinen Tunnel killen</title>
      <link>https://homelab-guide.de/posts/pfsense--nordvpn-wireguard-drei-pitfalls-die-deinen-tunnel-killen/</link>
      <pubDate>Fri, 13 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://homelab-guide.de/posts/pfsense--nordvpn-wireguard-drei-pitfalls-die-deinen-tunnel-killen/</guid>
      <description>NordVPN WireGuard-Tunnel auf pfSense tot — kein Internet für alle Clients, Gateway-Group failovert nicht. Drei nicht-offensichtliche Ursachen: dpinger pingt sich selbst, Subnetzmaske /32 statt /16, und der NordVPN-Endpoint ist einfach weg. Plus: Wie du den WireGuard-Key ohne die NordVPN-API registrierst.</description>
    </item>
    <item>
      <title>Ralph Wiggum Technique: Iterative AI-Loops mit Claude Code</title>
      <link>https://homelab-guide.de/posts/ralph-wiggum-technique-iterative-ai-loops-mit-claude-code/</link>
      <pubDate>Tue, 10 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://homelab-guide.de/posts/ralph-wiggum-technique-iterative-ai-loops-mit-claude-code/</guid>
      <description>Denselben Prompt immer wieder an eine AI füttern klingt dumm. Ist es auch — und genau deshalb funktioniert es. Die Ralph Wiggum Technique macht iterative Entwicklung mit Claude Code zum Autopiloten.</description>
    </item>
    <item>
      <title>Winbind WBC_ERR_DOMAIN_NOT_FOUND: Wenn drei idmap-Backends identisch scheitern</title>
      <link>https://homelab-guide.de/posts/winbind-wbc_err_domain_not_found-wenn-drei-idmap-backends-identisch-scheitern/</link>
      <pubDate>Mon, 09 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://homelab-guide.de/posts/winbind-wbc_err_domain_not_found-wenn-drei-idmap-backends-identisch-scheitern/</guid>
      <description>Winbind gibt WBC_ERR_DOMAIN_NOT_FOUND zurück — egal ob nss, ad oder rid Backend. Alle drei scheitern identisch. Die Root Cause: ein separates LDAP-Bind-Passwort in secrets.tdb, das bei Machine-Account-Rotation nicht aktualisiert wird.</description>
    </item>
    <item>
      <title>pfSense Suricata: Wenn das IPS die eigene WAN-IP blockiert</title>
      <link>https://homelab-guide.de/posts/pfsense-suricata-wenn-das-ips-die-eigene-wan-ip-blockiert/</link>
      <pubDate>Wed, 04 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://homelab-guide.de/posts/pfsense-suricata-wenn-das-ips-die-eigene-wan-ip-blockiert/</guid>
      <description>Suricata auf pfSense mit blockoffenders aktiv — und täglich Totalausfall der gesamten Hetzner-Infrastruktur. Die eigene WAN-IP stand in der snort2c-Tabelle. Ursache: leere Passlist (wanaddr/lanaddr/vpnaddr fehlten), kaputte Passlist-Referenz aus der Snort-Migration, und Snort lief parallel noch mit.</description>
    </item>
    <item>
      <title>UCS: Nach DC-Demote — die stillen UCR-Zeitzünder auf Member-Servern</title>
      <link>https://homelab-guide.de/posts/ucs-nach-dc-demote-die-stillen-ucr-zeitz%C3%BCnder-auf-member-servern/</link>
      <pubDate>Tue, 03 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://homelab-guide.de/posts/ucs-nach-dc-demote-die-stillen-ucr-zeitz%C3%BCnder-auf-member-servern/</guid>
      <description>Nach dem Demote eines UCS Domain Controllers zeigen UCR-Variablen auf Member-Servern weiterhin auf den toten DC. Fällt erst auf wenn Kerberos-Tickets auslaufen — Tage oder Wochen später. Dann bricht SMB auf einmal zusammen.</description>
    </item>
    <item>
      <title>ble_monitor: Xiaomi Körperwaage sendet nach HA-Neustart keine Daten mehr</title>
      <link>https://homelab-guide.de/posts/ble_monitor-xiaomi-k%C3%B6rperwaage-sendet-nach-ha-neustart-keine-daten-mehr/</link>
      <pubDate>Mon, 02 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://homelab-guide.de/posts/ble_monitor-xiaomi-k%C3%B6rperwaage-sendet-nach-ha-neustart-keine-daten-mehr/</guid>
      <description>Nach jedem HA-Neustart: alle Waagen-Sensoren unknown, bodymiscale zeigt impedance_unavailable. Ursache ist ein fehlender Encryption Key für MiBeacon V5 in ble_monitor — und die Lösung ist drei Python-Zeilen in einer JSON-Datei.</description>
    </item>
    <item>
      <title>Xiaomi Körperwaage in Home Assistant: Körperzusammensetzung mit ble_monitor und bodymiscale</title>
      <link>https://homelab-guide.de/posts/xiaomi-k%C3%B6rperwaage-in-home-assistant-k%C3%B6rperzusammensetzung-mit-ble_monitor-und-bodymiscale/</link>
      <pubDate>Mon, 02 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://homelab-guide.de/posts/xiaomi-k%C3%B6rperwaage-in-home-assistant-k%C3%B6rperzusammensetzung-mit-ble_monitor-und-bodymiscale/</guid>
      <description>Xiaomi Körperwaage (MJTZC01YM) in Home Assistant einbinden: Gewicht, Körperfett, Muskelmasse und mehr — mit ble_monitor für BLE-Scanning und bodymiscale für die Berechnung der Körperzusammensetzung.</description>
    </item>
    <item>
      <title>pfSense PHP-Falle: disabled:&#39;&#39; deaktiviert deine Firewall-Regel lautlos</title>
      <link>https://homelab-guide.de/posts/pfsense-php-falle-disabled-deaktiviert-deine-firewall-regel-lautlos/</link>
      <pubDate>Fri, 27 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://homelab-guide.de/posts/pfsense-php-falle-disabled-deaktiviert-deine-firewall-regel-lautlos/</guid>
      <description>Firewall-Regel via PHP in config.xml geschrieben, filter_configure() aufgerufen, pf zeigt nichts. Kein Fehler, keine Warnung. Der Grund: ein leerer PHP-String im &amp;lsquo;disabled&amp;rsquo;-Key. Ein isset()-Gotcha das Stunden kostet.</description>
    </item>
    <item>
      <title>pfSense: Snort → Suricata Migration — vollautomatisch via PHP</title>
      <link>https://homelab-guide.de/posts/pfsense-snort-suricata-migration-vollautomatisch-via-php/</link>
      <pubDate>Fri, 27 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://homelab-guide.de/posts/pfsense-snort-suricata-migration-vollautomatisch-via-php/</guid>
      <description>Snort 2.9.x ist End-of-Life. Wer auf pfSense noch Snort betreibt, sollte jetzt auf Suricata wechseln. Dieser Artikel zeigt wie die Migration vollautomatisch via PHP-API funktioniert — inkl. der drei Fallen die mich Stunden gekostet haben.</description>
    </item>
    <item>
      <title>clawdbot Matrix Plugin: Drei Konfigurationsfehler die den Bot stumm schalten</title>
      <link>https://homelab-guide.de/posts/clawdbot-matrix-plugin-drei-konfigurationsfehler-die-den-bot-stumm-schalten/</link>
      <pubDate>Thu, 26 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://homelab-guide.de/posts/clawdbot-matrix-plugin-drei-konfigurationsfehler-die-den-bot-stumm-schalten/</guid>
      <description>Das Matrix-Plugin für clawdbot ist schnell installiert — aber drei falsche Feldnamen in der Config sorgen dafür, dass der Bot einfach gar nicht reagiert. Hier sind die Fallstricke.</description>
    </item>
    <item>
      <title>pfSense: config.xml per PHP automatisieren — Pitfalls und Patterns</title>
      <link>https://homelab-guide.de/posts/pfsense-config.xml-per-php-automatisieren-pitfalls-und-patterns/</link>
      <pubDate>Thu, 26 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://homelab-guide.de/posts/pfsense-config.xml-per-php-automatisieren-pitfalls-und-patterns/</guid>
      <description>pfSense hat eine PHP-API die direkt auf config.xml operiert. Klingt verlockend für Automatisierung — ist es auch, aber mit Fallstricken die nirgendwo dokumentiert sind. Hier sind die Patterns und Pitfalls die ich beim Härten einer pfSense-Installation gelernt habe.</description>
    </item>
    <item>
      <title>Bosch eBike Connect &#43; Home Assistant: Herzfrequenz aus dem Todesstern befreien</title>
      <link>https://homelab-guide.de/posts/bosch-ebike-connect--home-assistant-herzfrequenz-aus-dem-todesstern-befreien/</link>
      <pubDate>Wed, 25 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://homelab-guide.de/posts/bosch-ebike-connect--home-assistant-herzfrequenz-aus-dem-todesstern-befreien/</guid>
      <description>Bosch speichert deine Herzfrequenz-Daten in der Cloud und exportiert sie nicht ins GPX. Mit ebike-dl, einem Python-Script und HA REST-Sensoren kommen die Daten trotzdem nach Yavin IV.</description>
    </item>
    <item>
      <title>Zabbix Agent 2 auf Windows: Zwei Pitfalls die UserParameter zum Schweigen bringen</title>
      <link>https://homelab-guide.de/posts/zabbix-agent-2-auf-windows-zwei-pitfalls-die-userparameter-zum-schweigen-bringen/</link>
      <pubDate>Tue, 24 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://homelab-guide.de/posts/zabbix-agent-2-auf-windows-zwei-pitfalls-die-userparameter-zum-schweigen-bringen/</guid>
      <description>Du hast ein UserParameter-Script für Zabbix Agent 2 auf Windows geschrieben, die Config deployt, den Agent neugestartet — und nichts passiert. Keine Items, kein Fehler, einfach Stille. Zwei Ursachen, beide nicht offensichtlich.</description>
    </item>
    <item>
      <title>Plausible Analytics v3 Self-Hosting: Vier Fallstricke die mich Stunden gekostet haben</title>
      <link>https://homelab-guide.de/posts/plausible-analytics-v3-self-hosting-vier-fallstricke-die-mich-stunden-gekostet-haben/</link>
      <pubDate>Mon, 23 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://homelab-guide.de/posts/plausible-analytics-v3-self-hosting-vier-fallstricke-die-mich-stunden-gekostet-haben/</guid>
      <description>Plausible v3 mit ClickHouse 24.12 selbst hosten klingt nach einer Stunde Arbeit. Tatsächlich warten vier nicht-offensichtliche Probleme: Breaking Changes in ClickHouse, env_file-Verhalten von Docker Compose, WebSocket-Pflicht für Phoenix LiveView und eine nginx SSL-Falle.</description>
    </item>
    <item>
      <title>grommunio: ldap.yaml geändert — und trotzdem kein LDAP</title>
      <link>https://homelab-guide.de/posts/grommunio-ldap.yaml-ge%C3%A4ndert-und-trotzdem-kein-ldap/</link>
      <pubDate>Sun, 22 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://homelab-guide.de/posts/grommunio-ldap.yaml-ge%C3%A4ndert-und-trotzdem-kein-ldap/</guid>
      <description>Du änderst die LDAP-Konfiguration in grommunio und nichts passiert. Der Grund: grommunio hat zwei LDAP-Config-Dateien mit verschiedenen Zuständigkeiten, und die meisten ändern die falsche.</description>
    </item>
    <item>
      <title>gromox-mt2exm: Das -c Flag verschluckt RPC-Fehler und hinterlässt verwaiste Nachrichten</title>
      <link>https://homelab-guide.de/posts/gromox-mt2exm-das-c-flag-verschluckt-rpc-fehler-und-hinterl%C3%A4sst-verwaiste-nachrichten/</link>
      <pubDate>Sun, 22 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://homelab-guide.de/posts/gromox-mt2exm-das-c-flag-verschluckt-rpc-fehler-und-hinterl%C3%A4sst-verwaiste-nachrichten/</guid>
      <description>Bei der Migration von Kopano nach Grommunio mit gromox-mt2exm sorgt das -c Flag dafür, dass RPC-Timeouts stillschweigend ignoriert werden. Das Ergebnis: Tausende Mails landen ohne Ordnerzuordnung in der Datenbank — der Import meldet trotzdem Erfolg.</description>
    </item>
    <item>
      <title>Mealie v0.5 auf v3 upgraden: kein direktes Upgrade, dafür drei Fallstricke</title>
      <link>https://homelab-guide.de/posts/mealie-v0.5-auf-v3-upgraden-kein-direktes-upgrade-daf%C3%BCr-drei-fallstricke/</link>
      <pubDate>Sun, 22 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://homelab-guide.de/posts/mealie-v0.5-auf-v3-upgraden-kein-direktes-upgrade-daf%C3%BCr-drei-fallstricke/</guid>
      <description>Mealie v0.5.x lässt sich nicht direkt auf v3 upgraden — ein Export und Neustart ist der einzig sinnvolle Weg. Dabei warten drei nicht-offensichtliche Fallstricke: falscher Import-Dialog, fehlende OIDC-Rechte und ein nginx-Klassiker.</description>
    </item>
    <item>
      <title>Proxmox VM Disk erweitern: Warum parted schweigend scheitert und sgdisk rettet</title>
      <link>https://homelab-guide.de/posts/proxmox-vm-disk-erweitern-warum-parted-schweigend-scheitert-und-sgdisk-rettet/</link>
      <pubDate>Sun, 22 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://homelab-guide.de/posts/proxmox-vm-disk-erweitern-warum-parted-schweigend-scheitert-und-sgdisk-rettet/</guid>
      <description>Disk in Proxmox vergrößert, aber parted resizepart scheitert mit &amp;lsquo;Unable to satisfy all constraints&amp;rsquo; – ohne brauchbare Fehlermeldung. Ursache: Der GPT-Backup-Header sitzt noch am alten Disk-Ende. sgdisk -e verschiebt ihn, dann klappt alles.</description>
    </item>
    <item>
      <title>Python ldap3: invalidCredentials obwohl das Passwort stimmt</title>
      <link>https://homelab-guide.de/posts/python-ldap3-invalidcredentials-obwohl-das-passwort-stimmt/</link>
      <pubDate>Sun, 22 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://homelab-guide.de/posts/python-ldap3-invalidcredentials-obwohl-das-passwort-stimmt/</guid>
      <description>ldapwhoami bindet erfolgreich, Python ldap3 liefert invalidCredentials — mit identischen Credentials. Die Ursache: Sonderzeichen (@, !) im Passwort. libldap überträgt sie korrekt, ldap3 nicht.</description>
    </item>
    <item>
      <title>Vaultwarden &#43; Keycloak SSO: Einträge nicht editierbar, Besitzer nicht änderbar</title>
      <link>https://homelab-guide.de/posts/vaultwarden--keycloak-sso-eintr%C3%A4ge-nicht-editierbar-besitzer-nicht-%C3%A4nderbar/</link>
      <pubDate>Sun, 22 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://homelab-guide.de/posts/vaultwarden--keycloak-sso-eintr%C3%A4ge-nicht-editierbar-besitzer-nicht-%C3%A4nderbar/</guid>
      <description>Nach dem SSO-Login via Keycloak lassen sich Vaultwarden-Einträge nicht mehr editieren und Besitzer können nicht geändert werden. Die Ursache ist eine Token-Race-Condition durch eine zu kurze Access Token Lifetime in Keycloak.</description>
    </item>
    <item>
      <title>UCS DC-Demote: Member Server zeigen nach dem Demote weiterhin auf den alten DC</title>
      <link>https://homelab-guide.de/posts/ucs-dc-demote-member-server-zeigen-nach-dem-demote-weiterhin-auf-den-alten-dc/</link>
      <pubDate>Sat, 21 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://homelab-guide.de/posts/ucs-dc-demote-member-server-zeigen-nach-dem-demote-weiterhin-auf-den-alten-dc/</guid>
      <description>Nach einem UCS DC-Demote zeigen alle Member Server weiterhin auf den toten DC. ucr set ldap/server/name hilft nicht — &amp;lsquo;overridden by scope ldap&amp;rsquo;. Der echte Täter: Das UDM-Objekt des alten DC behält univentionServerRole=master im OpenLDAP, und der Listener-Mechanismus setzt ldap/server/name daraus.</description>
    </item>
    <item>
      <title>pfSense: WireGuard als Default-Gateway – wenn dpinger sich selbst belügt</title>
      <link>https://homelab-guide.de/posts/pfsense-wireguard-als-default-gateway-wenn-dpinger-sich-selbst-bel%C3%BCgt/</link>
      <pubDate>Fri, 20 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://homelab-guide.de/posts/pfsense-wireguard-als-default-gateway-wenn-dpinger-sich-selbst-bel%C3%BCgt/</guid>
      <description>Alle Clients offline nach WireGuard-Reconnect, aber pfSense meldet &amp;lsquo;online&amp;rsquo;. Ursache: dpinger pingt bei WireGuard-Gateways ohne Monitor-Target die eigene Interface-IP – und die antwortet immer, auch wenn der Tunnel tot ist.</description>
    </item>
    <item>
      <title>JavaScript Smooth-Scroll: Die offsetTop-Falle bei verschachtelten Elementen</title>
      <link>https://homelab-guide.de/posts/javascript-smooth-scroll-die-offsettop-falle-bei-verschachtelten-elementen/</link>
      <pubDate>Thu, 19 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://homelab-guide.de/posts/javascript-smooth-scroll-die-offsettop-falle-bei-verschachtelten-elementen/</guid>
      <description>Du baust einen eigenen Smooth-Scroll-Handler und er funktioniert perfekt – bis er es nicht tut. Anker-Links auf tief verschachtelte Elemente scrollen nach ganz oben statt zum Ziel. Die Ursache: &lt;code&gt;offsetTop&lt;/code&gt; lügt dich an.</description>
    </item>
    <item>
      <title>PHPMailer SMTP auth schlägt fehl, curl geht — der `!`-Passwort-Trick</title>
      <link>https://homelab-guide.de/posts/phpmailer-smtp-auth-schl%C3%A4gt-fehl-curl-geht-der-passwort-trick/</link>
      <pubDate>Thu, 19 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://homelab-guide.de/posts/phpmailer-smtp-auth-schl%C3%A4gt-fehl-curl-geht-der-passwort-trick/</guid>
      <description>PHPMailer kann sich nicht per SMTP authentifizieren, obwohl curl mit denselben Credentials funktioniert. Die überraschende Ursache: Bash-History-Expansion verwandelt &lt;code&gt;!&lt;/code&gt; heimlich in &lt;code&gt;\!&lt;/code&gt; — und PHP kennt diesen Trick nicht.</description>
    </item>
    <item>
      <title>Python: {{ }} außerhalb von f-Strings generiert keinen Escape — ein stiller Code-Bug</title>
      <link>https://homelab-guide.de/posts/python-au%C3%9Ferhalb-von-f-strings-generiert-keinen-escape-ein-stiller-code-bug/</link>
      <pubDate>Thu, 19 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://homelab-guide.de/posts/python-au%C3%9Ferhalb-von-f-strings-generiert-keinen-escape-ein-stiller-code-bug/</guid>
      <description>Ein Python-Script generiert Ruby-Code mit Blöcken. Manche Strings sind f-Strings, manche nicht. {{ }} sollte zu { } werden — tut es aber nur in f-Strings. In normalen Strings bleiben {{ }} literal. Das erzeugt ungültiges Ruby, Python wirft keinen Fehler, und das Programm schlägt still fehl.</description>
    </item>
    <item>
      <title>Zammad SMTP direkt über Proxmox Mail Gateway — kein Auth nötig</title>
      <link>https://homelab-guide.de/posts/zammad-smtp-direkt-%C3%BCber-proxmox-mail-gateway-kein-auth-n%C3%B6tig/</link>
      <pubDate>Thu, 19 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://homelab-guide.de/posts/zammad-smtp-direkt-%C3%BCber-proxmox-mail-gateway-kein-auth-n%C3%B6tig/</guid>
      <description>Wer PMG im Homelab oder als internes Mail-Relay betreibt, braucht für Zammad keinen externen SMTP-Account. PMG akzeptiert Verbindungen aus dem internen Netz per mynetworks ohne Auth und übernimmt DKIM-Signierung. So stellt du Zammads Outbound-SMTP auf PMG um — inklusive DKIM-Aktivierung per pmgsh.</description>
    </item>
    <item>
      <title>Zammad: Mails nach Import archivieren statt löschen — ohne Elasticsearch</title>
      <link>https://homelab-guide.de/posts/zammad-mails-nach-import-archivieren-statt-l%C3%B6schen-ohne-elasticsearch/</link>
      <pubDate>Thu, 19 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://homelab-guide.de/posts/zammad-mails-nach-import-archivieren-statt-l%C3%B6schen-ohne-elasticsearch/</guid>
      <description>Zammad löscht Mails nach dem IMAP-Import. Wer ein Backup im Postfach behalten will, stößt auf ein nicht-offensichtliches Problem: Die Zammad-API findet Message-IDs ohne Elasticsearch nicht. Die Lösung ist ein Python-Cron-Job mit einem direkten Rails-Query via docker exec.</description>
    </item>
    <item>
      <title>Docker: Custom CA in Non-Root Containern einbinden (ohne update-ca-certificates)</title>
      <link>https://homelab-guide.de/posts/docker-custom-ca-in-non-root-containern-einbinden-ohne-update-ca-certificates/</link>
      <pubDate>Wed, 18 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://homelab-guide.de/posts/docker-custom-ca-in-non-root-containern-einbinden-ohne-update-ca-certificates/</guid>
      <description>update-ca-certificates schlägt fehl mit Permission denied — weil der Container als Non-Root läuft. Die Lösung: Ein pre-built Combined CA Bundle, das direkt gemountet wird. Kein Entrypoint-Override, kein Build-Step.</description>
    </item>
    <item>
      <title>UCS Memberserver nach DC-Demote migrieren: Wenn net ads join nicht reicht</title>
      <link>https://homelab-guide.de/posts/ucs-memberserver-nach-dc-demote-migrieren-wenn-net-ads-join-nicht-reicht/</link>
      <pubDate>Wed, 18 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://homelab-guide.de/posts/ucs-memberserver-nach-dc-demote-migrieren-wenn-net-ads-join-nicht-reicht/</guid>
      <description>Nach dem Demote eines UCS Domain Controllers zeigen Memberserver noch auf den alten DC. net ads join repariert nur die AD-Seite - für UCS braucht man univention-join. Plus: TLS-Fallen mit Step-CA und ein UCR-Revert den niemand erwartet.</description>
    </item>
    <item>
      <title>Zammad 6.5 Docker: Rails Console funktioniert nicht – drei Fallen und ihre Lösungen</title>
      <link>https://homelab-guide.de/posts/zammad-6.5-docker-rails-console-funktioniert-nicht-drei-fallen-und-ihre-l%C3%B6sungen/</link>
      <pubDate>Wed, 18 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://homelab-guide.de/posts/zammad-6.5-docker-rails-console-funktioniert-nicht-drei-fallen-und-ihre-l%C3%B6sungen/</guid>
      <description>Wer Zammad in Docker per Rails Console konfigurieren will, läuft in drei nicht-offensichtliche Fallen: DATABASE_URL wird nicht vererbt, Bang-Methoden werden von Bash escapet, und das Calendar-Modell hat ein paar stille Eigenheiten. Hier sind die Lösungen.</description>
    </item>
    <item>
      <title>CSS transform:scale() und Überlappungen – drei falsche Diagnosen bis zum Fix</title>
      <link>https://homelab-guide.de/posts/css-transformscale-und-%C3%BCberlappungen-drei-falsche-diagnosen-bis-zum-fix/</link>
      <pubDate>Tue, 17 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://homelab-guide.de/posts/css-transformscale-und-%C3%BCberlappungen-drei-falsche-diagnosen-bis-zum-fix/</guid>
      <description>Eine skalierte CSS-Card überlappt den nächsten Abschnitt. z-index hilft nicht, padding auch nicht. Warum margin-bottom der einzige echte Fix ist – und was transform:scale() eigentlich mit dem DOM macht.</description>
    </item>
    <item>
      <title>data-i18n und textContent: Warum deine Spans spurlos verschwinden</title>
      <link>https://homelab-guide.de/posts/data-i18n-und-textcontent-warum-deine-spans-spurlos-verschwinden/</link>
      <pubDate>Tue, 17 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://homelab-guide.de/posts/data-i18n-und-textcontent-warum-deine-spans-spurlos-verschwinden/</guid>
      <description>Du baust eine hübsche Wortmarke mit verschiedenen Spans, aber nach dem Laden der Seite sind die Spans weg. Schuld ist ein einziger Zeile in deiner i18n-Library: element.textContent = translation. Hier ist warum – und wie du es löst.</description>
    </item>
    <item>
      <title>Google Search Console: 77 nicht indexierte Seiten - Panik oder Feature?</title>
      <link>https://homelab-guide.de/posts/google-search-console-77-nicht-indexierte-seiten-panik-oder-feature/</link>
      <pubDate>Mon, 16 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://homelab-guide.de/posts/google-search-console-77-nicht-indexierte-seiten-panik-oder-feature/</guid>
      <description>Du checkst Google Search Console und siehst plötzlich 77 &amp;rsquo;nicht indexierte&amp;rsquo; Seiten. Panik? Nope. Wenn es Pagination-Seiten sind, ist das gewollt. Wie du das diagnostizierst und wann du wirklich handeln musst.</description>
    </item>
    <item>
      <title>Samba AD: DNS A-Record ohne GUI anlegen (ldbadd &#43; Base64)</title>
      <link>https://homelab-guide.de/posts/samba-ad-dns-a-record-ohne-gui-anlegen-ldbadd--base64/</link>
      <pubDate>Sat, 14 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://homelab-guide.de/posts/samba-ad-dns-a-record-ohne-gui-anlegen-ldbadd--base64/</guid>
      <description>Wie man einen DNS A-Record in Samba AD via ldbadd anlegt, wenn keine Windows RSAT-Tools verfügbar sind - inklusive Erklärung des mysteriösen Base64-codierten dnsRecord-Attributs.</description>
    </item>
    <item>
      <title>Samba4 AD DNS: Warum statische Bind-Zonen nicht replizieren</title>
      <link>https://homelab-guide.de/posts/samba4-ad-dns-warum-statische-bind-zonen-nicht-replizieren/</link>
      <pubDate>Sat, 14 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://homelab-guide.de/posts/samba4-ad-dns-warum-statische-bind-zonen-nicht-replizieren/</guid>
      <description>Ein DNS-Record funktioniert auf dem Primary DC, aber nicht auf dem Replica? Wenn du statische Bind-Zonen nutzt, hast du ein Problem. Hier ist die Lösung.</description>
    </item>
    <item>
      <title>Zabbix 7.0 API Migration: Warum dein Code plötzlich 502 oder &#39;Invalid params&#39; wirft</title>
      <link>https://homelab-guide.de/posts/zabbix-7.0-api-migration-warum-dein-code-pl%C3%B6tzlich-502-oder-invalid-params-wirft/</link>
      <pubDate>Sat, 14 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://homelab-guide.de/posts/zabbix-7.0-api-migration-warum-dein-code-pl%C3%B6tzlich-502-oder-invalid-params-wirft/</guid>
      <description>Nach dem Upgrade auf Zabbix 7.0 schlägt dein API-Client fehl? Zwei Breaking Changes in der Zabbix API sorgen für Kopfzerbrechen: Auth-Token und selectHosts.</description>
    </item>
    <item>
      <title>Home Assistant TTS Morning Briefing: Yamaha MusicCast &#43; CalDAV &#43; Wetter &#43; Müllabfuhr</title>
      <link>https://homelab-guide.de/posts/home-assistant-tts-morning-briefing-yamaha-musiccast--caldav--wetter--m%C3%BCllabfuhr/</link>
      <pubDate>Fri, 13 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://homelab-guide.de/posts/home-assistant-tts-morning-briefing-yamaha-musiccast--caldav--wetter--m%C3%BCllabfuhr/</guid>
      <description>Tägliches Morning Briefing per Text-to-Speech auf Yamaha MusicCast Speaker — mit Kalender-Terminen (CalDAV/Grommunio), Wetter (Open-Meteo) und Müllabfuhr-Erinnerung. Plus: Wie man Pipers englische TTS-Stimme mit deutschen Terminen zum Arbeiten bringt.</description>
    </item>
    <item>
      <title>nginx: Warum deine Website &#39;noindex&#39; hat obwohl du es nie gesetzt hast</title>
      <link>https://homelab-guide.de/posts/nginx-warum-deine-website-noindex-hat-obwohl-du-es-nie-gesetzt-hast/</link>
      <pubDate>Fri, 13 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://homelab-guide.de/posts/nginx-warum-deine-website-noindex-hat-obwohl-du-es-nie-gesetzt-hast/</guid>
      <description>Google Search Console meldet &amp;rsquo;noindex&amp;rsquo; für deine Website, aber in deiner nginx-Config steht kein X-Robots-Tag? Das Problem liegt an nginx&amp;rsquo;s Header-Vererbung.</description>
    </item>
    <item>
      <title>UCS DC-Migration: Warum der Backup-DC nach dem Demote nicht schreiben kann</title>
      <link>https://homelab-guide.de/posts/ucs-dc-migration-warum-der-backup-dc-nach-dem-demote-nicht-schreiben-kann/</link>
      <pubDate>Fri, 13 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://homelab-guide.de/posts/ucs-dc-migration-warum-der-backup-dc-nach-dem-demote-nicht-schreiben-kann/</guid>
      <description>Nach einer UCS DC-Migration funktioniert LDAP-Auth nicht mehr? Der Backup-DC verweigert Schreiboperationen mit &amp;lsquo;shadow context&amp;rsquo;? Das Problem: UCR und OpenLDAP wissen nicht, dass sie jetzt Master sind.</description>
    </item>
    <item>
      <title>CalDAV in Python: Warum deine Query 63 Events zurückgibt, obwohl nur eins heute stattfindet</title>
      <link>https://homelab-guide.de/posts/caldav-in-python-warum-deine-query-63-events-zur%C3%BCckgibt-obwohl-nur-eins-heute-stattfindet/</link>
      <pubDate>Thu, 23 Jan 2025 00:00:00 +0000</pubDate>
      <guid>https://homelab-guide.de/posts/caldav-in-python-warum-deine-query-63-events-zur%C3%BCckgibt-obwohl-nur-eins-heute-stattfindet/</guid>
      <description>CalDAV gibt bei wiederkehrenden Terminen ALLE Events zurück, nicht nur die heutigen. Warum DTSTART dich belügt und wie du RRULE mit dateutil richtig auswertest.</description>
    </item>
  </channel>
</rss>
