version: "3" services: loki: container_name: loki image: grafana/loki:main networks: - grafana-monitoring volumes: - /home/ubuntu/docker/grafana-monitoring/loki:/etc/loki ports: - "3100:3100" restart: unless-stopped command: -config.file=/etc/loki/loki-config.yml promtail: container_name: promtail image: grafana/promtail:main networks: - grafana-monitoring volumes: - /var/log:/var/log - /home/ubuntu/docker/grafana-monitoring/promtail:/etc/promtail ports: - "1514:1514" # this is only needed if you are going to send syslogs restart: unless-stopped command: -config.file=/etc/promtail/promtail-config.yml grafana: container_name: grafana image: grafana/grafana-oss:main-ubuntu user: "0" networks: - grafana-monitoring - proxy volumes: - /home/ubuntu/docker/grafana-monitoring/grafana:/var/lib/grafana restart: unless-stopped labels: - "traefik.enable=true" - "traefik.http.routers.grafana.entrypoints=http" - "traefik.http.routers.grafana.rule=Host(`grafana.jimsgarage.co.uk`)" - "traefik.http.routers.grafana.middlewares=default-whitelist@file" - "traefik.http.middlewares.grafana-https-redirect.redirectscheme.scheme=https" - "traefik.http.routers.grafana.middlewares=grafana-https-redirect" - "traefik.http.routers.grafana-secure.entrypoints=https" - "traefik.http.routers.grafana-secure.rule=Host(`grafana.jimsgarage.co.uk`)" - "traefik.http.routers.grafana-secure.tls=true" - "traefik.http.routers.grafana-secure.service=grafana" - "traefik.http.services.grafana.loadbalancer.server.port=3000" - "traefik.docker.network=proxy" influxdb: container_name: influxdb image: influxdb:latest restart: unless-stopped ports: - 8086:8086 - 8089:8089/udp networks: - grafana-monitoring volumes: - /home/ubuntu/docker/grafana-monitoring/influxdb:/var/lib/influxdb2 prometheus: image: prom/prometheus container_name: prometheus restart: unless-stopped ports: - 9090:9090 volumes: - /home/ubuntu/docker/grafana-monitoring/prometheus/config/prometheus.yml:/etc/prometheus/prometheus.yml networks: - grafana-monitoring networks: grafana-monitoring: proxy: external: true