57 lines
1.6 KiB
YAML
57 lines
1.6 KiB
YAML
name: mem0-dev
|
|
|
|
services:
|
|
mem0:
|
|
build:
|
|
context: .. # Set context to parent directory
|
|
dockerfile: server/dev.Dockerfile
|
|
ports:
|
|
- "8888:8000"
|
|
env_file:
|
|
- .env
|
|
networks:
|
|
- mem0_network
|
|
volumes:
|
|
- ./chroma_db:/app/chroma_db # ChromaDB storage
|
|
- ./history:/app/history # History db location
|
|
- .:/app # Server code. This allows to reload the app when the server code is updated
|
|
- ../mem0:/app/packages/mem0 # Mem0 library. This allows to reload the app when the library code is updated
|
|
command: uvicorn main:app --host 0.0.0.0 --port 8000 --reload # Enable auto-reload
|
|
environment:
|
|
- PYTHONDONTWRITEBYTECODE=1 # Prevents Python from writing .pyc files
|
|
- PYTHONUNBUFFERED=1 # Ensures Python output is sent straight to terminal
|
|
- CHROMA_DB_PATH=/app/chroma_db
|
|
- CHROMA_COLLECTION_NAME=memories
|
|
- SQLITE_DB_PATH=/app/graph_store.db
|
|
- OLLAMA_HOST=http://ollama:11434
|
|
- OLLAMA_LLM_MODEL=llama3.2
|
|
- OLLAMA_EMBEDDER_MODEL=nomic-embed-text
|
|
- HISTORY_DB_PATH=/app/history/history.db
|
|
depends_on:
|
|
ollama:
|
|
condition: service_healthy
|
|
|
|
ollama:
|
|
image: ollama/ollama:latest
|
|
container_name: ollama
|
|
restart: on-failure
|
|
networks:
|
|
- mem0_network
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:11434/api/tags"]
|
|
interval: 5s
|
|
timeout: 5s
|
|
retries: 10
|
|
start_period: 60s
|
|
volumes:
|
|
- ollama_data:/root/.ollama
|
|
ports:
|
|
- "11434:11434"
|
|
profiles: ["gpu"]
|
|
|
|
volumes:
|
|
ollama_data: {}
|
|
|
|
networks:
|
|
mem0_network:
|
|
driver: bridge |