Skip to main content
You can run OTAS entirely on your local machine with Python 3.10+, Node.js 18+, PostgreSQL 16, and Redis 7 installed directly — or use Docker Compose for a one-command setup that manages all dependencies automatically. Both approaches produce the same running system; choose whichever fits your workflow.

Prerequisites

Manual setup

1

Start UASAM

UASAM handles all user authentication, project management, and agent key issuance.
cd backend/uasam
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
Create an env file at backend/uasam/env/env-local.env (or export the variables directly) with your PostgreSQL and Redis credentials, then run migrations and start the server:
python manage.py migrate
python manage.py runserver 0.0.0.0:8000
UASAM is now listening on http://localhost:8000.
2

Start Brain

Brain captures events from your SDK and agents and serves all analytics data.
cd backend/brain
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
Create backend/brain/env/env-local.env with credentials for Brain’s own PostgreSQL database (port 5433) and Redis (port 6378), then migrate and start:
python manage.py migrate
python manage.py runserver 0.0.0.0:8002
Brain is now listening on http://localhost:8002. If you need async Celery processing, start the worker and beat in separate terminals:
celery -A brain worker --loglevel=info
celery -A brain beat --loglevel=info
3

Start the frontend

The React dashboard connects to UASAM and Brain using the URLs defined in src/constants.ts.
cd frontend/otas-frontend
npm install
npm run dev
The Vite dev server starts on http://localhost:5173.

Port reference

ServiceDefault port
UASAM (Django)8000
Brain (Django)8002
Frontend (Vite)5173
UASAM PostgreSQL5432
Brain PostgreSQL5433
UASAM Redis6379
Brain Redis6378
If any of your services run on a non-default host or port, update UASAM_ENDPOINT and BRAIN_ENDPOINT in frontend/otas-frontend/src/constants.ts and restart the Vite dev server. See Configure OTAS frontend endpoints for details.

Build docs developers (and LLMs) love