Choose your setup
Rapida supports two self-hosted deployment modes. Pick the one that matches how much retrieval and infrastructure footprint you need before you start.- Voice Assistant Only (Recommended)
- Voice Assistant + Knowledge Base
Best for most users. Build and run AI voice assistants — inbound/outbound calls, real-time STT/LLM/TTS, webhooks, and telephony integrations.No OpenSearch or Python services required. Lower RAM, simpler setup, faster to get started.Services started: web-api · assistant-api · integration-api · endpoint-api · UI · PostgreSQL · Redis · NginxServices skipped: document-api · OpenSearchRAM needed: 4 GB minimumThat’s it — open http://localhost:3000 and create your first assistant in an environment you control.
Not sure which to pick? Start with Voice Only (
make up-all). You can add the knowledge base at any time later — just run make up-all-with-knowledge. No existing data is lost and you keep the same deployment model.What is the knowledge base?
The knowledge base lets your voice assistant answer questions grounded in your own documents. When a caller asks something, the assistant searches your uploaded content and injects the most relevant passages into the LLM prompt before generating a response. This is called Retrieval-Augmented Generation (RAG).What you are deploying
Rapida is a microservices platform. Self-hosting means running all services on your own infrastructure so you control the runtime boundary, network path, and operational model.The recommended path for self-hosting is Docker Compose. All services, infrastructure, and Nginx are wired together in
docker-compose.yml. No manual network or volume configuration is needed.Prerequisites
Quickstart
1
Clone the repository
2
Create data directories
~/rapida-data/assets/{db,redis,opensearch} with the correct ownership for Docker volume mounts. The opensearch directory is only used when running with the knowledge base profile.macOS users:
make setup-local uses setfacl, which is a Linux utility. If the command fails, create the directories manually:3
Configure YAML files
Each service reads from a YAML config file in
docker/<service>/. The defaults work for a local deployment with no external providers. You do not need any API keys to start the platform.4
Build all service images
5
Start all services
The default
make up-all starts all core services (web-api, assistant-api, integration-api, endpoint-api, UI, PostgreSQL, Redis, Nginx). document-api and opensearch are optional and only started with the with-knowledge variant. You can always add knowledge base support later by running make up-all-with-knowledge.6
Verify all services are healthy
Up or Up (healthy). If any container is in Exited state, check its logs:7
Open the dashboard
Navigate to http://localhost:3000 in your browser. You should see the Rapida login page.The Nginx gateway is accessible at http://localhost:8080.
Service Endpoints
Working with Individual Services
Start / stop specific services
Logs
Rebuild after code changes
Shell access
Connecting Your First Provider
The platform runs without any external provider keys. To place a voice call, you need to add at least one LLM, one STT, and one TTS provider credential through the dashboard.1
Open the dashboard
Navigate to http://localhost:3000 and create an account.
2
Create an organization and project
Every resource in Rapida is scoped to an organization and project.
3
Add provider credentials
Go to Settings → Integrations and add API keys for your LLM (e.g., OpenAI), STT (e.g., Deepgram), and TTS (e.g., ElevenLabs) providers.Credentials are encrypted with AES-256-GCM before storage. See Integration API for details.
4
Create an assistant
Go to Assistants → New Assistant and configure the system prompt, LLM, STT, TTS, and (optionally) a knowledge base.
5
Test the call
Use the built-in call tester in the dashboard or connect via the rapida-react SDK.
Make Command Reference
Stopping and Resetting
Next Steps
Architecture
System topology, service communication, and data flow diagrams.
Configuration Reference
Complete environment variable reference for all services.
Services Overview
Per-service documentation — components, routing, configuration.
Troubleshooting
Common issues and solutions for Docker and local setup.