Set up LLA

Install and configure the Murf Local License Agent (LLA) on your server.

The Murf Local License Agent (LLA) is an on-premises licensing proxy that enables secure, high-performance text-to-speech generation within your network. By deploying locally, you benefit from:

  • Reduced Latency: Process requests on your infrastructure without internet round-trips
  • Data Privacy: All audio synthesis happens within your network perimeter
  • Compliance: Meet strict data residency and privacy requirements
  • Offline Operation: Continue working even when external connectivity is limited

Trial Deployment

This guide focuses on a simple single-machine deployment perfect for:

  • Evaluating the LLA capabilities
  • Development and testing environments
  • Low-volume production workloads (< 1,000 requests/minute)
  • Proof-of-concept implementations

Set Up LLA

Prerequisites

Hardware Requirements

  • CPU: 1–2 vCPU minimum (production: 2+ vCPU recommended)
  • Memory: 1.5 GiB minimum (production: 2+ GiB recommended)
  • Storage: 5 GB free minimum
  • Network:
    • Outbound internet access (to reach Murf licensing server)
    • Inbound private (or public) access from the TTS server that

Software Requirements

  • Operating System: Linux x86_64 (Ubuntu 20.04+, Debian 11+, RHEL 8+, or similar)
  • Kernel/Cgroups: cgroup v2 supported (Docker defaults ok)
  • Docker: Version 20.10 or higher
  • Docker Compose: Version 2.0 or higher (usually included with Docker Desktop)

Verify Docker Installation

$# Check Docker version
>docker --version
>
># Check Docker Compose version
>docker compose version
>
># Test Docker is working
>docker run --rm hello-world

If Docker is not installed, follow these quick steps:

Ubuntu/Debian:

$curl -fsSL https://get.docker.com -o get-docker.sh
>sudo sh get-docker.sh
>sudo usermod -aG docker $USER
># Log out and back in for group changes to take effect

macOS/Windows:

  • Download and install Docker Desktop

Network Requirements

The LLA needs outbound access to:

  • Murf Licensing Server: murf.ai domain on port 443 (HTTPS)
  • Murf API Server: Your designated Murf endpoint (provided separately) No inbound ports need to be exposed to the public internet. Your applications will connect to the LLA on your local network.

Installation & Deployment

1

Extract Distribution Package

You should have received a distribution package named lla-distribution-latest.tar.gz.

$# Extract the package
>tar -xzf lla-distribution-latest.tar.gz
>
># Navigate to the distribution directory
>cd lla-distribution-latest
2

Load Docker Images

The distribution includes pre-built, obfuscated Docker images.

$# Load images into Docker
>./scripts/load-images.sh

Verify the images are loaded:

$docker images | grep -E 'local-license-agent|nginx'

This will give you output like this:

local-license-agent latest ... ... ...
nginx 1.27-alpine ... ... ...
3

Start the LLA Service

$# Navigate to the docker directory
>cd docker
>
># Start the services in detached mode
>docker compose up -d

Expected output:

✅ Network lla-network created
✅ Container lla-1 started
✅ Container lla-2 started
✅ Container nginx started
4

Verify Services are Running

$# Check container status
>docker compose ps

All services should show status as “healthy” or “Up” after 30-60 seconds:

NAME SERVICE STATUS PORTS
lla-1 lla Up (healthy) 8001/tcp
lla-2 lla Up (healthy) 8001/tcp
nginx nginx Up (healthy) 0.0.0.0:8000->8000/tcp
5

Test the Health Endpoint

$curl http://localhost:8000/health

Expected response:

{
"status": "healthy",
"timestamp": "2025-10-07T10:30:45Z",
"license_status": "valid",
"replicas": 2
}
6

Note down the endpoint for the machine, that will be the LLA_ENDPOINT in TTS Deployment

Note: If you are hosting both of the servers (LLA and TTS) in the same machine, the LLA_ENDPOINT will be localhost:8000