| services: | |
| gateway: | |
| build: . | |
| command: uvicorn mcp_gateway:app --host 0.0.0.0 --port 8000 | |
| ports: | |
| - "8000:8000" | |
| environment: | |
| - TAVILY_MCP_URL=http://tavily:8001/research | |
| - ALPHAVANTAGE_MCP_URL=http://alphavantage:8002/market_data | |
| - PRIVATE_MCP_URL=http://portfolio:8003/portfolio_data | |
| - TAVILY_API_KEY=${TAVILY_API_KEY} | |
| - ALPHA_VANTAGE_API_KEY=${ALPHA_VANTAGE_API_KEY} | |
| - GOOGLE_API_KEY=${GOOGLE_API_KEY} | |
| networks: | |
| - aegis-net | |
| tavily: | |
| build: . | |
| command: uvicorn tavily_mcp:app --host 0.0.0.0 --port 8001 | |
| ports: | |
| - "8001:8001" | |
| environment: | |
| - TAVILY_API_KEY=${TAVILY_API_KEY} | |
| networks: | |
| - aegis-net | |
| alphavantage: | |
| build: . | |
| command: uvicorn alphavantage_mcp:app --host 0.0.0.0 --port 8002 | |
| ports: | |
| - "8002:8002" | |
| environment: | |
| - ALPHA_VANTAGE_API_KEY=${ALPHA_VANTAGE_API_KEY} | |
| networks: | |
| - aegis-net | |
| portfolio: | |
| build: . | |
| command: uvicorn private_mcp:app --host 0.0.0.0 --port 8003 | |
| ports: | |
| - "8003:8003" | |
| volumes: | |
| - ./portfolio.db:/app/portfolio.db | |
| networks: | |
| - aegis-net | |
| monitor: | |
| build: . | |
| command: python monitor.py | |
| environment: | |
| - MCP_GATEWAY_URL=http://gateway:8000/route_agent_request | |
| - TAVILY_API_KEY=${TAVILY_API_KEY} | |
| - ALPHA_VANTAGE_API_KEY=${ALPHA_VANTAGE_API_KEY} | |
| depends_on: | |
| - gateway | |
| networks: | |
| - aegis-net | |
| frontend: | |
| build: . | |
| command: streamlit run app.py --server.port 8501 --server.address 0.0.0.0 | |
| ports: | |
| - "8501:8501" | |
| environment: | |
| - MCP_GATEWAY_URL=http://gateway:8000/route_agent_request | |
| - GOOGLE_API_KEY=${GOOGLE_API_KEY} | |
| depends_on: | |
| - gateway | |
| networks: | |
| - aegis-net | |
| networks: | |
| aegis-net: | |
| driver: bridge | |