version: "3.8" services: mem0: build: context: . dockerfile: Dockerfile ports: - "8888:8000" env_file: - .env networks: - mem0_network volumes: - ./data/chroma_db:/app/data/chroma_db # ChromaDB storage - ./data/history:/app/data/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 depends_on: - ollama # 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