Prerequisites
- Docker with Compose v2
- NVIDIA GPU + nvidia-container-toolkit (for Ollama embeddings)
- (Optional) Cloudflare Tunnel for public access
Setup
Architecture
| Compose File | Services |
|---|---|
docker-compose.stateful.yml | Postgres (pgvector), Qdrant |
docker-compose.stateless.yml | Hivemind, all Vexa services, Ollama, Redis, MinIO, Cloudflared |
Services
| Service | Port | Description |
|---|---|---|
| Hivemind API | 9100 | Core API (auth, sessions, knowledge search, MCP) |
| Vexa API Gateway | 8056 | Meeting bot API |
| Vexa Admin API | 8057 | Admin operations |
| Vexa MCP | 18888 | Vexa MCP server |
| MinIO Console | 9001 | Object storage UI |
| Ollama | 11434 | Local embedding model server |
| Qdrant | 6333 | Vector DB REST API |
Management Commands
Cloudflare Tunnel
For public access without opening inbound ports, use Cloudflare Tunnel:- Create a tunnel at Cloudflare Zero Trust
- Download the credentials JSON to your machine
- Set
CLOUDFLARED_CREDENTIALS_DIRin.envto the folder containing the JSON - Copy and edit the tunnel config:
- Edit with your tunnel ID and domains:
