Use this if teams or clients need private document retrieval (RAG) in the same controlled environment.
Adds: document-api and opensearch
Minimum RAM: 8 to 16 GB
Start command (builds and starts): make up-all-with-knowledge
Optional pre-build command: make build-all-with-knowledge
make up-all-with-knowledge
You can start with Voice Only and switch later by running make up-all-with-knowledge. Existing PostgreSQL and Redis data is not changed.
Docker (Recommended)
Manual Setup
The fastest way to get Rapida running on infrastructure your team controls. Best for agencies, internal platform teams, and enterprise environments that need ownership of keys, networking, and runtime behavior.
Docker Compose (v2.0+) - included with Docker Desktop
4GB+ RAM available
10GB free disk space
Apple Silicon (M1/M2/M3/M4): Rapida base images are built for linux/amd64. The Makefile sets DOCKER_DEFAULT_PLATFORM=linux/amd64 automatically for all make commands. Use make commands instead of running docker compose build directly.
# Using Homebrewbrew install --cask docker# Or download from Docker website# https://www.docker.com/products/docker-desktop# Then open Docker.app from Applications folder.
2
Verify Installation
# Check Dockerdocker --version# Expected: Docker version 20.10+# Check Docker Composedocker compose version# Expected: version 2.0+# Test Dockerdocker run hello-world
# Create data directories and set permissionsmake setup-local
This creates:
~/rapida-data/assets/db - PostgreSQL
~/rapida-data/assets/redis - Redis
~/rapida-data/assets/opensearch - OpenSearch (only used with the knowledge base profile)
5
Run preflight checks (recommended)
make doctor
This validates Docker daemon access, Docker Compose availability, memory/disk constraints, and common local port conflicts.
6
Start Rapida
Voice Only (recommended)
With Knowledge Base
Starts all core services: web-api, assistant-api, integration-api, endpoint-api, UI, PostgreSQL, Redis, and Nginx.
document-api and opensearch are not started.
This command also builds required images in low-memory mode.
make up-all
Starts everything above plusdocument-api and opensearch.
Use this if you want to upload documents and use RAG / vector search in your assistants.
This command also builds required images in low-memory mode.
make up-all-with-knowledge
7
Optional: pre-build images separately
If you want to pre-build before startup or use CI cache warming:
Voice Only (recommended)
With Knowledge Base
Builds all core services. Does not include document-api or opensearch.
make build-all
Builds everything, including document-api (Python image) and pulls the OpenSearch image.
Requires 8–16 GB RAM due to OpenSearch.
make build-all-with-knowledge
Initial build takes 5–10 minutes depending on your network speed.
OpenSearch is only required for the knowledge base. If you don’t need knowledge base features, simply run make up-all (without the with-knowledge profile) and OpenSearch is not started at all.If you do need knowledge base support and want to use an existing OpenSearch instance, comment out the opensearch service in docker-compose.knowledge.yml:
For developers who prefer not to use Docker. This requires installing each component individually.
Same choice applies here: Voice Only (PostgreSQL + Redis only) or With Knowledge Base (PostgreSQL + Redis + OpenSearch + Python). If you only need voice assistants, skip the OpenSearch and Python/document-api sections below.
# Connect to PostgreSQLpsql postgres# Run these SQL commands:CREATE USER rapida_user WITH PASSWORD 'rapida_db_password';CREATE DATABASE web_db OWNER rapida_user;CREATE DATABASE assistant_db OWNER rapida_user;CREATE DATABASE integration_db OWNER rapida_user;CREATE DATABASE endpoint_db OWNER rapida_user;GRANT ALL PRIVILEGES ON DATABASE web_db TO rapida_user;GRANT ALL PRIVILEGES ON DATABASE assistant_db TO rapida_user;GRANT ALL PRIVILEGES ON DATABASE integration_db TO rapida_user;GRANT ALL PRIVILEGES ON DATABASE endpoint_db TO rapida_user;\q
OpenSearch is only required for the knowledge base. If you don’t need knowledge base features, you can skip OpenSearch entirely — just don’t set OPENSEARCH__HOST and the assistant-api will start without knowledge base support.If you do need knowledge base support, update the OpenSearch env vars in your assistant-api config: