56 lines
1.7 KiB
YAML
56 lines
1.7 KiB
YAML
version: '3.8'
|
|
|
|
# Qdrant Vector Database
|
|
# Purpose: Efficient vector storage for Open WebUI RAG (conversation memory & documents)
|
|
# Ports: 6333 (HTTP API), 6334 (gRPC)
|
|
# GPU: NO - CPU-based vector operations are efficient
|
|
# Storage: SSD for vector data (performance-critical)
|
|
|
|
services:
|
|
qdrant:
|
|
image: qdrant/qdrant:latest
|
|
container_name: qdrant
|
|
restart: unless-stopped
|
|
ports:
|
|
- "6333:6333" # HTTP API
|
|
- "6334:6334" # gRPC API
|
|
volumes:
|
|
# Vector storage on SSD for performance
|
|
- /home/jpmschweitzer/docker-data/qdrant/storage:/qdrant/storage
|
|
# Snapshots for backups
|
|
- /home/jpmschweitzer/docker-data/qdrant/snapshots:/qdrant/snapshots
|
|
environment:
|
|
- TZ=Europe/Amsterdam
|
|
networks:
|
|
- ai-dataplane
|
|
|
|
networks:
|
|
ai-dataplane:
|
|
external: true
|
|
|
|
# Qdrant Performance Notes:
|
|
# - Optimized for high-dimensional vectors (embeddings)
|
|
# - Supports HNSW indexing for fast similarity search
|
|
# - Efficient memory usage (~1-2GB for thousands of documents)
|
|
# - No GPU required (CPU operations are fast enough)
|
|
#
|
|
# Storage Estimates:
|
|
# - ~1KB per conversation turn (with embedding)
|
|
# - 10,000 turns = ~10MB
|
|
# - Very efficient for conversation memory
|
|
#
|
|
# After Deployment:
|
|
# 1. Check logs: docker logs qdrant
|
|
# 2. Access UI: http://localhost:6333/dashboard
|
|
# 3. Verify API: curl http://localhost:6333/collections
|
|
#
|
|
# Integration with Open WebUI:
|
|
# - Set VECTOR_DB=qdrant in Open WebUI
|
|
# - Set QDRANT_URL=http://qdrant:6333
|
|
# - Open WebUI will automatically create collections
|
|
#
|
|
# Collections Created:
|
|
# - Documents: User-uploaded files for RAG
|
|
# - Conversations: Chat history for memory
|
|
# - Web search results: Cached search results
|