Deployment
Development (Docker Compose)
The project uses Docker Compose for local development infrastructure:
# docker-compose.test.yml - Qdrant for vector search
services:
qdrant:
image: qdrant/qdrant:latest
ports:
- "6333:6333" # REST API
- "6334:6334" # gRPC
Start services and the API:
docker compose up -d
./scripts/start_server.sh
Production Setup
For production deployment:
- PostgreSQL: Use a managed database (Cloud SQL, RDS, etc.) with the
DB_*environment variables - Qdrant: Deploy Qdrant for vector knowledge base or leave
QDRANT_URLempty for in-memory - Environment: Set all required environment variables (see Configuration section)
- Authentication: Set
ADMIN_SECRETand create API keys via the Admin API - Token Encryption: Generate a Fernet key and set
SECRET_TOKEN_ENC_KEY
Generate a Fernet key:
from cryptography.fernet import Fernet
print(Fernet.generate_key().decode())
Health Endpoints
| Endpoint | Method | Auth | Description |
|---|---|---|---|
/health |
GET | None | Database connectivity check |
/status |
GET | None | Service status |
/version |
GET | None | API version |
/ |
GET | None | Root with docs link |
curl http://localhost:8000/health
{
"status": "success"
}