docker-compose.yml•1.42 kB
version: '3.8'
services:
  intersight-mcp-http:
    build: .
    container_name: intersight-mcp-http
    ports:
      - "3000:3000"
    environment:
      # Intersight API Configuration
      - INTERSIGHT_API_KEY_ID=${INTERSIGHT_API_KEY_ID}
      - INTERSIGHT_PRIVATE_KEY_PATH=/app/secrets/private_key.pem
      - INTERSIGHT_BASE_URL=${INTERSIGHT_BASE_URL:-https://intersight.com}
      # Optional: Custom port
      - PORT=3000
    volumes:
      # Mount your private key file
      - ./auth:/app/secrets:ro
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:3000/health"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 40s
    restart: unless-stopped
    networks:
      - intersight-network
  # Optional: Nginx reverse proxy for production
  nginx:
    image: nginx:alpine
    container_name: intersight-mcp-nginx
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf:ro
      - ./ssl:/etc/nginx/ssl:ro
    depends_on:
      - intersight-mcp-http
    networks:
      - intersight-network
    profiles:
      - production
networks:
  intersight-network:
    driver: bridge
# Example usage:
# 1. Copy your Intersight private key to ./auth/private_key.pem
# 2. Create .env file with INTERSIGHT_API_KEY_ID=your_key_id
# 3. Run: docker-compose up -d
# 4. For production with SSL: docker-compose --profile production up -d