JimsGarage/Grafana-Monitoring/docker-compose.yaml

75 lines
2.3 KiB
YAML

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