drakkenheim-rag/docker-compose.yml

43 lines
1.2 KiB
YAML

version: '3.8'
services:
rag-app:
build: .
container_name: drakkenheim-rag
ports:
- "8501:8501"
environment:
- OPENAI_API_KEY=${OPENAI_API_KEY}
- APP_PASSWORD_HASH=${APP_PASSWORD_HASH}
- PASSWORD_SALT=${PASSWORD_SALT}
- SESSION_TIMEOUT=${SESSION_TIMEOUT:-3600}
- TOKENIZERS_PARALLELISM=false
- CHROMA_TELEMETRY=false
- TOKENIZERS_VERBOSITY=error
- CHROMA_DB_PATH=/app/data/chroma-db
- PROCESSED_FILES_PATH=/app/data/processed-files
volumes:
# Persistent storage for ChromaDB database
- chroma_data:/app/data/chroma-db
# Persistent storage for processed files metadata
- processed_files:/app/data/processed-files
# Persistent storage for uploaded files (optional)
- uploaded_files:/app/data/uploaded-files
# Mount the input directory for initial documents
- ./input:/app/input:ro
restart: unless-stopped
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8501/_stcore/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
volumes:
chroma_data:
driver: local
processed_files:
driver: local
uploaded_files:
driver: local