4.9 KiB
4.9 KiB
HOFMANNS.AI - SETUP INSTRUCTIONS FOR AI AGENTS
Ziel: Jetson Orin Nano als zentraler Hub mit SSO (Passkeys) + RustDesk
WICHTIG: Architektur
JETSON (192.168.1.50) = MASTER
├── Authentik (SSO mit Face ID / Fingerprint)
├── RustDesk Server (hbbs/hbbr)
├── Alle Services (HA, Whisper, Jellyfin, etc.)
├── Private Daten (Kunden, Source, Docs)
└── Cloudflare Tunnel → *.hofmanns.ai
INFOMANIAK (185.143.102.153) = DEV/PILOT
├── Git Repos
├── Dev Environments
├── AI Agents arbeiten hier
└── Kann jederzeit resettet werden
FILES IN THIS PACKAGE
jetson-setup/
│
├── FOR JETSON (192.168.1.50):
│ ├── setup.sh → Run first after JetPack flash
│ ├── docker-compose.yml → All services including Authentik
│ ├── homepage/ → Dashboard config
│ └── whisper-webui-jetson/ → GPU-accelerated Whisper
│
├── FOR INFOMANIAK (185.143.102.153):
│ └── infomaniak/
│ ├── setup-infomaniak.sh → Optional dev setup
│ └── docker-compose.yml → Dev services only
│
└── DOCUMENTATION:
├── CHAT-SUMMARY-COMPLETE.md → Full context
├── README.md → User guide
└── AI-SETUP-INSTRUCTIONS.md → This file
JETSON SETUP STEPS
1. Flash JetPack (on Ubuntu PC with SDK Manager)
# Jetson in Recovery Mode
# SDK Manager → Jetson Orin Nano 8GB → JetPack 6.x → NVMe
2. First Boot Config
# After first boot, copy files to Jetson
scp -r jetson-setup/ d@192.168.1.50:~/
# SSH to Jetson
ssh d@192.168.1.50
# Run setup
cd ~/jetson-setup
chmod +x setup.sh
sudo ./setup.sh
sudo reboot
3. Start Services
cd ~/docker
docker-compose up -d
4. Configure Authentik
- Open:
http://192.168.1.50:9000/if/flow/initial-setup/ - Create admin account
- Enable WebAuthn/Passkeys:
- Admin → Flows → default-authentication-flow
- Add Stage: "authenticator_validate" with WebAuthn
- Create Application for each service
- Set up Forward Auth proxy
5. Configure Cloudflare Tunnel
# Install cloudflared
curl -L https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-arm64 -o cloudflared
chmod +x cloudflared
sudo mv cloudflared /usr/local/bin/
# Login and create tunnel
cloudflared tunnel login
cloudflared tunnel create jetson-home
# Configure tunnel
cat > ~/.cloudflared/config.yml << EOF
tunnel: <TUNNEL_ID>
credentials-file: /home/d/.cloudflared/<TUNNEL_ID>.json
ingress:
- hostname: auth.hofmanns.ai
service: http://localhost:9000
- hostname: portal.hofmanns.ai
service: http://localhost:3001
- hostname: home.hofmanns.ai
service: http://localhost:8123
- hostname: whisper.hofmanns.ai
service: http://localhost:7860
- hostname: files.hofmanns.ai
service: http://localhost:8081
- hostname: "*.hofmanns.ai"
service: http://localhost:80
- service: http_status:404
EOF
# Run as service
sudo cloudflared service install
sudo systemctl enable cloudflared
sudo systemctl start cloudflared
6. DNS Records (Cloudflare)
| Type | Name | Content |
|---|---|---|
| CNAME | auth | <TUNNEL_ID>.cfargotunnel.com |
| CNAME | portal | <TUNNEL_ID>.cfargotunnel.com |
| CNAME | home | <TUNNEL_ID>.cfargotunnel.com |
| CNAME | whisper | <TUNNEL_ID>.cfargotunnel.com |
| CNAME | files | <TUNNEL_ID>.cfargotunnel.com |
7. Register Passkeys
- Open auth.hofmanns.ai on each device
- Login with initial password
- Settings → MFA → Add WebAuthn Device
- Use Face ID / Fingerprint to register
- Done - no more passwords needed
RUSTDESK SETUP
Server runs on Jetson:
# After docker-compose up, get the key:
cat ~/docker/rustdesk/id_ed25519.pub
Client Config (all devices):
| Setting | Value |
|---|---|
| ID Server | jetson.hofmanns.ai (or via tunnel) |
| Relay Server | jetson.hofmanns.ai |
| Key | (from id_ed25519.pub) |
PORTS OVERVIEW
Jetson (192.168.1.50):
| Port | Service |
|---|---|
| 80 | Nginx Proxy Manager |
| 443 | Nginx Proxy Manager (SSL) |
| 81 | NPM Admin UI |
| 3001 | Homepage Dashboard |
| 8123 | Home Assistant |
| 9000 | Authentik |
| 9090 | Cockpit |
| 7860 | Whisper |
| 8096 | Jellyfin |
| 8081 | FileBrowser |
| 8384 | Syncthing |
| 11434 | Ollama |
| 21115-21119 | RustDesk |
USER REQUIREMENTS
- NO passwords - only Face ID / Fingerprint
- NO email codes - Passkeys only
- NO 2FA apps - device IS the auth
- ONE login - session stays active
- ALL devices - Quest 3, Android, Laptop, TV
- Browser-based - no apps needed (except RustDesk client)
RESULT
After setup, user experience:
- Open browser → portal.hofmanns.ai
- Touch finger OR show face
- Done. Everything accessible. All day.
Package created: December 2025 For: Dee / hofmanns.ai / DOUANA® By: Claude (Anthropic)