Spaces:
No application file
No application file
| services: | |
| neo4j: | |
| build: ./neo4j | |
| ports: | |
| - "7474:7474" | |
| - "7687:7687" | |
| environment: | |
| - NEO4J_AUTH=${NEO4J_AUTH} | |
| volumes: | |
| - ./neo4j/data:/data | |
| - ./neo4j/logs:/logs | |
| healthcheck: | |
| test: ["CMD", "cypher-shell", "-u", "neo4j", "-p", "password", "MATCH (n) RETURN count(n) LIMIT 1"] | |
| interval: 10s | |
| timeout: 5s | |
| retries: 5 | |
| networks: | |
| - agent-network | |
| mcp: | |
| build: ./mcp | |
| ports: | |
| - "8000:8000" | |
| environment: | |
| - NEO4J_BOLT_URL=${NEO4J_BOLT_URL} | |
| - NEO4J_AUTH=${NEO4J_AUTH} | |
| - MCP_API_KEYS=${MCP_API_KEYS} | |
| - MCP_PORT=${MCP_PORT} | |
| depends_on: | |
| neo4j: | |
| condition: service_healthy | |
| volumes: | |
| - ./mcp:/app | |
| - ./ops/scripts:/app/ops/scripts | |
| - ./data:/app/data | |
| command: uvicorn main:app --host 0.0.0.0 --port 8000 --reload | |
| healthcheck: | |
| test: ["CMD", "curl", "-f", "http://localhost:8000/health"] | |
| interval: 10s | |
| timeout: 5s | |
| retries: 5 | |
| networks: | |
| - agent-network | |
| agent: | |
| build: ./agent | |
| environment: | |
| - MCP_URL=http://mcp:8000/mcp | |
| - MCP_API_KEY=dev-key-123 | |
| - AGENT_POLL_INTERVAL=${AGENT_POLL_INTERVAL} | |
| - LLM_API_KEY=${LLM_API_KEY} | |
| depends_on: | |
| mcp: | |
| condition: service_healthy | |
| volumes: | |
| - ./agent:/app | |
| - ./data:/app/data | |
| command: python -u main.py | |
| restart: on-failure | |
| ports: | |
| - "8001:8001" | |
| networks: | |
| - agent-network | |
| streamlit: | |
| build: ./streamlit | |
| ports: | |
| - "8501:8501" | |
| environment: | |
| - AGENT_URL=http://agent:8001/query | |
| - MCP_URL=http://mcp:8000/mcp | |
| - MCP_API_KEY=dev-key-123 | |
| depends_on: | |
| mcp: | |
| condition: service_healthy | |
| volumes: | |
| - ./streamlit:/app | |
| networks: | |
| - agent-network | |
| networks: | |
| agent-network: | |
| driver: bridge |