docker-compose.external-observability.yaml 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. services:
  2. postgres:
  3. image: ${POSTGRES_IMAGE:-docker.1ms.run/library/postgres:16}
  4. container_name: maas-base-db
  5. restart: unless-stopped
  6. environment:
  7. POSTGRES_USER: gpustack
  8. POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-gpustack}
  9. POSTGRES_DB: gpustack
  10. volumes:
  11. - postgres-data:/var/lib/postgresql/data
  12. healthcheck:
  13. test: ["CMD-SHELL", "pg_isready -U gpustack"]
  14. interval: 5s
  15. timeout: 5s
  16. retries: 5
  17. maas-base-server:
  18. build:
  19. context: ..
  20. dockerfile: pack/Dockerfile
  21. container_name: maas-base-server
  22. restart: unless-stopped
  23. depends_on:
  24. postgres:
  25. condition: service_healthy
  26. environment:
  27. GPUSTACK_DATABASE_URL: postgresql://gpustack:${POSTGRES_PASSWORD:-gpustack}@postgres:5432/gpustack
  28. GPUSTACK_DISABLE_BUILTIN_OBSERVABILITY: "true"
  29. GPUSTACK_GRAFANA_URL: ${GPUSTACK_GRAFANA_URL:-}
  30. # SSO 统一认证平台配置
  31. GPUSTACK_SSO_BASE_URL: http://192.168.92.61:8200
  32. GPUSTACK_SSO_CLIENT_ID: ${GPUSTACK_SSO_CLIENT_ID}
  33. GPUSTACK_SSO_CLIENT_SECRET: ${GPUSTACK_SSO_CLIENT_SECRET}
  34. GPUSTACK_SSO_REDIRECT_URI: http://192.168.92.151:8080/auth/callback
  35. GPUSTACK_SSO_FRONTEND_URL: http://192.168.92.151:8080
  36. GPUSTACK_SSO_LOGOUT_REDIRECT_URL: http://192.168.92.61:9200/login
  37. # CORS
  38. GPUSTACK_ENABLE_CORS: "true"
  39. GPUSTACK_ALLOW_ORIGINS: '["http://192.168.92.151:8080"]'
  40. volumes:
  41. - maas-base-data:/var/lib/gpustack
  42. ports:
  43. - "80:80"
  44. - "10161:10161"
  45. prometheus:
  46. image: ${PROMETHEUS_IMAGE:-docker.1ms.run/prom/prometheus:latest}
  47. container_name: maas-base-prometheus
  48. restart: unless-stopped
  49. ports:
  50. - "9090:9090"
  51. command:
  52. - '--config.file=/etc/prometheus/prometheus.yml'
  53. - '--web.enable-remote-write-receiver'
  54. volumes:
  55. - ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml:ro
  56. - prom_data:/prometheus
  57. grafana:
  58. image: ${GRAFANA_IMAGE:-docker.1ms.run/grafana/grafana:latest}
  59. container_name: maas-base-grafana
  60. restart: unless-stopped
  61. ports:
  62. - "3100:3100"
  63. environment:
  64. GF_SERVER_HTTP_PORT: "3100"
  65. GF_SECURITY_ADMIN_USER: admin
  66. GF_SECURITY_ADMIN_PASSWORD: ${GRAFANA_PASSWORD:-grafana}
  67. GF_FEATURE_TOGGLES_ENABLE: flameGraph traceqlSearch traceQLStreaming correlations metricsSummary traceqlEditor traceToMetrics traceToProfiles
  68. volumes:
  69. - ./grafana/grafana_provisioning:/etc/grafana/provisioning:ro
  70. - ./grafana/grafana_dashboards:/etc/dashboards:ro
  71. volumes:
  72. postgres-data: {}
  73. prom_data: {}
  74. maas-base-data: {}