12 KiB
12 KiB
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:
- Einmalig einrichten: Passkey auf jedem Gerät registrieren
- Danach: Finger auf Sensor oder Gesicht zeigen → eingeloggt
- 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):
rustdesk-hbbs: # ID/Rendezvous Server
ports: 21115, 21116, 21118
rustdesk-hbbr: # Relay Server
ports: 21117, 21119
Client Setup:
- RustDesk App installieren (alle Plattformen)
- Settings → Network → ID/Relay Server
- ID Server:
185.143.102.153(oder rustdesk.hofmanns.ai) - Relay Server:
185.143.102.153 - 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)
- JetPack auf NVMe flashen (SDK Manager)
setup.shausführen- Docker Services starten
- WiFi AP "Home.8" aktivieren
- AdGuard DNS konfigurieren
Phase 2: Infomaniak Server
- SSH verbinden:
ssh hofmanns.ai - Authentik installieren (Docker)
- RustDesk Server installieren
- Cloudflare Tunnel oder Nginx konfigurieren
- DNS Records für alle Subdomains
Phase 3: SSO Integration
- Authentik Passkeys einrichten
- Alle Services als Applications registrieren
- Proxy-Provider für jeden Service
- Passkey auf allen Geräten registrieren
Phase 4: Dashboard
- Homepage auf Jetson konfigurieren
- Alle Services einbinden
- Authentik Forward Auth
- 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:
- Quest 3 aufsetzen
- Browser öffnen → portal.hofmanns.ai
- Handy kurz ans Gesicht halten (Face ID)
- Fertig. Alles offen. Den ganzen Tag.
Unterwegs:
- Laptop/Handy öffnen
- portal.hofmanns.ai
- Finger auf Sensor
- Fertig. Voller Zugriff auf alles.
Keine Passwörter. Keine Codes. Keine Apps. Keine Scheisse.
📞 Nächste Schritte
- Jetson JetPack flashen
setup.shausführen auf Jetson- Authentik auf Infomaniak installieren
- RustDesk Server auf Infomaniak
- DNS Records für Subdomains
- Cloudflare Tunnel einrichten
- Passkeys registrieren
- Testen mit Quest 3
Erstellt: Dezember 2025
Chat mit: Claude (Anthropic)
Für: Dee / hofmanns.ai / DOUANA®