# 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 docker-compose up # 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 ```