Spaces:
Build error
Build error
| version: '3.8' | |
| services: | |
| # Multi-Agent Platform API Server | |
| api-server: | |
| build: . | |
| ports: | |
| - "8000:8000" | |
| environment: | |
| - REDIS_URL=redis://redis:6379 | |
| - DATABASE_URL=${DATABASE_URL} | |
| - SUPABASE_URL=${SUPABASE_URL} | |
| - SUPABASE_KEY=${SUPABASE_KEY} | |
| depends_on: | |
| - redis | |
| - postgres | |
| volumes: | |
| - ./logs:/app/logs | |
| restart: unless-stopped | |
| networks: | |
| - agent-network | |
| # Redis for caching and WebSocket management | |
| redis: | |
| image: redis:7-alpine | |
| ports: | |
| - "6379:6379" | |
| volumes: | |
| - redis_data:/data | |
| command: redis-server --appendonly yes | |
| restart: unless-stopped | |
| networks: | |
| - agent-network | |
| # PostgreSQL database | |
| postgres: | |
| image: postgres:15-alpine | |
| environment: | |
| - POSTGRES_DB=agent_platform | |
| - POSTGRES_USER=agent_user | |
| - POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-agent_password} | |
| ports: | |
| - "5432:5432" | |
| volumes: | |
| - postgres_data:/var/lib/postgresql/data | |
| restart: unless-stopped | |
| networks: | |
| - agent-network | |
| # Prometheus for metrics collection | |
| prometheus: | |
| image: prom/prometheus:latest | |
| ports: | |
| - "9090:9090" | |
| volumes: | |
| - ./monitoring/prometheus.yml:/etc/prometheus/prometheus.yml | |
| - prometheus_data:/prometheus | |
| command: | |
| - '--config.file=/etc/prometheus/prometheus.yml' | |
| - '--storage.tsdb.path=/prometheus' | |
| - '--web.console.libraries=/etc/prometheus/console_libraries' | |
| - '--web.console.templates=/etc/prometheus/consoles' | |
| - '--storage.tsdb.retention.time=200h' | |
| - '--web.enable-lifecycle' | |
| restart: unless-stopped | |
| networks: | |
| - agent-network | |
| # Grafana for visualization | |
| grafana: | |
| image: grafana/grafana:latest | |
| ports: | |
| - "3000:3000" | |
| environment: | |
| - GF_SECURITY_ADMIN_PASSWORD=${GRAFANA_PASSWORD:-admin} | |
| volumes: | |
| - grafana_data:/var/lib/grafana | |
| - ./monitoring/grafana/datasources:/etc/grafana/provisioning/datasources | |
| - ./monitoring/grafana/dashboards:/etc/grafana/provisioning/dashboards | |
| depends_on: | |
| - prometheus | |
| restart: unless-stopped | |
| networks: | |
| - agent-network | |
| # Nginx reverse proxy | |
| nginx: | |
| image: nginx:alpine | |
| ports: | |
| - "80:80" | |
| - "443:443" | |
| volumes: | |
| - ./nginx/nginx.conf:/etc/nginx/nginx.conf | |
| - ./nginx/ssl:/etc/nginx/ssl | |
| depends_on: | |
| - api-server | |
| restart: unless-stopped | |
| networks: | |
| - agent-network | |
| # Jaeger for distributed tracing | |
| jaeger: | |
| image: jaegertracing/all-in-one:latest | |
| ports: | |
| - "16686:16686" | |
| - "14268:14268" | |
| environment: | |
| - COLLECTOR_OTLP_ENABLED=true | |
| restart: unless-stopped | |
| networks: | |
| - agent-network | |
| volumes: | |
| redis_data: | |
| postgres_data: | |
| prometheus_data: | |
| grafana_data: | |
| networks: | |
| agent-network: | |
| driver: bridge |