services: memgraph: image: memgraph/memgraph-platform:latest container_name: cyborg-memgraph restart: unless-stopped ports: - "7687:7687" # Bolt (Neo4j-compatible) - "7444:7444" # HTTP API volumes: - memgraph-data:/var/lib/memgraph command: > --log-level=INFO --initial-memory-capacity-percentage=80 --query-memory-limit-enabled=false ulimits: nofile: 65536 networks: - cyborg-net qdrant: image: qdrant/qdrant:latest container_name: cyborg-qdrant restart: unless-stopped ports: - "6333:6333" # REST API - "6334:6334" # gRPC volumes: - qdrant-data:/qdrant/storage environment: - QDRANT_SERVICE_NAME=qdrant ulimits: nofile: 65536 networks: - cyborg-net ollama: image: ollama/ollama:latest container_name: cyborg-ollama restart: unless-stopped ports: - "11434:11434" volumes: - ollama-data:/root/.ollama environment: - OLLAMA_HOST=0.0.0.0 - OLLAMA_NUM_THREADS=8 - OLLAMA_CONTEXT_LENGTH=4096 - OLLAMA_MAX_LOADED_MODELS=1 command: > serve ulimits: memlock: -1 deploy: resources: limits: memory: 8G networks: - cyborg-net worker: build: context: ./worker dockerfile: Dockerfile container_name: cyborg-worker restart: unless-stopped volumes: - ./worker:/app environment: - MEMGRAPH_URI=bolt://memgraph:7687 - QDRANT_URL=http://qdrant:6333 - OLLAMA_URL=http://ollama:11434 - OLLAMA_MODEL=qwen2.5:7b - MEM0_VECTOR_STORE=qdrant - MEM0_GRAPH_STORE=memgraph depends_on: - memgraph - qdrant - ollama deploy: resources: limits: memory: 4G networks: - cyborg-net volumes: memgraph-data: qdrant-data: ollama-data: networks: cyborg-net: driver: bridge