gandalf.hofmanns/README.md

270 lines
5.1 KiB
Markdown

# Jetson Orin Nano 8GB - Complete Home Hub
## Übersicht
Alles lokal, keine Cloud, volle Kontrolle.
| Domain | Service | Beschreibung |
|--------|---------|--------------|
| `home.lan` | Home Assistant | Smart Home Zentrale |
| `adguard.lan` | AdGuard Home | DNS + Werbeblocker |
| `whisper.lan` | Whisper WebUI | Sprache → Text (GPU) |
| `jellyfin.lan` | Jellyfin | Media Server |
| `portainer.lan` | Portainer | Docker Management |
| `vpn.lan` | WireGuard Easy | VPN für unterwegs |
| `files.lan` | FileBrowser | Private Cloud |
| `sync.lan` | Syncthing | Dateisync |
| `ollama.lan` | Ollama | Lokale LLMs |
## Hardware Setup
```
5G Antenne ──► Nighthawk M5 (DHCP, DNS=192.168.1.50)
Netgear Switch
└── Jetson Orin Nano @ TV
├── eth0: 192.168.1.50
├── USB: TP-Link WiFi → AP "Home.8"
└── HDMI: 4K TV
```
## Installation
### 1. JetPack flashen (am PC mit Ubuntu)
```bash
# SDK Manager: https://developer.nvidia.com/sdk-manager
# Jetson in Recovery Mode (Power aus, Recovery halten, Power an)
sdkmanager
# → Jetson Orin Nano 8GB
# → JetPack 6.x
# → NVMe als Ziel
```
### 2. Nach erstem Boot
```bash
# Dateien auf Jetson kopieren
scp -r jetson-setup/ d@192.168.1.50:~/
# SSH zum Jetson
ssh d@192.168.1.50
# Setup ausführen
cd ~/jetson-setup
chmod +x setup.sh
sudo ./setup.sh
sudo reboot
```
### 3. Nach Reboot
```bash
cd ~/docker
docker-compose up -d
# Logs
docker-compose logs -f
```
### 4. AdGuard DNS Rewrites einrichten
1. Öffne `http://192.168.1.50:3000`
2. Setup durchführen
3. Settings → DNS rewrites
4. Alle Einträge aus `adguard-dns-rewrites.txt` hinzufügen
### 5. Nighthawk DNS ändern
Im Nighthawk Router: DNS auf `192.168.1.50` setzen
Jetzt funktionieren alle `.lan` Domains!
## Zugriff
### Im LAN
Einfach im Browser:
- `http://home.lan`
- `http://adguard.lan`
- `http://whisper.lan`
- `http://portainer.lan`
- etc.
### Unterwegs (VPN)
1. Öffne `http://vpn.lan` (Passwort: 123 - ÄNDERN!)
2. Neuen Client erstellen
3. QR-Code mit WireGuard App scannen
4. Verbinden - fertig, alle .lan Domains erreichbar
**Wichtig:** `WG_HOST` in docker-compose.yml auf deine externe IP/DynDNS setzen!
## Services im Detail
### Home Assistant (`home.lan`)
Voice Assistant einrichten:
1. Settings → Devices & Services → Add Integration
2. "Wyoming Protocol" hinzufügen
3. Whisper: `localhost:10300`
4. Piper TTS: `localhost:10200`
### Whisper WebUI (`whisper.lan`)
- Sprache aufnehmen im Browser
- Dateien hochladen
- Läuft 100% lokal auf GPU
- Deutsch, Englisch, etc.
### FileBrowser (`files.lan`)
Private Cloud für alle Dateien:
- Default Login: `admin` / `admin`
- Zugriff auf `/home/d/`
### Syncthing (`sync.lan`)
Dateien zwischen Geräten synchronisieren:
- Handy ↔ Jetson ↔ PC
- Verschlüsselt, kein Server in der Mitte
### Portainer (`portainer.lan`)
Docker Management mit GUI:
- Container starten/stoppen
- Logs anschauen
- Compose verwalten
## Dateistruktur
```
~/docker/
├── docker-compose.yml
├── caddy/
│ └── Caddyfile
├── homeassistant/config/
├── adguard/conf/
├── whisper/models/
├── jellyfin/config/
├── portainer/
├── wireguard/
├── filebrowser/
├── syncthing/
└── ollama/
```
## Passwörter ändern!
```bash
# WiFi AP
sudo nano /etc/hostapd/hostapd.conf
# wpa_passphrase=NEUES_PASSWORT
sudo systemctl restart hostapd
# WireGuard
nano ~/docker/docker-compose.yml
# PASSWORD=NEUES_PASSWORT
docker-compose up -d wg-easy
```
## Port Forwarding (für VPN von aussen)
Im Nighthawk Router:
- UDP 51820 → 192.168.1.50:51820
## Whisper Modelle
| Modell | VRAM | Speed | Qualität |
|--------|------|-------|----------|
| tiny | ~1GB | ⚡⚡⚡⚡ | ★★☆☆☆ |
| base | ~1GB | ⚡⚡⚡ | ★★★☆☆ |
| small | ~2GB | ⚡⚡ | ★★★★☆ |
| medium | ~5GB | ⚡ | ★★★★★ |
Ändern in `docker-compose.yml`:
```yaml
environment:
- WHISPER_MODEL=small
```
## Troubleshooting
### Domains funktionieren nicht
```bash
# DNS Test
nslookup home.lan 192.168.1.50
# AdGuard läuft?
docker logs adguard
```
### WiFi AP startet nicht
```bash
sudo systemctl status hostapd
sudo journalctl -u hostapd -f
iw dev
```
### GPU nicht erkannt
```bash
# Test
docker run --rm --runtime=nvidia nvidia/cuda:11.4-base nvidia-smi
# Jetson Stats
sudo pip3 install jetson-stats
jtop
```
### Container startet nicht
```bash
docker-compose logs <container-name>
docker-compose up <container-name> # ohne -d für live output
```
## Updates
```bash
cd ~/docker
docker-compose pull
docker-compose up -d
```
## Backup
```bash
# Alles
tar -czvf jetson-backup.tar.gz ~/docker/
# Nur Configs
tar -czvf ha-backup.tar.gz ~/docker/homeassistant/config
tar -czvf adguard-backup.tar.gz ~/docker/adguard/conf
```
## Nützliche Befehle
```bash
# Alle Container Status
docker ps -a
# Ressourcen
docker stats
# Jetson GPU/CPU Monitor
jtop
# Logs live
docker-compose logs -f
# Neustart einzelner Service
docker-compose restart homeassistant
# Shell in Container
docker exec -it homeassistant bash
```