Skip to content

General

The backend consists of two required services and a number of optional ones, depending on the scenario.

Service Purpose
Ubiq Server Room and session state - avatars, transforms, ownership required
Database API Scene definitions and the logging API, backed by MongoDB required
VR Agent (vr-agent/) LLM agents for the Bots optional
TTS/STT (tts-stt/) Speech-to-text and text-to-speech for the agents optional
Speech (speech2text/) Whisper speech-to-text for voice input optional
Chatbot (chatbot/) Older voice chatbot host optional

Which client setting points to which service is listed in Endpoints Configuration.

All of them live in the Va.Si.Li-Lab-backend monorepo.

Backend documentation

Each module - its endpoints, environment variables and deployment - is documented at texttechnologylab.github.io/Va.Si.Li-Lab-backend.

The pages in this section cover what the Unity client needs from each service; the backend docs cover the services themselves.

Deploying the full stack

A standardised Docker Compose deployment exists as part of InterView, which brings the services up together - the Ubiq room server, the Database API, a Janus WebRTC gateway, an optional TURN relay and a web client - with versioned configuration instead of individually started containers.

Start here for a full deployment

The InterView Setup Guide walks through the whole stack step by step, including the prerequisites that are easy to miss: an external MongoDB, DNS records, firewall port ranges, and a TLS-terminating reverse proxy that correctly forwards WebSocket upgrades.

The stack was built for the FACES project, but nothing in it is FACES-specific apart from the web client - the same deployment serves any Va.Si.Li-Lab scenario that needs a room server and a logging backend.