version: '3.8' services: prometheus: image: prom/prometheus:latest container_name: prometheus restart: unless-stopped volumes: - ./prometheus.yml:/etc/prometheus/prometheus.yml - prometheus_data:/prometheus command: - '--config.file=/etc/prometheus/prometheus.yml' - '--storage.tsdb.path=/prometheus' - '--storage.tsdb.retention.time=90d' ports: - "127.0.0.1:9090:9090" deploy: resources: limits: cpus: '1' memory: 1G logging: driver: json-file options: max-size: "10m" max-file: "3" grafana: image: grafana/grafana:latest container_name: grafana restart: unless-stopped depends_on: - prometheus volumes: - grafana_data:/var/lib/grafana - ./grafana-provisioning:/etc/grafana/provisioning environment: - GF_SECURITY_ADMIN_USER=admin - GF_SECURITY_ADMIN_PASSWORD=ITProPartnerMonitor! - GF_INSTALL_PLUGINS= ports: - "127.0.0.1:3002:3000" deploy: resources: limits: cpus: '1' memory: 512M logging: driver: json-file options: max-size: "10m" max-file: "3" volumes: prometheus_data: grafana_data: