Das Host-Bootstrap bereitet genau den xtts-Stack vor (legt xtts/.env an, startet xtts-Compose) und gilt fuer alle Dienste (f5tts/whisper/voxtral/llm). Nach dem Klonen sucht man das in xtts/ — dort war bisher kein README. - git mv ai-box/bootstrap.sh xtts/bootstrap.sh; ai-box/README.md → xtts/README.md - interne Verweise cd ARIA-AGENT/ai-box → cd ARIA-AGENT/xtts (Pfad-Logik SCRIPT_DIR/../xtts funktioniert unveraendert, da xtts jetzt das Script-Dir ist) - README neu betitelt: "xtts — AI-Box (Compute-Node) Setup & Bootstrap" + Kontext (Profile/GPU im Haupt-README) - leeres ai-box/ entfernt Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
69 lines
2.7 KiB
Markdown
69 lines
2.7 KiB
Markdown
# xtts — AI-Box (Compute-Node) Setup & Bootstrap
|
|
|
|
Der `xtts`-Stack sind ARIAs GPU-Dienste (STT: Voxtral/Whisper · TTS: F5-TTS ·
|
|
lokales LLM). Er läuft auf einer oder mehreren **AI-Boxen** — jede per `.env`
|
|
konfiguriert (`COMPOSE_PROFILES`, GPU-Zuordnung). Details zu Profilen/GPU-Wahl
|
|
stehen im Haupt-README (Abschnitt „Compute-Nodes").
|
|
|
|
`bootstrap.sh` macht aus einem frisch installierten **Debian Trixie** (headless,
|
|
nur SSH) einen startklaren GPU-Host für diesen Stack.
|
|
|
|
## Was das Script tut
|
|
|
|
1. Basis-Pakete (curl, gnupg, git …)
|
|
2. `contrib non-free non-free-firmware` aktivieren (Trixie-**deb822**-Format berücksichtigt)
|
|
3. **NVIDIA-Treiber** installieren (`nvidia-driver` + firmware)
|
|
4. **Docker** Engine + Compose-Plugin
|
|
5. **NVIDIA Container Toolkit** + Docker-Runtime auf NVIDIA konfigurieren
|
|
6. `xtts/.env` aus `.env.example` anlegen (RVS_TOKEN optional gleich setzen)
|
|
7. **GPU-im-Container-Test** (`docker run --gpus all … nvidia-smi`)
|
|
8. optional (`--up`): den `xtts`-Stack hochziehen
|
|
|
|
Alles **idempotent** — mehrfach ausführbar.
|
|
|
|
## Ablauf
|
|
|
|
```bash
|
|
git clone <repo> ARIA-AGENT
|
|
cd ARIA-AGENT/xtts
|
|
|
|
sudo ./bootstrap.sh
|
|
# → Wenn der Treiber frisch installiert wurde: einmal neu starten, dann nochmal:
|
|
sudo reboot
|
|
# … nach dem Boot:
|
|
cd ARIA-AGENT/xtts
|
|
sudo ./bootstrap.sh --up --token <DEIN_RVS_TOKEN>
|
|
```
|
|
|
|
Der Treiber-Reboot ist normal (Kernel-Modul wird erst beim Boot geladen). Beim
|
|
zweiten Lauf überspringt das Script alles Erledigte und macht nur noch den
|
|
GPU-Test + Stack-Start.
|
|
|
|
## Optionen
|
|
|
|
| Option | Wirkung |
|
|
|---|---|
|
|
| `--up` | am Ende `docker compose up -d --build` (Default-Profil) |
|
|
| `--token <TOK>` | `RVS_TOKEN` in `xtts/.env` eintragen (auch via `RVS_TOKEN=…` env) |
|
|
| `--rvs-host <H>` | `RVS_HOST` setzen |
|
|
|
|
## Wichtig
|
|
|
|
- **Stimm-Daten** (nicht in git): falls von der alten Box noch vorhanden,
|
|
`xtts/voice-id/` (Speaker-Fingerprint) + `xtts/voices/` (F5-Referenz) herkopieren.
|
|
Sonst egal — in der App neu anlegen: Stimme neu enrollen (ohne Fingerprint läuft
|
|
die Speaker-ID fail-open, alles geht durch) + F5-Voice-Referenz neu hochladen.
|
|
- **Voxtral bleibt aus** auf der 3060 (braucht ≥16 GB VRAM). Das Default-Profil
|
|
fährt Whisper (mit dem M0.1-Fix) + F5-TTS + lokales LLM. Voxtral erst mit der
|
|
24-GB-Karte: `docker compose stop whisper-bridge && docker compose --profile voxtral up -d --build`.
|
|
- **Erster Start lädt Modelle** (mehrere GB via HuggingFace nach `xtts/hf-cache`
|
|
+ `xtts/models`) — genug Platz (1 TB NVMe ✓) und etwas Geduld.
|
|
|
|
## Verifizieren
|
|
|
|
```bash
|
|
nvidia-smi # Host sieht die GPU
|
|
docker run --rm --gpus all nvidia/cuda:12.4.0-base-ubuntu22.04 nvidia-smi # Container auch
|
|
docker logs -f aria-whisper-bridge # "RVS verbunden" + service_status ready
|
|
```
|