43 lines
1.2 KiB
YAML
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
|