This document details the infrastructure setup, service orchestration, and networking of the Axon MCP Server, based on the docker-compose.yml and nginx.conf configurations.
The system is composed of the following containerized services, orchestrating via Docker Compose on the axon-network.
graph TD
User[User / Browser] -->|HTTP :80| UI[UI (Nginx + React)]
User -->|HTTP :8001| MCP[MCP Server]
subgraph "Docker Network (axon-network)"
UI -->|/api/*| API[API Server :8080]
API --> DB[(PostgreSQL :5432)]
API --> Redis[(Redis :6379)]
MCP --> DB
MCP --> Redis
Worker[Celery Worker] --> DB
Worker --> Redis
Beat[Celery Beat] --> Redis
Prometheus -->|Scrape| API
Prometheus -->|Scrape| PostgresExp[Postgres Exporter]
Prometheus -->|Scrape| RedisExp[Redis Exporter]
Grafana -->|Query| Prometheus
end
ui)axon-ui:80.ui/nginx.conf/usr/share/nginx/html./api/* to the backend service http://api:8080.index.html to support client-side routing.api)axon-api:8080, Exposed :8080.uvicorn src.api.main:apppostgres and redis to be healthy.DATABASE_URL: Connection to Postgres container.REDIS_URL: Connection to Redis container.mcp-server)axon-mcp-server:8001.worker): Executes async tasks (repo syncing, parsing, embedding).
repository_sync, file_parsing, embeddings, default.beat): Scheduler for periodic tasks.postgres):
pgvector/pgvector:pg15 (Supports vector similarity search).postgres_data (Persistent storage).redis):
redis:7-alpine.:3000).axon-network (Bridge driver).api, postgres, redis).docker/docker-compose.yml - Defines the entire stack.ui/nginx.conf - Defines frontend routing and API reverse proxying.