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