version: "3.9"
services:
  grafana:
    image: grafana/grafana:latest
    container_name: Grafana
    hostname: grafana
    networks:
      - sp_monitoring
    mem_limit: 512m
    cpu_shares: 512
    security_opt:
      - no-new-privileges:true
    user: 1026:100
    healthcheck:
      test: wget --no-verbose --tries=1 --spider http://localhost:3000/api/health
    ports:
      - 3340:3000
    volumes:
      - /volume1/docker/grafana/data:/var/lib/grafana:rw
    environment:
      TZ: America/Toronto
      GF_INSTALL_PLUGINS: grafana-clock-panel,grafana-simple-json-datasource,natel-discrete-panel,grafana-piechart-panel
    restart: on-failure:5

  influxdb:
    image: influxdb:2.7
    container_name: InfluxDB
    hostname: influxdb
    ports:
      - 8086:8086
    volumes:
      - /volume1/docker/influxdb/data:/var/lib/influxdb2
      - /volume1/docker/influxdb/config:/etc/influxdb2
    networks:
      - sp_monitoring
    environment:
      DOCKER_INFLUXDB_INIT_MODE: setup
      DOCKER_INFLUXDB_INIT_USERNAME: <your user>
      DOCKER_INFLUXDB_INIT_PASSWORD: <your password>
      DOCKER_INFLUXDB_INIT_ORG: my-org
      DOCKER_INFLUXDB_INIT_BUCKET: speedtracker-bucket
      DOCKER_INFLUXDB_INIT_RETENTION: 52w
      DOCKER_INFLUXDB_INIT_ADMIN_TOKEN: <your token>

networks:
  sp_monitoring:
    name: sp_monitoring