Skip to main content
Setting up the Avatar Server involves three steps: adding your .hvia avatar files to the right directory, configuring a small set of environment variables in docker-compose.yaml, and starting the container. Once the server is running, your LiveKit Agent can connect to it and begin animating avatars in real time.

Prerequisites

Before you begin, make sure you have the following:
  • Docker and Docker Compose installed
  • An NVIDIA GPU with CUDA 12, OpenGL support, and at least 6 GB VRAM
  • NVIDIA Container Toolkit installed and configured
  • An Avaluma license key and at least one .hvia avatar file

Steps

1

Add Avatar Files

Place your .hvia avatar files in the assets/avatars/ directory inside the avatar-server/ folder:
The container mounts this directory at /app/assets/avatars, so any file you place here is immediately available to the server on next start.
Each .hvia file represents one avatar. You can add multiple files to run several avatars simultaneously — the only limit is your available VRAM (~2.5 GB per active session).
2

Configure the Environment

Open docker-compose.yaml and update the environment variables under the avaluma-avatar-server service:
Set API_SERVER_HOST to the public IP address or domain name that clients will use to reach the server. If you are running the server only on localhost without a reverse proxy, you can leave this as-is for local testing.
3

Start the Server

From the avatar-server/ directory, run:
The server starts in detached mode and is available at http://localhost:8080. When you use a reverse proxy or expose the server on a public IP, make sure API_SERVER_HOST matches that address.To check that the container started successfully, inspect the logs:

Full docker-compose.yaml Reference

Here is the complete docker-compose.yaml for reference:
The image is configured with pull_policy: always, which means Docker pulls the latest image every time the container restarts. Your Avatar Server stays up to date automatically without any manual intervention.