Kokoro-FastAPI
Run Kokoro-FastAPI locally and connect it to OpenReader using the Custom OpenAI-Like provider.
warning
For Kokoro issues and support, use the upstream repository: remsky/Kokoro-FastAPI.
Run Kokoro
CPU:
docker run --name kokoro-tts \
--restart unless-stopped \
-d \
-p 8880:8880 \
-e ONNX_NUM_THREADS=8 \
-e ONNX_INTER_OP_THREADS=4 \
-e ONNX_EXECUTION_MODE=parallel \
-e ONNX_OPTIMIZATION_LEVEL=all \
-e ONNX_MEMORY_PATTERN=true \
-e ONNX_ARENA_EXTEND_STRATEGY=kNextPowerOfTwo \
-e API_LOG_LEVEL=DEBUG \
ghcr.io/remsky/kokoro-fastapi-cpu:v0.2.4
GPU (NVIDIA):
docker run --name kokoro-tts \
--restart unless-stopped \
-d \
--gpus all \
--user 1001:1001 \
-p 8880:8880 \
-e USE_GPU=true \
-e PYTHONUNBUFFERED=1 \
-e API_LOG_LEVEL=DEBUG \
ghcr.io/remsky/kokoro-fastapi-gpu:v0.2.4
Connect to OpenReader
Recommended (auth + admin): Settings → Admin → Shared providers
- Add a shared provider with type
custom-openai. - Set the base URL for your deployment topology (Docker-to-host:
http://host.docker.internal:8880/v1; native same-host:http://127.0.0.1:8880/v1). - Leave API key blank unless required by your deployment.
- Set default model to
Kokoro.
Bootstrap seed (optional, first boot only):
API_BASE=http://host.docker.internal:8880/v1
API_MODEL_NAME=kokoro
Use
host.docker.internalonly when OpenReader/its embedded worker run in Docker and Kokoro runs on that Docker host. In Compose, use the shared service URLhttp://kokoro-tts:8880/v1. A remote worker needs a public/private-network URL it can reach. See the provider topology table.
Users select the configured shared provider, model, and voice from Settings → TTS Provider.