version: "3"

networks:
  public: {}

volumes:
  grafana_data: {}
  prometheus_data: {}
  
services:
  prometheus:
    image: prom/prometheus
    ports:
      - "9990:9090"
    networks:
      - public
    volumes:
      - prometheus_data:/prometheus
      - ./prometheus/:/etc/prometheus/
    command:
      - '--config.file=/etc/prometheus/prometheus.yml'
    depends_on:
      - snmp-exporter

  snmp-exporter:
    image: prom/snmp-exporter
    volumes:
      - ./snmp_generator/snmp.yml:/etc/snmp_exporter/snmp.yml
    networks:
      - public
    ports:
      - "9116:9116"
  grafana:
    image: grafana/grafana
    ports:
      - "3110:3000"
    networks:
      - public
    volumes:
      - grafana_data:/var/lib/grafana
      - ./grafana/provisioning/:/etc/grafana/provisioning/
    depends_on:
      - prometheus
    environment:
      GF_SECURITY_ADMIN_PASSWORD: ${GF_SECURITY_ADMIN_PASSWORD}
      GF_USERS_ALLOW_SIGN_UP: "false"


