mirror of
https://github.com/JamesTurland/JimsGarage.git
synced 2024-11-21 23:40:19 +00:00
109 lines
3.7 KiB
YAML
109 lines
3.7 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
|
|
telegraf:
|
|
container_name: telegraf
|
|
restart: unless-stopped
|
|
user: telegraf:995 #you need to find the GID of Docker if not added to Sudo group
|
|
networks:
|
|
- grafana-monitoring
|
|
volumes:
|
|
- '/home/ubuntu/docker/grafana-monitoring/telegraf/telegraf.conf:/etc/telegraf/telegraf.conf:ro'
|
|
- '/:/hostfs:ro' # to monitor docker-vm
|
|
- '/var/run/docker.sock:/var/run/docker.sock' # to monitor docker containers
|
|
- '/home/ubuntu/docker/grafana-monitoring/telegraf/mibs:/usr/share/snmp/mibs' # mibs files [e.g., sophos]
|
|
environment:
|
|
- HOST_ETC=/hostfs/etc
|
|
- HOST_PROC=/hostfs/proc
|
|
- HOST_SYS=/hostfs/sys
|
|
- HOST_VAR=/hostfs/var
|
|
- HOST_RUN=/hostfs/run
|
|
- HOST_MOUNT_PREFIX=/hostfs
|
|
image: telegraf:latest
|
|
graphite:
|
|
image: graphiteapp/graphite-statsd
|
|
container_name: graphite
|
|
restart: unless-stopped
|
|
ports:
|
|
- 8050:80 # nginx
|
|
- 2003-2004 # carbon receiver - plaintext & pickle
|
|
- 2023-2024 # carbon aggregator - plaintext & pickle
|
|
- 8125:8125/udp # statsd
|
|
- 8126:8126 # statsd admin
|
|
volumes:
|
|
- /home/ubuntu/docker/grafana-monitoring/graphite/configs:/opt/graphite/conf
|
|
- /home/ubuntu/docker/grafana-monitoring/graphite/data:/opt/graphite/storage
|
|
- /home/ubuntu/docker/grafana-monitoring/graphite/statsd_config:/opt/statsd/config
|
|
networks:
|
|
- grafana-monitoring
|
|
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
|