Guter Mittelweg für normale Rechner ohne dedizierte Grafikkarte. Läuft komplett auf der CPU in Echtzeit oder schneller, ganz ohne GPU. Der Container läuft nativ unter Windows, Mac (Intel & Apple Silicon) und Linux — einfach per HTTP ansprechbar, Text rein, WAV-Datei raus.
Docker Desktop für Windows/Mac oder Docker Engine für Linux installieren, falls noch nicht vorhanden.
Docker herunterladen ↗Einmaliger docker run-Befehl. Beim allerersten Start lädt der Container das Modell automatisch von Hugging Face nach (einige hundert MB) und legt es im Volume ab — danach starten spätere Läufe sofort.
docker run -p 8000:8000 \
-v kokoro_cache:/data/hf-cache \
thorstenvoice/kokoro-tts Sobald im Log „Modell geladen und einsatzbereit.“ erscheint, ist der Server bereit.
Für den Dauerbetrieb eine docker-compose.yml anlegen:
services:
thorsten-kokoro-tts:
image: thorstenvoice/kokoro-tts:latest
container_name: thorsten-kokoro-tts
ports:
- "8000:8000"
environment:
- KOKORO_EPOCH=5
volumes:
- kokoro_cache:/data/hf-cache
restart: unless-stopped
volumes:
kokoro_cache: und danach starten mit:
docker compose up -d Sobald der Container läuft, lässt er sich einfach per HTTP ansprechen — kein SDK, keine Installation auf deiner Seite nötig.
Text per HTTP POST schicken, WAV-Datei zurückbekommen.
curl -X POST http://localhost:8000/tts \
-H "Content-Type: application/json" \
-d '{"text": "Hallo, ich bin Thorsten. Schön, dass du da bist."}' \
--output thorsten.wav Der Wert für speed liegt zwischen 0.0 (exklusiv) und 2.0, Standard ist 1.0.
curl -X POST http://localhost:8000/tts \
-H "Content-Type: application/json" \
-d '{"text": "Das hier wird etwas langsamer gesprochen.", "speed": 0.85}' \
--output output.wav Zeigt, ob der Server läuft und welches Trainings-Checkpoint gerade aktiv ist.
curl http://localhost:8000/health
# {"status":"ok","repo_id":"Thorsten-Voice/Kokoro","epoch":"5","device":"cpu"} Über die Umgebungsvariable KOKORO_EPOCH lässt sich zwischen den Epochen 1–10 wechseln (Standard: 5).
docker run -p 8000:8000 \
-e KOKORO_EPOCH=10 \
-v kokoro_cache:/data/hf-cache \
thorstenvoice/kokoro-tts Einfach einen anderen Host-Port mappen, z. B. -p 8080:8000 statt -p 8000:8000 (in der docker-compose.yml entsprechend in den ports-Zeilen anpassen). Der Container selbst lauscht weiterhin intern auf 8000.
Das ist normal: Der Container lädt das Kokoro-Modell einmalig von Hugging Face herunter (einige hundert MB). Das kann je nach Internetverbindung ein bis zwei Minuten dauern. Wichtig: Dafür ist beim allerersten Start eine Internetverbindung nötig, auch wenn der Betrieb danach komplett offline läuft — dank des kokoro_cache-Volumes lädt er beim nächsten Start nicht erneut.
Meist fehlt die Berechtigung, mit dem Docker-Daemon zu sprechen. Entweder den Befehl mit sudo ausführen, oder den eigenen Benutzer einmalig zur docker-Gruppe hinzufügen (sudo usermod -aG docker $USER, danach neu einloggen).
Mit docker logs thorsten-kokoro-tts (bzw. dem Namen deines Containers) in die Logs schauen — meist steht dort die eigentliche Fehlermeldung, etwa ein Problem beim Modell-Download oder ein belegter Port.
Ja — das Image wird als Multi-Arch-Build für linux/amd64 und linux/arm64 veröffentlicht und läuft nativ auf Windows, Mac (Intel & Apple Silicon) und Linux, komplett CPU-basiert ohne GPU.