services: api: build: context: .. dockerfile: docker/Dockerfile container_name: doc_ingestion_api environment: - ENV=dev - 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} volumes: - ../data:/app/data - ../config.yaml:/app/config.yaml - hf_cache:/app/.cache/huggingface ports: - "8000:8000" depends_on: - qdrant - redis streamlit: build: context: .. dockerfile: docker/Dockerfile container_name: doc_ingestion_streamlit command: ["streamlit", "run", "src/web/streamlit_app.py", "--server.port=8501", "--server.address=0.0.0.0"] environment: - DOC_INGEST_API_URL=http://api:8000 - DOC_API_KEY=${DOC_API_KEY:-change-me} - OLLAMA_BASE_URL=${OLLAMA_BASE_URL:-http://host.docker.internal:11434} - OPENAI_API_KEY=${OPENAI_API_KEY:-} - ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY:-} - GEMINI_API_KEY=${GEMINI_API_KEY:-} - 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} volumes: - ../data:/app/data - ../config.yaml:/app/config.yaml - hf_cache:/app/.cache/huggingface ports: - "8501:8501" depends_on: - api 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: