doc-ingestion / docker /docker-compose.yml
Vamshi Pokala
feat: React UI, Docker Space, sessions, Ollama toggle on HF
2af1cca
# Full stack (React + FastAPI) in one container on :8000. Streamlit is not part of this stack;
# run it locally only if needed: PYTHONPATH=. streamlit run src/web/streamlit_app.py
services:
api:
build:
context: ..
dockerfile: Dockerfile
container_name: doc_ingestion_api
environment:
- ENV=dev
# React demo session + uploads (override for hardened deploys).
- DOC_PROFILE=${DOC_PROFILE:-demo}
- DOC_DEMO_UPLOADS=${DOC_DEMO_UPLOADS:-1}
- DOC_API_KEYS=${DOC_API_KEYS:-change-me}
- OPENAI_API_KEY=${OPENAI_API_KEY:-}
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY:-}
- GEMINI_API_KEY=${GEMINI_API_KEY:-}
- REDIS_URL=redis://redis:6379/0
- OLLAMA_BASE_URL=${OLLAMA_BASE_URL:-http://host.docker.internal:11434}
- HF_HOME=/app/.cache/huggingface
- TRANSFORMERS_CACHE=/app/.cache/huggingface/transformers
- SENTENCE_TRANSFORMERS_HOME=/app/.cache/huggingface/sentence_transformers
- HF_HUB_OFFLINE=${HF_HUB_OFFLINE:-0}
- TRANSFORMERS_OFFLINE=${TRANSFORMERS_OFFLINE:-0}
- PORT=8000
volumes:
- ../data:/app/data
- ../config.yaml:/app/config.yaml
- hf_cache:/app/.cache/huggingface
ports:
- "8000:8000"
depends_on:
- qdrant
- redis
redis:
image: redis:7-alpine
container_name: doc_ingestion_redis
ports:
- "6379:6379"
command: ["redis-server", "--appendonly", "yes"]
volumes:
- redis_data:/data
qdrant:
image: qdrant/qdrant:latest
container_name: doc_ingestion_qdrant
ports:
- "6333:6333"
volumes:
- qdrant_data:/qdrant/storage
volumes:
qdrant_data:
redis_data:
hf_cache: