REST Server for CyborgDB: The Confidential Vector Database
3.9K
A FastAPI-based REST API wrapper for CyborgDB, providing Confidential Vector DB capabilities over HTTP. It enables you to ingest & search vectors embeddings in a privacy-preserving manner, without revealing the contents of the vectors themselves. CyborgDB works with existing DBs (e.g., Postgres, Redis) and enables you to add, query and retrieve vector embeddings with transparent end-to-end encryption.
sudo docker run -it --network host \
-e CYBORGDB_DB_TYPE=postgres \
-e "CYBORGDB_CONNECTION_STRING=host=localhost port=5432 dbname=postgres user=postgres password=your_password" \
-e CYBORGDB_API_KEY=cyborg_your_api_key_here \
cyborginc/cyborgdb-service:latest
sudo docker run -it -p 8000:8000 \
-e CYBORGDB_DB_TYPE=postgres \
-e 'CYBORGDB_CONNECTION_STRING=host=host.docker.internal port=5432 dbname=postgres user=postgres password=your_password' \
-e CYBORGDB_API_KEY=cyborg_your_api_key_here \
cyborginc/cyborgdb-service:latest
sudo docker run -it --network host \
-e CYBORGDB_DB_TYPE=redis \
-e "CYBORGDB_CONNECTION_STRING=host=localhost,port=6379,db=0" \
-e CYBORGDB_API_KEY=cyborg_your_api_key_here \
cyborginc/cyborgdb-service:latest
sudo docker run -it -p 8000:8000 \
-e CYBORGDB_DB_TYPE=redis \
-e 'CYBORGDB_CONNECTION_STRING=host=host.docker.internal,port=6379,db=0' \
-e CYBORGDB_API_KEY=cyborg_your_api_key_here \
cyborginc/cyborgdb-service:latest
This image supports multiple architectures and will automatically pull the correct one for your system:
| Architecture | Status | Use Case |
|---|---|---|
linux/amd64 | ✅ Supported | Intel/AMD servers, most cloud instances |
linux/arm64 | ✅ Supported | Apple Silicon Macs, ARM servers, Raspberry Pi 4+ |
version: '3.8'
services:
cyborgdb:
image: cyborginc/cyborgdb-service:latest
ports:
- "8000:8000"
environment:
- CYBORGDB_DB_TYPE=postgres
- CYBORGDB_CONNECTION_STRING=host=postgres port=5432 dbname=cyborgdb user=cyborgdb password=secure_password
- CYBORGDB_API_KEY=cyborg_your_api_key_here
depends_on:
- postgres
postgres:
image: postgres:15
environment:
- POSTGRES_DB=cyborgdb
- POSTGRES_USER=cyborgdb
- POSTGRES_PASSWORD=secure_password
volumes:
- postgres_data:/var/lib/postgresql/data
ports:
- "5432:5432"
volumes:
postgres_data:
version: '3.8'
services:
cyborgdb:
image: cyborginc/cyborgdb-service:latest
ports:
- "8000:8000"
environment:
- CYBORGDB_DB_TYPE=redis
- CYBORGDB_CONNECTION_STRING=host=redis,port=6379,db=0
- CYBORGDB_API_KEY=cyborg_your_api_key_here
depends_on:
- redis
redis:
image: redis:7-alpine
ports:
- "6379:6379"
volumes:
- redis_data:/data
volumes:
redis_data:
| Variable | Description | Required | Example |
|---|---|---|---|
CYBORGDB_API_KEY | Your CyborgDB API key | ✅ | cyborg_abc123... |
CYBORGDB_DB_TYPE | Database type | ✅ | postgres or redis |
CYBORGDB_CONNECTION_STRING | Database connection string | ✅ | See examples above |
CYBORGDB_VERSION | Service version | ❌ | 0.11.2 |
host=hostname port=5432 dbname=database user=username password=passwordhost=hostname,port=6379,db=0Linux: Uses --network host because Docker on Linux runs natively and can directly access the host network.
macOS: Uses -p 8000:8000 and host.docker.internal because Docker runs in a lightweight VM and needs port mapping to communicate with the host.
Once running, verify the service:
curl http://localhost:8000/v1/health
Access the API documentation at: http://localhost:8000/docs
continuumio/miniconda3:latestlinux/amd64, linux/arm64Visit CyborgDB to sign up and get your API key.
GitHub: cyborginc/cyborgdb-service
Content type
Image
Digest
sha256:5c07b911a…
Size
445 MB
Last updated
3 months ago
docker pull cyborginc/cyborgdb-service