Files
portainer-core/stacks/qdrant.yml
T

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