Inhaltsverzeichnis
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 Gruppeadministratorssein), 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.yamlersetzen - Container ist Alpine-basiert → nur
sh, keinbash - ⚠️ 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.chfü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
- 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
- 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/monitoringliegen. 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.ymleingetragen werden. - In Home Assistant: In der
configuration.yamlmuss lediglich das Wortprometheus:eingetragen und das System neu gestartet werden.
- Grafana Dashboards: Mit der Dashboard-ID
1860lassen 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.yamldes 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.yamlentweder, 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
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.

