54 lines
1.4 KiB
YAML
54 lines
1.4 KiB
YAML
|
|
# HomeAI Kit — RAG Stack (ChromaDB + Admin UI)
|
||
|
|
# Vector database for document embeddings and similarity search.
|
||
|
|
#
|
||
|
|
# Setup:
|
||
|
|
# docker network create homeai-net # once, if not already created
|
||
|
|
# docker compose up -d
|
||
|
|
#
|
||
|
|
# ChromaDB API: http://localhost:8000
|
||
|
|
# Admin UI: http://localhost:3002
|
||
|
|
|
||
|
|
services:
|
||
|
|
chromadb:
|
||
|
|
image: chromadb/chroma:latest
|
||
|
|
container_name: homeai-chromadb
|
||
|
|
ports:
|
||
|
|
- "127.0.0.1:${CHROMA_PORT:-8000}:8000"
|
||
|
|
environment:
|
||
|
|
IS_PERSISTENT: "true"
|
||
|
|
ANONYMIZED_TELEMETRY: "false"
|
||
|
|
CHROMA_SERVER_AUTHN_CREDENTIALS: ${CHROMA_SERVER_AUTHN_CREDENTIALS:-}
|
||
|
|
CHROMA_SERVER_AUTHN_PROVIDER: ${CHROMA_SERVER_AUTHN_PROVIDER:-}
|
||
|
|
volumes:
|
||
|
|
- chromadb_data:/chroma/chroma
|
||
|
|
healthcheck:
|
||
|
|
test: ["CMD-SHELL", "curl -sf http://localhost:8000/api/v2/heartbeat || exit 1"]
|
||
|
|
interval: 30s
|
||
|
|
timeout: 10s
|
||
|
|
retries: 3
|
||
|
|
start_period: 15s
|
||
|
|
restart: unless-stopped
|
||
|
|
networks:
|
||
|
|
- homeai-net
|
||
|
|
|
||
|
|
chromadb-admin:
|
||
|
|
image: ghcr.io/flanker/chromadb-admin:latest
|
||
|
|
container_name: homeai-chromadb-admin
|
||
|
|
ports:
|
||
|
|
- "${CHROMADB_ADMIN_PORT:-3002}:3000"
|
||
|
|
environment:
|
||
|
|
CHROMADB_URL: http://chromadb:8000
|
||
|
|
depends_on:
|
||
|
|
chromadb:
|
||
|
|
condition: service_healthy
|
||
|
|
restart: unless-stopped
|
||
|
|
networks:
|
||
|
|
- homeai-net
|
||
|
|
|
||
|
|
volumes:
|
||
|
|
chromadb_data:
|
||
|
|
|
||
|
|
networks:
|
||
|
|
homeai-net:
|
||
|
|
external: true
|