*** title: Prerequisites description: >- System requirements and setup needed before deploying Text-to-Speech with Docker ------ ## Overview Before deploying Smallest Self-Host Text-to-Speech (TTS) with Docker, ensure your system meets the hardware and software requirements. This guide walks you through everything you need to prepare your environment. ## Hardware Requirements ### Minimum Specifications **4 cores** minimum 8+ cores recommended for production **16 GB** minimum 32+ GB recommended for production **NVIDIA GPU required** * L40s or A10 (recommended) * A10, A100, H100, T4, L4 (supported) * Minimum 16GB VRAM **100 GB** minimum * 50 GB for models * 50 GB for logs and data ## Software Requirements ### Operating System Smallest Self-Host TTS supports the following operating systems: ```bash Ubuntu 20.04 LTS or later Ubuntu 22.04 LTS (recommended) Debian 11 or later ``` ```bash CentOS 8 or later RHEL 8 or later Rocky Linux 8 or later ``` Most modern Linux distributions with kernel 4.15+ ### Required Software Docker Engine 20.10 or later ```bash docker --version ``` Expected output: `Docker version 20.10.0 or higher` Docker Compose 2.0 or later ```bash docker compose version ``` Expected output: `Docker Compose version v2.0.0 or higher` NVIDIA Driver 525+ for newer GPUs (A10, A100, L4) NVIDIA Driver 470+ for older GPUs (T4, V100) ```bash nvidia-smi ``` Should display GPU information without errors Required for GPU access in containers ```bash nvidia-container-cli --version ``` ## Installation Guides ### Install Docker ```bash sudo apt-get update sudo apt-get install -y ca-certificates curl gnupg sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \ sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpg echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \ https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update sudo apt-get install -y docker-ce docker-ce-cli containerd.io \ docker-buildx-plugin docker-compose-plugin sudo usermod -aG docker $USER newgrp docker ``` ```bash sudo yum install -y yum-utils sudo yum-config-manager --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo sudo yum install -y docker-ce docker-ce-cli containerd.io \ docker-buildx-plugin docker-compose-plugin sudo systemctl start docker sudo systemctl enable docker sudo usermod -aG docker $USER newgrp docker ``` ### Install NVIDIA Driver ```bash sudo apt-get update sudo apt-get install -y ubuntu-drivers-common sudo ubuntu-drivers autoinstall sudo reboot ``` After reboot, verify: ```bash nvidia-smi ``` ```bash sudo yum install -y kernel-devel kernel-headers gcc make distribution=$(. /etc/os-release;echo $ID$VERSION_ID | sed -e 's/\.//g') sudo yum-config-manager --add-repo \ http://developer.download.nvidia.com/compute/cuda/repos/$distribution/x86_64/cuda-$distribution.repo sudo yum clean all sudo yum -y install nvidia-driver-latest-dkms sudo reboot ``` ### Install NVIDIA Container Toolkit ```bash distribution=$(. /etc/os-release;echo $ID$VERSION_ID) curl -s -L https://nvidia.github.io/libnvidia-container/gpgkey | \ sudo apt-key add - curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | \ sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list sudo apt-get update sudo apt-get install -y nvidia-container-toolkit sudo systemctl restart docker ``` ### Verify GPU Access Test that Docker can access the GPU: ```bash docker run --rm --gpus all nvidia/cuda:11.8.0-base-ubuntu22.04 nvidia-smi ``` You should see your GPU information displayed. ## Credentials Before installation, obtain the following from Smallest.ai: Your unique license key for validation Contact: **[support@smallest.ai](mailto:support@smallest.ai)** Credentials to pull Docker images: * Registry URL: `quay.io` * Username * Password * Email Contact: **[support@smallest.ai](mailto:support@smallest.ai)** Download URLs for TTS models (if required) Contact: **[support@smallest.ai](mailto:support@smallest.ai)** ## Network Requirements Ensure the following ports are available: | Port | Service | Purpose | | ---- | ------------- | --------------------------- | | 7100 | API Server | Client API requests | | 8876 | Lightning TTS | TTS service endpoint | | 3369 | License Proxy | Internal license validation | | 6379 | Redis | Internal caching | The License Proxy requires outbound HTTPS access to Smallest's license servers for validation. Ensure your firewall allows outbound connections to: * `console-api.smallest.ai` (port 443) ## Verification Checklist Before proceeding to installation, verify: ```bash docker ps ``` Should execute without errors ```bash docker run --rm --gpus all nvidia/cuda:11.8.0-base-ubuntu22.04 nvidia-smi ``` Should display GPU information * [ ] License key obtained * [ ] Container registry username and password * [ ] Model download URLs (if required) ```bash sudo netstat -tuln | grep -E '(7100|8876|3369|6379)' ``` Should return no results (ports free) ## What's Next? Once all prerequisites are met, proceed to the quick start guide: Deploy Smallest Self-Host TTS with Docker Compose