Choose Your Deployment Mode
Rapida ships as two Docker Compose configurations. Pick one before you start.| Voice Assistant Only | Voice + Knowledge Base | |
|---|---|---|
| What it does | Build voice assistants that call LLMs directly | Everything in Voice Only, plus upload documents and answer questions from your own content |
| Extra services | — | document-api (Python) + opensearch |
| RAM | 4 GB minimum | 8–16 GB (OpenSearch is memory-intensive) |
| Build command | make build-all | make build-all-with-knowledge |
| Start command | make up-all | make up-all-with-knowledge |
Quickstart
Requirements
- Docker Desktop (Mac / Windows) or Docker Engine v20.10+ with Docker Compose v2.0+ (Linux)
- Voice Only: 4 GB RAM, 10 GB free disk
- With Knowledge Base: 8–16 GB RAM, 20 GB free disk
Steps
Create data directories
~/rapida-data/assets/db, ~/rapida-data/assets/redis, and ~/rapida-data/assets/opensearch and sets the correct permissions.On macOS,
setup-local calls sudo setfacl which requires the acl package. If it fails, create the directories manually:Configure environment files
Each service has an env file under See Configuration for a full reference of all variables.
docker/<service>/. Edit them with your API keys and settings:Build images
- Voice Only (recommended)
- With Knowledge Base
web-api, assistant-api, integration-api, endpoint-api, ui. Does not include document-api or opensearch.Initial build takes 10–25 minutes (the assistant-api uses CGO with the Azure Speech SDK).Start Rapida
- Voice Only (recommended)
- With Knowledge Base
postgres, redis, web-api, assistant-api, integration-api, endpoint-api, ui, nginx.Open the dashboard
Common Issues
Port conflicts
If you see “port is already in use”, another service on your machine is using one of Rapida’s ports (5432, 6379, 9001, 9004, 9005, 9007, 8080, 3000). Stop the conflicting service or edit the port mapping indocker-compose.yml.
Container name conflicts
Rapida containers use common names (postgres, redis, opensearch). If you run other projects with the same names, stop them first:
Out of memory
If containers are killed during startup (exit code 137), Docker does not have enough memory allocated.- Docker Desktop → Settings → Resources → Memory: set to 8 GB (Voice Only: 4 GB minimum)
- Tip: Stop all services before rebuilding —
make down-allthenmake build-all— to avoid OOM during builds.
document-api unhealthy on first boot
On first startup, document-api can take 30–60 seconds to connect to OpenSearch. If make up-all-with-knowledge exits with a dependency error, wait a moment and run it again:
Next Steps
- Installation guide — detailed Docker and manual setup
- Overview — architecture and service descriptions
- Configuration — all environment variable references