services: app: build: . container_name: antigravity_brain ports: - "8000:8000" volumes: - .:/app environment: - PYTHONUNBUFFERED=1 env_file: - .env depends_on: qdrant: condition: service_started neo4j: condition: service_healthy networks: - antigravity_net # Optional: Local Vector DB if not using Mem0 SaaS qdrant: image: qdrant/qdrant container_name: antigravity_qdrant ports: - "6333:6333" volumes: - qdrant_data:/qdrant/storage networks: - antigravity_net # Graph Database for Relationship Mapping neo4j: image: neo4j:5.15 container_name: antigravity_neo4j ports: - "7474:7474" # Browser - "7687:7687" # Bolt environment: - NEO4J_AUTH=neo4j/${NEO4J_PASSWORD:-antigravity2024} - NEO4J_PLUGINS=["apoc"] - NEO4J_dbms_security_procedures_unrestricted=apoc.* - NEO4J_dbms_security_procedures_allowlist=apoc.* volumes: - neo4j_data:/data - neo4j_logs:/logs networks: - antigravity_net healthcheck: test: ["CMD-SHELL", "wget --no-verbose --tries=1 --spider http://localhost:7474 || exit 1"] interval: 10s timeout: 5s retries: 5 start_period: 30s # Telegram Listener Service (Runs the bot in background) telegram_listener: build: . container_name: antigravity_listener command: python src/integrations/telegram_bot.py volumes: - .:/app env_file: - .env depends_on: - app networks: - antigravity_net volumes: qdrant_data: neo4j_data: neo4j_logs: networks: antigravity_net: driver: bridge