| |
| |
|
|
| version: '3.8' |
|
|
| services: |
| |
| kiro-gateway: |
| build: |
| context: .. |
| dockerfile: Dockerfile |
| container_name: kiro-gateway |
| ports: |
| - "8000:8000" |
| environment: |
| - PROXY_API_KEY=${PROXY_API_KEY:-my-super-secret-password-123} |
| - METRICS_ENABLED=true |
| - LOAD_BALANCER_ENABLED=${LOAD_BALANCER_ENABLED:-false} |
| - LOAD_BALANCER_STRATEGY=${LOAD_BALANCER_STRATEGY:-round_robin} |
| env_file: |
| - ../.env |
| volumes: |
| |
| - ${HOME}/.aws/sso/cache:/home/kiro/.aws/sso/cache:ro |
| |
| - ../debug_logs:/app/debug_logs |
| |
| - ../accounts.json:/app/accounts.json:ro |
| healthcheck: |
| test: ["CMD", "curl", "-f", "http://localhost:8000/health"] |
| interval: 30s |
| timeout: 10s |
| retries: 3 |
| networks: |
| - kiro-network |
| restart: unless-stopped |
|
|
| |
| dashboard: |
| build: |
| context: .. |
| dockerfile: docker/Dockerfile.dashboard |
| container_name: kiro-dashboard |
| ports: |
| - "3000:3000" |
| environment: |
| - NEXT_PUBLIC_API_URL=http://kiro-gateway:8000 |
| - DASHBOARD_API_KEY=${PROXY_API_KEY:-my-super-secret-password-123} |
| depends_on: |
| - kiro-gateway |
| networks: |
| - kiro-network |
| restart: unless-stopped |
|
|
| |
| prometheus: |
| image: prom/prometheus:v2.48.0 |
| container_name: kiro-prometheus |
| ports: |
| - "9090:9090" |
| volumes: |
| - ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml:ro |
| - prometheus-data:/prometheus |
| command: |
| - '--config.file=/etc/prometheus/prometheus.yml' |
| - '--storage.tsdb.path=/prometheus' |
| - '--web.console.libraries=/usr/share/prometheus/console_libraries' |
| - '--web.console.templates=/usr/share/prometheus/consoles' |
| - '--web.enable-lifecycle' |
| - '--storage.tsdb.retention.time=30d' |
| depends_on: |
| - kiro-gateway |
| networks: |
| - kiro-network |
| restart: unless-stopped |
|
|
| |
| grafana: |
| image: grafana/grafana:10.2.0 |
| container_name: kiro-grafana |
| ports: |
| - "3001:3000" |
| environment: |
| - GF_SECURITY_ADMIN_USER=admin |
| - GF_SECURITY_ADMIN_PASSWORD=${GRAFANA_PASSWORD:-admin} |
| - GF_USERS_ALLOW_SIGN_UP=false |
| volumes: |
| - grafana-data:/var/lib/grafana |
| - ./grafana/provisioning:/etc/grafana/provisioning:ro |
| depends_on: |
| - prometheus |
| networks: |
| - kiro-network |
| restart: unless-stopped |
|
|
| networks: |
| kiro-network: |
| driver: bridge |
|
|
| volumes: |
| prometheus-data: |
| grafana-data: |
|
|