# Hofmanns.AI - Complete Infrastructure Setup **Chat Summary - Dezember 2025** **Erstellt fรผr:** Dee / DOUANAยฎ / ZFEB GmbH --- ## ๐ŸŽฏ Das Problem - 48 Jahre alt, Enterprise-Kunden (Banken, Konzerne) - Jeden Tag 1-2 Stunden verloren mit: Logins, Passwรถrter, Email-Codes, Verify-Me, 2FA-Apps - Jedes Device, jede App, jeder Service will eigenen Login - Kein Bock mehr auf Console-Gefrickel - Meta Quest 3 als primรคres Arbeitsgerรคt โ†’ braucht Browser-UI **Das Ziel:** Ein Finger/Gesicht โ†’ alles offen. Fertig. --- ## ๐Ÿ—๏ธ Die Architektur ``` โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ AUTHENTIK SSO โ”‚ โ”‚ auth.hofmanns.ai (Passkeys/WebAuthn) โ”‚ โ”‚ Face ID / Fingerprint = einmal einloggen = fertig โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚ โ–ผ โ–ผ โ–ผ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ INFOMANIAK โ”‚ โ”‚ JETSON โ”‚ โ”‚ DEVICES โ”‚ โ”‚ SERVER โ”‚ โ”‚ ORIN NANO โ”‚ โ”‚ โ”‚ โ”‚ (รถffentlich) โ”‚โ—„โ”€โ”€โ–บโ”‚ (privat) โ”‚โ—„โ”€โ”€โ–บโ”‚ Quest 3 โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ Android โ”‚ โ”‚ - Git Repos โ”‚ โ”‚ - Kundendaten โ”‚ โ”‚ Laptop โ”‚ โ”‚ - Dev/Pilot โ”‚ โ”‚ - Source Code โ”‚ โ”‚ TV โ”‚ โ”‚ - Auth Server โ”‚ โ”‚ - Dokumente โ”‚ โ”‚ โ”‚ โ”‚ - RustDesk ID โ”‚ โ”‚ - Home Hub โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ ``` --- ## ๐Ÿ“ Server Overview ### Infomaniak Server (รถffentlich) | Info | Wert | |------|------| | IP | 185.143.102.153 | | OS | Debian 12 (bookworm) | | User | debian | | SSH | Port 22 mit RSA Key | | Projekt | /home/debian/hofmanns.ai | | Command | `hof` โ†’ navigiert zum Projekt | **Domains (alle auf diesem Server):** - hofmanns.ai - hofmanns.tech - hofmanns.app - hofmanns.shop - hofmanns.ltd - hofmann-s.com **Was lรคuft dort:** - Git Repository (git.hofmanns.ai) - Dev/Pilot Umgebungen - AI Agents arbeiten hier (Claude, Manus, Perplexity) - Docker installiert **Was NOCH drauf kommt:** - Authentik (SSO mit Passkeys) - RustDesk ID Server (hbbs/hbbr) - Cloudflare Tunnel oder direkt ### Jetson Orin Nano (privat, zu Hause) | Info | Wert | |------|------| | IP | 192.168.1.50 | | OS | JetPack 6.x (Ubuntu-based) | | User | d | | Storage | 1TB NVMe | | GPU | NVIDIA (fรผr AI) | | Standort | Am TV, zentral in Wohnung | **Was lรคuft dort:** - Kundendaten - Source Code (produktiv) - Wichtige Dokumente - Home Assistant - AdGuard DNS - Whisper (Sprache โ†’ Text) - Jellyfin (Media) - Private Cloud (FileBrowser) - Syncthing - Ollama (LLMs) --- ## ๐Ÿ” SSO mit Passkeys (WebAuthn) **Keine Passwรถrter. Keine Email-Codes. Kein 2FA-App Stress.** ### So funktioniert es: 1. **Einmalig einrichten:** Passkey auf jedem Gerรคt registrieren 2. **Danach:** Finger auf Sensor oder Gesicht zeigen โ†’ eingeloggt 3. **Session:** Bleibt aktiv, kein stรคndiges neu einloggen ### Unterstรผtzte Gerรคte: | Gerรคt | Auth-Methode | |-------|--------------| | Android Handy | Fingerprint / Face | | Meta Quest 3 | Handy als Authenticator (zeigt in VR) | | Laptop | Fingerprint / Windows Hello | | iPad/iPhone | Face ID / Touch ID | ### Authentik Setup: ``` auth.hofmanns.ai โ”‚ โ”œโ”€โ”€ Passkey Registration โ”œโ”€โ”€ Session Management โ”œโ”€โ”€ Application Proxy โ”‚ โ””โ”€โ”€ Geschรผtzte Apps: โ”œโ”€โ”€ portal.hofmanns.ai (Dashboard) โ”œโ”€โ”€ git.hofmanns.ai โ”œโ”€โ”€ home.hofmanns.ai (Home Assistant) โ”œโ”€โ”€ files.hofmanns.ai (FileBrowser) โ”œโ”€โ”€ whisper.hofmanns.ai โ””โ”€โ”€ ... alle anderen Services ``` --- ## ๐Ÿ–ฅ๏ธ Das Dashboard **Ein Tab. Alles drin. Vollbild. Kein OS-Scheiss.** ``` โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ portal.hofmanns.ai โ”‚ โ”‚ (nach Passkey-Auth = sofort da) โ”‚ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค โ”‚ โ”‚ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚ Home โ”‚ โ”‚ Whisper โ”‚ โ”‚ Jellyfin โ”‚ โ”‚ โ”‚ โ”‚ Assistant โ”‚ โ”‚ Speechโ†’Textโ”‚ โ”‚ Media โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ (GPU) โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”‚ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚ Portainer โ”‚ โ”‚ Files โ”‚ โ”‚ Syncthing โ”‚ โ”‚ โ”‚ โ”‚ Docker โ”‚ โ”‚ Cloud โ”‚ โ”‚ Sync โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”‚ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚ Git โ”‚ โ”‚ RustDesk โ”‚ โ”‚ Ollama โ”‚ โ”‚ โ”‚ โ”‚ Repos โ”‚ โ”‚ Remote โ”‚ โ”‚ LLM โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ Desktop โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ ``` --- ## ๐Ÿ”Œ RustDesk (Self-Hosted TeamViewer) **Kein WireGuard Console-Gefrickel. GUI everywhere.** ### Server (auf Infomaniak): ```yaml rustdesk-hbbs: # ID/Rendezvous Server ports: 21115, 21116, 21118 rustdesk-hbbr: # Relay Server ports: 21117, 21119 ``` ### Client Setup: 1. RustDesk App installieren (alle Plattformen) 2. Settings โ†’ Network โ†’ ID/Relay Server 3. ID Server: `185.143.102.153` (oder rustdesk.hofmanns.ai) 4. Relay Server: `185.143.102.153` 5. Key: (wird beim ersten Start generiert) ### Zugriff: - Von Quest 3 Browser โ†’ RustDesk Web Client - Von Handy โ†’ RustDesk App - Von Laptop โ†’ RustDesk App - Auf alle Rechner: Jetson, Gaming PC, Server --- ## ๐Ÿ“ฑ Jetson Orin Nano - Services | Port | Domain | Service | |------|--------|---------| | 3001 | portal.hofmanns.ai | Homepage Dashboard | | 81 | - | Nginx Proxy Manager | | 9443 | docker.hofmanns.ai | Portainer | | 9090 | system.hofmanns.ai | Cockpit | | 8123 | home.hofmanns.ai | Home Assistant | | 3000 | dns.hofmanns.ai | AdGuard Home | | 7860 | whisper.hofmanns.ai | Whisper WebUI | | 8096 | media.hofmanns.ai | Jellyfin | | 8081 | files.hofmanns.ai | FileBrowser | | 8384 | sync.hofmanns.ai | Syncthing | | 11434 | llm.hofmanns.ai | Ollama | --- ## ๐ŸŒ Netzwerk Setup ### Zu Hause: ``` 5G Antenne (500 CHF) โ”‚ โ–ผ Netgear Nighthawk M5 (DHCP 192.168.1.x, DNS=192.168.1.50) โ”‚ โ–ผ Netgear 8-Port Switch โ”‚ โ”œโ”€โ”€ Jetson Orin Nano (192.168.1.50) โ”‚ โ””โ”€โ”€ USB WiFi โ†’ AP "Home.8" โ”‚ โ””โ”€โ”€ Gaming PC (RTX 4080) ``` ### Tunnel nach draussen: ``` Jetson โ”€โ”€โ–บ Cloudflare Tunnel โ”€โ”€โ–บ *.hofmanns.ai โ”‚ โ””โ”€โ”€ RustDesk โ”€โ”€โ–บ Infomaniak Server โ”€โ”€โ–บ Clients รผberall ``` --- ## ๐Ÿ“‹ Hardware รœbersicht | Gerรคt | Zweck | Status | |-------|-------|--------| | Jetson Orin Nano 8GB | Home Hub, AI, Private Cloud | Setup pending | | Gaming PC (Ryzen 9, RTX 4080, 64GB) | Workstation, Gaming | Aktiv | | Netgear Nighthawk M5 | 5G Router, 800 Mbit | Aktiv | | TP-Link USB WiFi Antenne | AP fรผr Jetson | Vorhanden | | Meta Quest 3 | VR, primรคres Arbeitsgerรคt | Aktiv | | 5x Raspberry Pi 5 | รœbrig, verkaufen oder Projekte | Unused | | Infomaniak Root Server | Public Services, Auth, Git | Aktiv | --- ## ๐Ÿš€ Installation - Reihenfolge ### Phase 1: Jetson Setup (zu Hause) 1. JetPack auf NVMe flashen (SDK Manager) 2. `setup.sh` ausfรผhren 3. Docker Services starten 4. WiFi AP "Home.8" aktivieren 5. AdGuard DNS konfigurieren ### Phase 2: Infomaniak Server 1. SSH verbinden: `ssh hofmanns.ai` 2. Authentik installieren (Docker) 3. RustDesk Server installieren 4. Cloudflare Tunnel oder Nginx konfigurieren 5. DNS Records fรผr alle Subdomains ### Phase 3: SSO Integration 1. Authentik Passkeys einrichten 2. Alle Services als Applications registrieren 3. Proxy-Provider fรผr jeden Service 4. Passkey auf allen Gerรคten registrieren ### Phase 4: Dashboard 1. Homepage auf Jetson konfigurieren 2. Alle Services einbinden 3. Authentik Forward Auth 4. Testen von allen Devices --- ## ๐Ÿ“ Dateien in diesem Setup ``` jetson-setup/ โ”œโ”€โ”€ setup.sh # Haupt-Setup fรผr Jetson โ”œโ”€โ”€ docker-compose.yml # Alle lokalen Services โ”œโ”€โ”€ CHAT-SUMMARY.md # Diese Datei โ”œโ”€โ”€ adguard-dns-rewrites.txt # DNS Eintrรคge โ”œโ”€โ”€ homepage/ โ”‚ โ”œโ”€โ”€ services.yaml โ”‚ โ”œโ”€โ”€ settings.yaml โ”‚ โ”œโ”€โ”€ widgets.yaml โ”‚ โ”œโ”€โ”€ docker.yaml โ”‚ โ””โ”€โ”€ bookmarks.yaml โ””โ”€โ”€ whisper-webui-jetson/ โ”œโ”€โ”€ Dockerfile โ””โ”€โ”€ app.py ``` --- ## ๐Ÿ”‘ Wichtige Credentials (ร„NDERN!) | Was | Default | ร„ndern auf | |-----|---------|------------| | WiFi "Home.8" | 123 | Sicheres Passwort | | Nginx Proxy Manager | admin@example.com / changeme | Eigene | | FileBrowser | admin / admin | Eigene | | Portainer | (bei Setup) | Eigene | | Authentik | (bei Setup) | Eigene | --- ## ๐ŸŽฏ Das Endergebnis **Morgens aufstehen:** 1. Quest 3 aufsetzen 2. Browser รถffnen โ†’ portal.hofmanns.ai 3. Handy kurz ans Gesicht halten (Face ID) 4. **Fertig. Alles offen. Den ganzen Tag.** **Unterwegs:** 1. Laptop/Handy รถffnen 2. portal.hofmanns.ai 3. Finger auf Sensor 4. **Fertig. Voller Zugriff auf alles.** **Keine Passwรถrter. Keine Codes. Keine Apps. Keine Scheisse.** --- ## ๐Ÿ“ž Nรคchste Schritte 1. [ ] Jetson JetPack flashen 2. [ ] `setup.sh` ausfรผhren auf Jetson 3. [ ] Authentik auf Infomaniak installieren 4. [ ] RustDesk Server auf Infomaniak 5. [ ] DNS Records fรผr Subdomains 6. [ ] Cloudflare Tunnel einrichten 7. [ ] Passkeys registrieren 8. [ ] Testen mit Quest 3 --- **Erstellt:** Dezember 2025 **Chat mit:** Claude (Anthropic) **Fรผr:** Dee / hofmanns.ai / DOUANAยฎ