====== Home IT-Infrastruktur & Systemanpassungen ====== ===== NAS2 Wiederherstellung (12. Juli 2026) ===== **Ausgangslage:** Das Synology NAS2 (DS1019+, 192.168.128.222) wurde am 12. Juli 2026 neu aufgesetzt. Alle Konfigurationen gingen verloren, die eigentlichen Daten (Shared Folders, VM-Images) blieben erhalten. ==== Zertifikat ==== Let's Encrypt Zertifikat für ''nas2.lynx-consulting.ch'' erfolgreich neu beantragt via DSM-Wizard (HTTP-01 Challenge). Gültig bis 10.10.2026. **SAN-Einträge:** adguard.lynx-consulting.ch;drucker.lynx-consulting.ch;git.lynx-consulting.ch;grafana.lynx-consulting.ch;ha.lynx-consulting.ch;nas2.lynx-consulting.ch;plex.lynx-consulting.ch;prometheus.lynx-consulting.ch;wiki.lynx-consulting.ch **⚠️ Kritische Regel:** SANs im DSM-Zertifikatsdialog zwingend mit Semikolons ('';'') ohne Leerzeichen trennen! **Fehlende SAN:** ''llms.lynx-consulting.ch'' — DNS-Eintrag fehlt noch bei Hetzner (Account-Aussperrung). **Logs bei Problemen:** ''/var/log/messages'' auf dem NAS2. ==== Reverse Proxy ==== Alle Einträge mussten neu erstellt werden (Anmeldeportal → Erweitert → Reverse Proxy): ^ Dienst ^ Quelle ^ Port ^ Ziel ^ Port ^ | AdGuard | ''adguard.lynx-consulting.ch'' | 443 (HTTPS) | 192.168.128.200 | 3000 (HTTPS) | | Gitea | ''git.lynx-consulting.ch'' | 443 (HTTPS) | 192.168.128.200 | 3001 | | DokuWiki | ''wiki.lynx-consulting.ch'' | 443 (HTTPS) | 192.168.128.200 | 8085 | | Drucker | ''drucker.lynx-consulting.ch'' | 443 (HTTPS) | 192.168.128.254 | 443 (HTTPS) | | Home Assistant | ''ha.lynx-consulting.ch'' | 443 (HTTPS) | 192.168.128.22 | 8123 (HTTP) | | Plex | ''plex.lynx-consulting.ch'' | 443 (HTTPS) | localhost | 32400 (HTTPS) | | Grafana | ''grafana.lynx-consulting.ch'' | 443 (HTTPS) | 192.168.128.200 | 3002 (HTTP) | | Prometheus | ''prometheus.lynx-consulting.ch'' | 443 (HTTPS) | 192.168.128.200 | 9090 | **WebSocket-Header für HA:** Reverse-Proxy-Eintrag → Benutzerdefinierte Kopfzeile → Erstellen → WebSocket. Ohne diesen Header keine WebSocket-Verbindung zu HA. ==== Drucker (HP PageWide Pro 477dw) ==== * IP: 192.168.128.254 * **Reverse-Proxy Konfiguration:** HTTPS → HTTPS (443 → 443) **⚠️ Kritischer Host-Header-Fix:** Der HP-Drucker setzt Session-Cookies für seine eigene IP-Adresse. Der Synology-Reverse-Proxy überschreibt standardmäßig den Host-Header auf die externe Domain ("drucker.lynx-consulting.ch"). Der Drucker akzeptiert die Cookies dann nicht → alle dynamischen Kacheln (Füllstände, Scan, Fax, Energie) schlagen mit 403 Forbidden fehl! **Lösung — Benutzerdefinierte Kopfzeile:** * **Name:** ''Host'' * **Wert:** ''192.168.128.254'' Damit sieht der Drucker seine eigene IP im Host-Header, setzt und akzeptiert Cookies korrekt, und alle dynamischen Inhalte laden einwandfrei. **NICHT benötigt:** WebSocket-Header, X-Forwarded-Proto, X-Forwarded-Host — die wurden alle getestet und hatten keinen Effekt. Einzig der Host-Header-Fix löste das Problem. ==== Home Assistant (VM) ==== * IP: 192.168.128.22 (statisch) * HAOS 10.1, Core von 2023.7.1 → 2024.7.2 aktualisiert * Läuft als VM im Virtual Machine Manager auf NAS2 * **Problem:** Nach DSM-Reset kein Netzwerkadapter → VMM → Bearbeiten → "Default VM Network" zuweisen * **Synology-DSM-Integration:** Neuer Benutzer ''homeassistant'' (muss in Gruppe ''administrators'' sein), Port 5679, SSL-Prüfung deaktiviert ==== AdGuard Home ==== * Port 3000 (Host-Netzwerk), Version v0.107.77 * **Passwort-Reset:** v0.107 hat KEIN CLI-Reset und KEINE Web-UI-Passwortänderung! Workaround: bcrypt-Hash generieren und in ''/opt/adguardhome/conf/AdGuardHome.yaml'' ersetzen * Container ist Alpine-basiert → nur ''sh'', kein ''bash'' * **⚠️ Wichtig:** Vor Zertifikatserneuerung muss AdGuard deaktiviert werden (DNS-Rewrites leiten sonst auf private IPs um und Let's Encrypt lehnt ab) ==== Grafana ==== * Port-Mapping: Docker intern 3000 → Host 3001 (3000 von AdGuard belegt) * Reverse-Proxy: ''grafana.lynx-consulting.ch'' → localhost:3001 (HTTP) * **Tippfehler-Falle:** "consulting" mit **g** am Ende — ''consultin.ch'' führt zu nicht erreichbarer Seite ==== DokuWiki ==== * DokuWiki-Container überlebte den DSM-Reset (Docker-Daten erhalten) * **Problem:** Der Config-Manager war durch das ''markdownextra''-Plugin (Version 2013) blockiert — ParseError beim Laden * **Lösung:** Plugin über die Erweiterungsverwaltung deaktiviert (nicht gelöscht). Danach Config-Manager wieder funktionsfähig * **Config gesetzt:** ''baseurl'' auf "https://wiki.lynx-consulting.ch", ''remote'' API-Zugang aktiviert * **XML-RPC/JSON-RPC:** Core-API (seit DokuWiki 2018 im Kern) läuft, aber Aufrufe werden aktuell mit "forbidden" abgewiesen — wird separat behoben * **Credentials:** User ''gaston'' (Gruppe: admin) für API-Zugriffe * Seiten können zuverlässig via CSRF-Formular geschrieben werden (Fallback bis JSON-RPC läuft) ==== DSM-Konfigurationssicherung ==== * Aktiviert → Synology-Konto (Cloud), letzte Sicherung 12.07.2026 12:34 * Sichern NUR DSM-Konfiguration. **Nicht gesichert:** Docker-Volumes, Reverse-Proxy, Zertifikate, VM-Konfigurationen * Für vollständige Backups: Hyper Backup oder manuelles Backup von ''/volume1/docker/'' ==== Noch offen ==== * [[https://prometheus.lynx-consulting.ch|Prometheus]] (Reverse-Proxy und Dienst) * Hetzner DNS-Eintrag für ''llms.lynx-consulting.ch'' (Account-Aussperrung) * Homebridge wurde durch HA-eigene HomeKit-Bridge ersetzt (wird nicht wiederhergestellt) * JSON-RPC-Zugriff reparieren (Core-API blockt aktuell) ==== Gelernte Lektionen ==== - Vor jedem Reset komplette ''.dss''-Sicherung exportieren **und lokal speichern** - Docker-Konfigurationen separat sichern (nicht von DSM-Backup abgedeckt) - AdGuard vor Let's-Encrypt-Erneuerung deaktivieren - HA hinter Reverse-Proxy braucht immer ''trusted_proxies'' + WebSocket-Header - SANs im DSM nur mit Semikolons, ohne Leerzeichen - HP-Drucker hinter Reverse-Proxy: Host-Header auf Drucker-IP setzen (Cookie-Problem!) - DokuWiki nach Reset: ''markdownextra''-Plugin kann Config-Manager blockieren ===== Wichtige Links & Dienste (Reverse Proxy) ===== ^ Software ^ URL ^ Beschreibung ^ | **NAS2** | [[https://nas2.lynx-consulting.ch]] | Synology DSM (Hauptsystem) | | **AdGuard Home** | [[https://adguard.lynx-consulting.ch]] | DNS-Server & Netzwerkweiter Werbeblocker | | **Home Assistant** | [[https://ha.lynx-consulting.ch]] | Smart Home Zentrale | | **Gitea** | [[https://git.lynx-consulting.ch]] | Lokaler Git-Server für Code-Repositories | | **DokuWiki** | [[https://wiki.lynx-consulting.ch]] | Diese Wissensdatenbank | | **Plex** | [[https://plex.lynx-consulting.ch]] | Media Server | | **HP Drucker** | [[https://drucker.lynx-consulting.ch]] | Weboberfläche des Druckers | | **Homebridge** | [[https://home.lynx-consulting.ch]] | Apple HomeKit Bridge | | **Grafana** | [[https://grafana.lynx-consulting.ch]] | Monitoring & Dashboards | | **Prometheus** | [[https://prometheus.lynx-consulting.ch]] | Time-Series Datenbank für Metriken | ===== Monitoring (Grafana & Prometheus) ===== * **Hintergrund:** Grafana und Prometheus wurden als Docker-Container eingerichtet, um die Infrastruktur und Smart Home Temperaturen zu überwachen. * **Installation:** Die Verwendung von "Named Volumes" in Docker führt auf der Synology dazu, dass Daten versteckt abgelegt werden. Besser ist die Nutzung von "Bind Mounts" (z.B. ''./grafana:/var/lib/grafana''), damit die Konfigurationen sichtbar im Verzeichnis ''/volume1/docker/monitoring'' liegen. Die Berechtigungen der Ordner müssen an die Container-User (UID 472 für Grafana, UID 65534 für Prometheus) angepasst werden. * **Grafana & Prometheus verbinden:** Grafana und Prometheus müssen "verheiratet" werden. Da Grafana die Weboberfläche manchmal restriktiv behandelt (besonders beim ersten Login via Reverse Proxy), kann die Datenquelle direkt über die "Provisioning"-Funktion von Grafana hart im Hintergrund verdrahtet werden. Die URL lautet dann einfach ''http://prometheus:9090'', da beide im selben Docker-Netzwerk laufen. * **Home Assistant Sensoren auslesen:** Anstatt jeden Temperatursensor der Wohnung einzeln anzuzapfen, holt Prometheus die Daten elegant gebündelt bei Home Assistant ab. * **In Prometheus:** Ein neuer Scrape-Job mit einem "Long-Lived Access Token" von Home Assistant muss in die ''prometheus.yml'' eingetragen werden. * **In Home Assistant:** In der ''configuration.yaml'' muss lediglich das Wort ''prometheus:'' eingetragen und das System neu gestartet werden. * **Grafana Dashboards:** Mit der Dashboard-ID ''1860'' lassen sich sofort umfassende Metriken der Hardware (via Node-Exporter) importieren. Home Assistant Metriken (z.B. ''homeassistant_sensor_temperature_celsius'') können in eigenen Panels per PromQL visualisiert und gezielt über Label-Filter (z.B. ''friendly_name != FritzBox'') gefiltert werden. ===== Home Assistant Reverse Proxy (400 Bad Request) ===== * **Problem:** Beim Zugriff auf Home Assistant über den Synology Reverse Proxy (''ha.lynx-consulting.ch'') erscheint die Fehlermeldung "400: Bad Request". * **Ursache:** Home Assistant blockiert sicherheitshalber Zugriffe, die von einem unbekannten Reverse Proxy weitergeleitet werden. * **Lösung:** In der ''configuration.yaml'' des Home Assistant muss der Reverse Proxy des NAS2 explizit als "Trusted Proxy" eingetragen werden: http: use_x_forwarded_for: true trusted_proxies: - 192.168.128.222 * **Dateizugriff bei HA-Ausfall:** Wenn HA als VM läuft und der Reverse Proxy streikt, erreicht man die ''configuration.yaml'' entweder, indem man direkt über die lokale IP-Adresse (''http://192.168.128.22:8123'') auf die Weboberfläche zugreift und das Add-on "File editor" bzw. "Studio Code Server" nutzt, oder über die voll funktionsfähige iPhone-App. ===== Synology Let's Encrypt Zertifikate (SAN) ===== * **Problem:** Beim Eintragen mehrerer alternativer Namen (SAN) im Synology DSM blockiert die GUI oft mit kryptischen Fehlermeldungen (z.B. im Feld der Mail-Adresse). * **Lösung:** Die Synology DSM-Oberfläche verlangt bei den Subject Alternative Names strikt Semikolons anstelle der branchenüblichen Kommas. Außerdem dürfen absolut keine Leerzeichen verwendet werden. * **Aktuelle SAN-Liste:** ''adguard.lynx-consulting.ch;git.lynx-consulting.ch;drucker.lynx-consulting.ch;wiki.lynx-consulting.ch;home.lynx-consulting.ch;ha.lynx-consulting.ch;plex.lynx-consulting.ch;grafana.lynx-consulting.ch;prometheus.lynx-consulting.ch'' {{:home_infrastruktur:cert_san.jpg?800|Zertifikat SANs - Subject Alternative Names}} ===== Gitea & Synology Git-Pakete ===== * **Hintergrund:** Gitea und AdGuard haben um Port 3000 konkurriert. Zudem hat das offizielle Synology Git Server Paket die SSH-Zugriffe (git-shell) für Administratoren blockiert. * **Lösung:** Deinstallation der Synology-Pakete Git Server und des inoffiziellen Gitea-Pakets aus dem Paketzentrum. Verschieben des Docker-Gitea-Containers auf Port 3010. Reverse Proxy git.lynx-consulting.ch zeigt nun auf localhost:3010. SSH ist wieder frei für normale administrative Befehle. ===== AdGuard Home ===== * **Problem:** Port 53 (DNS) und 3000 (Setup) wurden von Synology bzw. Gitea blockiert. Ein Macvlan-Setup würde zur Isolation vom Host-System führen (das NAS könnte seinen eigenen DNS nicht nutzen). * **Lösung:** AdGuard läuft nun im Docker Host-Netzwerk (--network host). * **Vorteil:** AdGuard sieht die echten Client-IP-Adressen der Geräte im Heimnetzwerk statt der Docker-Bridge-IP (172.17.0.1). Reverse Proxy adguard.lynx-consulting.ch verweist auf den Setup/Admin-Port. ===== HP Drucker - Scan to Network Folder (SMB) ===== * **Fehlerbilder:** pgNetworkFolderAccounts-403 und Ungültige Eingabe. * **Echte Ursache (Firmware-Bug):** HP-Drucker brechen den SMB-Verbindungstest intern ab, wenn man das Drucker-Webmenü über HTTPS aufgerufen hat. Das führt zu scheinbaren Berechtigungs- und Protokollfehlern. * **Lösung:** Drucker-Weboberfläche zwingend über unverschlüsseltes HTTP (http://192.168.128.254) aufrufen. Die Einrichtung klappt dann einwandfrei mit dem modernen Protokoll SMB 3.1.1. * **Wichtig:** Keine PIN eintragen und in Schritt 2 Stets die folgenden Anmeldedaten verwenden (Benutzer: nicolaie + NAS-Passwort) wählen. * **Sicherheit:** Alte Protokolle (NT1/SMB1, NTLMv1) müssen auf der Synology nicht aktiviert werden und sollten aus Sicherheitsgründen deaktiviert bleiben! ===== Home Assistant vs. Homebridge ===== * **Erkenntnis:** Home Assistant (ha.lynx-consulting.ch) verfügt über eine native HomeKit-Bridge, die identisch zu Homebridge (home.lynx-consulting.ch) arbeitet. * **Empfehlung:** Mittelfristig alle Homebridge-Geräte direkt in Home Assistant einbinden. Das spart einen Docker-Container und man profitiert von der überlegenen Automatisierungs-Logik des Home Assistant. ===== Plex Media Server ===== * **Hintergrund:** Plex läuft nicht im Docker, sondern als manuell installiertes Paket, um die Datenbank und Rechtestruktur nicht zu gefährden. * **Updates:** Da Synology im Paketzentrum oft sehr alte Plex-Versionen anbietet, muss das Update manuell erfolgen. Dazu im Plex-Webinterface die Update-Datei (.spk) herunterladen und im Synology Paketzentrum oben rechts auf Manuelle Installation klicken. Dies ist der sicherste Weg, um die Mediathek beim Update nicht zu beschädigen.