version: "2.1" services: nginx-proxy: image: jwilder/nginx-proxy ports: - "80:80" volumes: - /var/run/docker.sock:/tmp/docker.sock:ro depends_on: db: condition: service_healthy logging: driver: "fluentd" options: tag: nginx db: image: mysql:5.6 environment: MYSQL_ROOT_PASSWORD: rootpass MYSQL_DATABASE: grafana MYSQL_USER: grafana MYSQL_PASSWORD: password command: [mysqld, --character-set-server=utf8mb4, --collation-server=utf8mb4_unicode_ci, --innodb_monitor_enable=all, --max-connections=1001] ports: - 3306 healthcheck: test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost"] timeout: 10s retries: 10 mysqld-exporter: image: prom/mysqld-exporter environment: - DATA_SOURCE_NAME=root:rootpass@(db:3306)/ ports: - 9104 depends_on: db: condition: service_healthy # db: # image: postgres:9.3 # environment: # POSTGRES_DATABASE: grafana # POSTGRES_USER: grafana # POSTGRES_PASSWORD: password # ports: # - 5432 # healthcheck: # test: ["CMD-SHELL", "pg_isready -d grafana -U grafana"] # timeout: 10s # retries: 10 grafana: image: grafana/grafana:dev volumes: - ./grafana/provisioning/:/etc/grafana/provisioning/ environment: - VIRTUAL_HOST=grafana.loc - GF_SERVER_ROOT_URL=http://grafana.loc - GF_DATABASE_NAME=grafana - GF_DATABASE_USER=grafana - GF_DATABASE_PASSWORD=password - GF_DATABASE_TYPE=mysql - GF_DATABASE_HOST=db:3306 - GF_DATABASE_MAX_OPEN_CONN=300 - GF_SESSION_PROVIDER=mysql - GF_SESSION_PROVIDER_CONFIG=grafana:password@tcp(db:3306)/grafana?allowNativePasswords=true # - GF_DATABASE_TYPE=postgres # - GF_DATABASE_HOST=db:5432 # - GF_DATABASE_SSL_MODE=disable # - GF_SESSION_PROVIDER=postgres # - GF_SESSION_PROVIDER_CONFIG=user=grafana password=password host=db port=5432 dbname=grafana sslmode=disable - GF_SERVER_ROUTER_LOGGING=true - GF_LOG_CONSOLE_FORMAT=json - GF_LOG_FILTERS=alerting.notifier:debug,alerting.notifier.slack:debug,auth:debug - GF_AUTH_TOKEN_ROTATION_INTERVAL_MINUTES=2 ports: - 3000 depends_on: db: condition: service_healthy logging: driver: "fluentd" options: tag: grafana prometheus: image: prom/prometheus:v2.4.2 volumes: - ./prometheus/:/etc/prometheus/ environment: - VIRTUAL_HOST=prometheus.loc ports: - 9090 loki: image: grafana/loki:master environment: - VIRTUAL_HOST=loki.loc ports: - 3100 command: -config.file=/etc/loki/local-config.yaml fluentd: image: grafana/fluent-plugin-loki:master volumes: - ./fluentd/fluentd.conf:/fluentd/etc/fluentd.conf links: - loki ports: - "24224:24224" - "24224:24224/udp"