docker-compose.yml 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. version: '3.8'
  2. services:
  3. telemetry-server:
  4. build:
  5. context: ../
  6. dockerfile: telemetry/server/Dockerfile
  7. ports:
  8. - "8080:8080"
  9. command: [
  10. "./telemetry-server",
  11. "-port=8080",
  12. "-dashboard=false", # Disable built-in dashboard, use Grafana
  13. "-log=true",
  14. "-cors=true"
  15. ]
  16. networks:
  17. - telemetry
  18. prometheus:
  19. image: prom/prometheus:latest
  20. ports:
  21. - "9090:9090"
  22. volumes:
  23. - ./prometheus.yml:/etc/prometheus/prometheus.yml
  24. - prometheus_data:/prometheus
  25. command:
  26. - '--config.file=/etc/prometheus/prometheus.yml'
  27. - '--storage.tsdb.path=/prometheus'
  28. - '--web.console.libraries=/etc/prometheus/console_libraries'
  29. - '--web.console.templates=/etc/prometheus/consoles'
  30. - '--storage.tsdb.retention.time=200h'
  31. - '--web.enable-lifecycle'
  32. networks:
  33. - telemetry
  34. grafana:
  35. image: grafana/grafana:latest
  36. ports:
  37. - "3000:3000"
  38. environment:
  39. - GF_SECURITY_ADMIN_PASSWORD=admin
  40. - GF_USERS_ALLOW_SIGN_UP=false
  41. volumes:
  42. - grafana_data:/var/lib/grafana
  43. - ./grafana-dashboard.json:/var/lib/grafana/dashboards/seaweedfs-telemetry.json
  44. - ./grafana-provisioning:/etc/grafana/provisioning
  45. networks:
  46. - telemetry
  47. volumes:
  48. prometheus_data:
  49. grafana_data:
  50. networks:
  51. telemetry:
  52. driver: bridge