docker-compose.yaml 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. version: "2.1"
  2. services:
  3. nginx-proxy:
  4. image: jwilder/nginx-proxy
  5. ports:
  6. - "80:80"
  7. volumes:
  8. - /var/run/docker.sock:/tmp/docker.sock:ro
  9. db:
  10. image: mysql:5.6
  11. environment:
  12. MYSQL_ROOT_PASSWORD: rootpass
  13. MYSQL_DATABASE: grafana
  14. MYSQL_USER: grafana
  15. MYSQL_PASSWORD: password
  16. command: [mysqld, --character-set-server=utf8mb4, --collation-server=utf8mb4_unicode_ci, --innodb_monitor_enable=all, --max-connections=1001]
  17. ports:
  18. - 3306
  19. healthcheck:
  20. test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost"]
  21. timeout: 10s
  22. retries: 10
  23. mysqld-exporter:
  24. image: prom/mysqld-exporter
  25. environment:
  26. - DATA_SOURCE_NAME=root:rootpass@(db:3306)/
  27. ports:
  28. - 9104
  29. depends_on:
  30. db:
  31. condition: service_healthy
  32. # db:
  33. # image: postgres:9.3
  34. # environment:
  35. # POSTGRES_DATABASE: grafana
  36. # POSTGRES_USER: grafana
  37. # POSTGRES_PASSWORD: password
  38. # ports:
  39. # - 5432
  40. # healthcheck:
  41. # test: ["CMD-SHELL", "pg_isready -d grafana -U grafana"]
  42. # timeout: 10s
  43. # retries: 10
  44. grafana:
  45. image: grafana/grafana:dev
  46. volumes:
  47. - ./grafana/provisioning/:/etc/grafana/provisioning/
  48. environment:
  49. - VIRTUAL_HOST=grafana.loc
  50. - GF_SERVER_ROOT_URL=http://grafana.loc
  51. - GF_DATABASE_NAME=grafana
  52. - GF_DATABASE_USER=grafana
  53. - GF_DATABASE_PASSWORD=password
  54. - GF_DATABASE_TYPE=mysql
  55. - GF_DATABASE_HOST=db:3306
  56. - GF_DATABASE_MAX_OPEN_CONN=300
  57. - GF_SESSION_PROVIDER=mysql
  58. - GF_SESSION_PROVIDER_CONFIG=grafana:password@tcp(db:3306)/grafana?allowNativePasswords=true
  59. # - GF_DATABASE_TYPE=postgres
  60. # - GF_DATABASE_HOST=db:5432
  61. # - GF_DATABASE_SSL_MODE=disable
  62. # - GF_SESSION_PROVIDER=postgres
  63. # - GF_SESSION_PROVIDER_CONFIG=user=grafana password=password host=db port=5432 dbname=grafana sslmode=disable
  64. - GF_LOG_FILTERS=alerting.notifier:debug,alerting.notifier.slack:debug,auth:debug
  65. - GF_AUTH_TOKEN_ROTATION_INTERVAL_MINUTES=2
  66. ports:
  67. - 3000
  68. depends_on:
  69. db:
  70. condition: service_healthy
  71. prometheus:
  72. image: prom/prometheus:v2.4.2
  73. volumes:
  74. - ./prometheus/:/etc/prometheus/
  75. environment:
  76. - VIRTUAL_HOST=prometheus.loc
  77. ports:
  78. - 9090