Monorepo for the backend modules used by Va.Si.Li-Lab.
The modules are independent. A minimal deployment needs only the Database API and the Ubiq server; everything else is optional.
| Module | Purpose | |
|---|---|---|
database-api/ |
Scene, level and role definitions, plus the logging API that all tracking and event data is written through. Backed by MongoDB. Scenes can now be created and edited entirely over this API - see Scene API. | required |
Ubiq-server/ |
Room and session server - keeps avatars, transforms and ownership in sync. | required |
chatbot/ |
Host process that dynamically loads chatbot clients over a socket and exposes them as one endpoint. | optional |
speech2text/ |
Speech-to-text based on OpenAI Whisper. | optional |
docker-images/ |
Shared base images for the other modules. | - |
A minimal deployment is the Database API, the Ubiq server and a MongoDB instance:
cd Ubiq-server && docker build -t ubiq . && \
docker run -d --restart unless-stopped -p 8009:8009 -p 8011:8011 ubiq
cd ../database-api && docker build -t vasili/database-api . && \
docker run -d --restart unless-stopped -p 5000:5000 \
-e DB_SERVER=<mongo host> -e DB_USERNAME=<user> -e DB_PASSWORD=<password> \
-e X_API_KEY=<secret> vasili/database-apiSet
X_API_KEYexplicitly. It defaults to the empty string, which accepts unauthenticated requests. See Deployment.
For a full VR interview deployment, InterView provides a Docker Compose stack that runs these services together with a Janus WebRTC gateway, TURN relay and web client.
| Repository | Contains |
|---|---|
| Va.Si.Li-Lab | The VR client and Unity framework |
| InterView | VR interview platform and deployment stack |