eye-wiki / docker-compose.yml
stanleydukor's picture
Initial deployment
702ea87
# EyeWiki RAG System - Docker Compose Configuration
version: '3.8'
services:
# Qdrant vector database
qdrant:
image: qdrant/qdrant:latest
container_name: eyewiki-qdrant
ports:
- "6333:6333" # REST API
- "6334:6334" # gRPC (optional)
volumes:
- qdrant_data:/qdrant/storage
environment:
- QDRANT__SERVICE__GRPC_PORT=6334
networks:
- eyewiki-network
restart: unless-stopped
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:6333/"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
# EyeWiki RAG API
eyewiki-rag:
build:
context: .
dockerfile: Dockerfile
container_name: eyewiki-rag-api
ports:
- "8000:8000"
volumes:
# Mount data directories for persistence
- ./data/raw:/app/data/raw
- ./data/processed:/app/data/processed
- qdrant_data:/app/data/qdrant
# Mount prompts for easy customization
- ./prompts:/app/prompts
environment:
# Ollama on host (access via host.docker.internal)
- OLLAMA_BASE_URL=http://host.docker.internal:11434
- LLM_MODEL=mistral
- EMBEDDING_MODEL=nomic-embed-text
# Qdrant service
- QDRANT_HOST=qdrant
- QDRANT_PORT=6333
- QDRANT_COLLECTION_NAME=eyewiki_rag
- QDRANT_PATH=/app/data/qdrant
# Processing settings
- CHUNK_SIZE=512
- CHUNK_OVERLAP=50
- MAX_CONTEXT_TOKENS=4000
# Retrieval settings
- RETRIEVAL_K=20
- RERANK_K=5
networks:
- eyewiki-network
depends_on:
qdrant:
condition: service_healthy
restart: unless-stopped
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8000/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 60s
networks:
eyewiki-network:
driver: bridge
volumes:
qdrant_data:
driver: local