version: "3.8"

services:

  grafana:
    image: grafana/grafana
    ports:
      - "3000:3000"
    volumes:
      - ./data:/var/lib/grafana
    environment:
      - GF_SERVER_ROOT_URL=http://grafana.example.com:3000/
      - GF_SECURITY_ADMIN_USER=admin
      - GF_SECURITY_ADMIN_PASSWORD=admin
      - GF_SMTP_ENABLED=true
      - GF_SMTP_HOST=smtp.gmail.com:587
      - GF_SMTP_USER=grafana@example.com
      - GF_SMTP_FROM_ADDRESS=grafana@example.com
      - GF_SMTP_PASSWORD=******
      - GF_USERS_ALLOW_SIGN_UP=false
      - GF_ALERTING_ERROR_OR_TIMEOUT=keep_state
      - GF_RENDERING_SERVER_URL=http://renderer:8081/render
      - GF_RENDERING_CALLBACK_URL=http://grafana:3000/
    restart: unless-stopped

  renderer:
    image: grafana/grafana-image-renderer
    ports:
      - "8081:8081"
    environment:
      - ENABLE_METRICS=true
      - BROWSER_TZ=Asia/Shanghai
    restart: unless-stopped
