Skip to main content

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.
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

Creates ~/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.
Before going to production, change secret: "rpd_pks" to a strong random value in every service config. All services share the same secret for JWT signing. Generate one with openssl rand -hex 32.
4

Build all service images

Builds Docker images for all Go services. Initial build takes 5–10 minutes depending on your network.
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

All containers should show 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

make clean deletes all Docker volumes, including the PostgreSQL data directory and (if used) the OpenSearch data directory. All database content and indexed documents will be lost.

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.