gandalf.hofmanns/CHAT-SUMMARY-COMPLETE.md

371 lines
12 KiB
Markdown

# 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®