homelab/fighter/config/monitoring/docker-compose.yml
Joey Hafner 993c23a995
Some checks failed
Deploy to Druid / Deploy (push) Has been cancelled
Deploy to Druid / Notify (push) Has been cancelled
#128 Fix secret leak, document better configuration procedure
2024-06-25 12:19:58 -07:00

92 lines
2.5 KiB
YAML

version: '3.9'
services:
grafana:
image: grafana/grafana-oss:latest
container_name: monitoring_grafana
restart: "no"
networks:
- monitoring
- web
user: "0"
volumes:
- ${DOCKER_DATA}/grafana:/var/lib/grafana
- ${DOCKER_DATA}/custom.ini:/etc/grafana/grafana.ini
labels:
- traefik.http.routers.grafana.rule=Host(`grafana.jafner.net`)
- traefik.http.routers.grafana.tls.certresolver=lets-encrypt
- traefik.http.routers.grafana.tls.options=tls12@file
- traefik.http.routers.grafana.middlewares=securityheaders@file
prometheus:
image: prom/prometheus:latest
container_name: monitoring_prometheus
user: 1001:1001
networks:
- monitoring
- web
ports:
- 9090:9090
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml
- ${DOCKER_DATA}/prometheus:/prometheus
restart: "no"
command:
- "--config.file=/etc/prometheus/prometheus.yml"
labels:
- traefik.http.routers.prometheus-monitoring.rule=Host(`prometheus.jafner.net`)
- traefik.http.routers.prometheus-monitoring.tls.certresolver=lets-encrypt
- traefik.http.routers.prometheus-monitoring.middlewares=traefik-forward-auth-privileged@file
exporter-ping:
image: czerwonk/ping_exporter
container_name: monitoring_exporter-ping
restart: "no"
networks:
- monitoring
volumes:
- ./exporter-ping/config.yml:/config/config.yml
exporter-docker:
image: prometheusnet/docker_exporter
container_name: monitoring_exporter-docker
restart: "no"
networks:
- monitoring
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
labels:
- traefik.enable=false
exporter-pihole:
image: ekofr/pihole-exporter:latest
container_name: monitoring_exporter-pihole
env_file:
- path: ./exporter-pihole.env
required: true
- path: ./exporter-pihole_secrets.env
required: false
restart: "no"
networks:
- monitoring
labels:
- traefik.enable=false
uptime-kuma:
image: louislam/uptime-kuma:1
container_name: monitoring_uptime-kuma
restart: "no"
volumes:
- $DOCKER_DATA/uptime-kuma:/app/data
- /var/run/docker.sock:/var/run/docker.sock
networks:
- web
labels:
- traefik.http.routers.uptime-kuma.rule=Host(`uptime.jafner.net`)
- traefik.http.routers.uptime-kuma.tls.certresolver=lets-encrypt
networks:
monitoring:
external: true
web:
external: true