Skip to main content

Overview

This guide walks you through deploying Smallest Self-Host Text-to-Speech (TTS) using Docker Compose. You’ll have a fully functional text-to-speech service running in under 15 minutes.
Ensure you’ve completed all prerequisites before starting this guide.

Step 1: Create Project Directory

Create a directory for your deployment:

Step 2: Login to Container Registry

Authenticate with the Smallest container registry using credentials provided by support:
Enter your username and password when prompted.
Save your credentials securely. You’ll need them if you restart or redeploy the containers.

Step 3: Create Environment File

Create a .env file with your license key:
Replace your-license-key-here with the actual license key provided by Smallest.ai.
Never commit your .env file to version control. Add it to .gitignore if using git.

Step 4: Create Docker Compose File

Create a docker-compose.yml file for TTS deployment:
docker-compose.yml

Step 5: Start Services

Launch all services with Docker Compose:
First startup will take 3-5 minutes as the system:
  1. Pulls container images (~15-25 GB, includes TTS models)
  2. Initializes GPU and loads models
Models are embedded in the container - no separate download needed.

Step 6: Monitor Startup

Watch the logs to monitor startup progress:
Look for these success indicators:
1

Redis Ready

2

License Proxy Ready

3

Lightning TTS Ready

4

API Server Ready

Press Ctrl+C to stop following logs.

Step 7: Verify Installation

Check that all containers are running:
Expected output:

Step 8: Test API

Test the API with a sample request:
Or use the health check endpoint first:
Expected response: {"status": "healthy"}

Common Startup Issues

Error: could not select device driver "nvidia"Solution:
If this fails, reinstall NVIDIA Container Toolkit.
Error: License validation failedSolution:
  • Verify LICENSE_KEY in .env is correct
  • Check internet connectivity
  • Ensure firewall allows HTTPS to api.smallest.ai
Error: port is already allocatedSolution: Check what’s using the port:
Either stop the conflicting service or change the port in docker-compose.yml

Managing Your Deployment

Stop Services

Restart Services

View Logs

Examples:

Update Images

Pull latest images and restart:

Remove Deployment

Stop and remove all containers:
Remove containers and volumes:
Using -v flag will delete all data. Models will need to be re-downloaded on next startup.

What’s Next?

TTS Configuration

Customize your TTS deployment with advanced configuration options

TTS Services Overview

Learn about each TTS service component in detail

TTS Troubleshooting

Debug common issues and optimize performance

API Reference

Integrate with your applications using the API