- Create Dockerfile with Python 3.10 base image - Install system dependencies (espeak-ng) for Kokoro TTS - Install Python dependencies from requirements.txt - Copy backend code and expose port 8000 - Configure Uvicorn server startup - Add docker-compose.yml for easy orchestration - Include health checks and environment variables - Add .dockerignore to optimize build context Implements task 6 - Requirements 11.1-11.6
Text to Audiobook Backend
FastAPI backend service for converting text to multi-voice audiobooks using Kokoro TTS.
Setup
Prerequisites
- Python 3.10 or higher
- espeak-ng (system dependency)
Install espeak-ng
macOS:
brew install espeak-ng
Linux (Ubuntu/Debian):
sudo apt-get update
sudo apt-get install espeak-ng
Python Environment Setup
- Create a virtual environment:
python -m venv venv
- Activate the virtual environment:
# macOS/Linux
source venv/bin/activate
# Windows
venv\Scripts\activate
- Install dependencies:
pip install -r requirements.txt
- Create environment file:
cp .env.example .env
Running the Server
uvicorn main:app --reload --host 0.0.0.0 --port 8000
The API will be available at http://localhost:8000
API documentation: http://localhost:8000/docs
API Endpoints
GET /api/health- Health check endpointPOST /api/tts/roles- Detect roles in textPOST /api/tts- Generate audiobook