Document-Audit-RAG / docker-compose.yml
mayankchugh-learning
Enhance Docker configuration and Hugging Face integration
82549b8
# Requires a project `.env` (copy from `.env.example`) for `env_file` and variable substitution.
name: docuaudit-ai
x-app: &app
build: .
image: docuaudit-ai:${IMAGE_TAG:-local}
services:
api:
<<: *app
command: uvicorn api.main:app --host 0.0.0.0 --port 8000
ports:
- "${API_PORT:-8000}:8000"
env_file:
- .env
environment:
CHROMA_PERSIST_DIRECTORY: /data/chroma
AUDIT_DB_PATH: /data/audit.db
JOBS_DB_PATH: /data/jobs.db
OLLAMA_BASE_URL: ${OLLAMA_BASE_URL:-http://host.docker.internal:11434}
volumes:
- docuaudit_data:/data
extra_hosts:
- "host.docker.internal:host-gateway"
healthcheck:
test:
[
"CMD",
"python",
"-c",
"import urllib.request; urllib.request.urlopen('http://127.0.0.1:8000/health', timeout=5)",
]
interval: 15s
timeout: 5s
retries: 5
start_period: 40s
streamlit:
<<: *app
command: >
streamlit run app.py
--server.port=8501
--server.address=0.0.0.0
--server.headless=true
--browser.gatherUsageStats=false
ports:
- "${STREAMLIT_PORT:-8501}:8501"
env_file:
- .env
environment:
DOC_AUDI_API_BASE: http://api:8000
STREAMLIT_BACKEND_URL: http://api:8000
depends_on:
api:
condition: service_healthy
ollama:
image: ollama/ollama:latest
profiles: ["ollama"]
ports:
- "${OLLAMA_HOST_PORT:-11434}:11434"
volumes:
- ollama_data:/root/.ollama
volumes:
docuaudit_data:
ollama_data: