homelab/server/config/monitoring/docker-compose.yml

189 lines
5.0 KiB
YAML
Raw Normal View History

2022-02-08 17:00:27 -08:00
version: '3'
services:
grafana:
image: grafana/grafana-oss:latest
container_name: monitoring_grafana
logging:
driver: loki
options:
loki-url: http://localhost:3100/loki/api/v1/push
loki-batch-size: "50"
loki-retries: "1"
loki-timeout: "2s"
2022-07-14 15:22:44 -07:00
keep-file: "true"
restart: "no"
networks:
- monitoring
- web
user: "0"
volumes:
- ${DOCKER_DATA}/grafana:/var/lib/grafana
- ./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.middlewares=authelia@file
prometheus:
image: prom/prometheus:latest
container_name: monitoring_prometheus
2022-07-15 18:16:54 -07:00
user: 1000:1000
logging:
driver: loki
options:
loki-url: http://localhost:3100/loki/api/v1/push
loki-batch-size: "50"
loki-retries: "1"
loki-timeout: "2s"
2022-07-14 15:22:44 -07:00
keep-file: "true"
networks:
- monitoring
- web
ports:
2022-07-15 18:27:29 -07:00
- 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=
loki:
image: grafana/loki:2.5.0
container_name: monitoring_loki
2022-07-15 00:02:56 -07:00
user: 1000:1000
logging:
driver: loki
options:
loki-url: http://localhost:3100/loki/api/v1/push
loki-batch-size: "50"
loki-retries: "1"
loki-timeout: "2s"
2022-07-14 15:22:44 -07:00
keep-file: "true"
networks:
- monitoring
- web
ports:
- "3100:3100"
volumes:
2022-07-14 14:10:08 -07:00
- ${DOCKER_DATA}/loki-logs:/loki-logs
- ./loki-config.yml:/etc/loki/loki-config.yml # not sure if this works. If not, just edit the config within the data volume
restart: "no"
command: -config.file=/etc/loki/loki-config.yml
labels:
- traefik.http.routers.loki.rule=Host(`loki.jafner.net`)
- traefik.http.routers.loki.tls.certresolver=lets-encrypt
2022-07-07 23:12:57 -07:00
2022-07-15 18:09:25 -07:00
exporter-pihole:
image: ekofr/pihole-exporter:latest
2022-07-15 18:09:25 -07:00
container_name: monitoring_exporter-pihole
logging:
driver: loki
options:
loki-url: http://localhost:3100/loki/api/v1/push
loki-batch-size: "50"
loki-retries: "1"
loki-timeout: "2s"
2022-07-14 15:22:44 -07:00
keep-file: "true"
restart: "no"
networks:
- monitoring
environment:
- PIHOLE_HOSTNAME=pihole
- PIHOLE_PROTOCOL=http
2022-07-14 00:07:54 -07:00
- INTERVAL=15s
- PORT=9617 # port on which the metrics should be available to be scraped by prometheus
labels:
- traefik.enable=false
2022-02-08 17:00:27 -08:00
2022-07-15 18:09:25 -07:00
exporter-minecraft:
image: itzg/mc-monitor # https://github.com/itzg/mc-monitor
2022-07-15 18:09:25 -07:00
container_name: monitoring_exporter-minecraft
logging:
driver: loki
options:
loki-url: http://localhost:3100/loki/api/v1/push
loki-batch-size: "50"
loki-retries: "1"
loki-timeout: "2s"
2022-07-14 15:22:44 -07:00
keep-file: "true"
command: export-for-prometheus
restart: "no"
networks:
- monitoring
- mc-router
environment:
EXPORT_SERVERS: e6-056,vanilla,bmcp,e6,e6-dev,fan
labels:
- traefik.enable=false
2022-02-08 17:00:27 -08:00
2022-07-15 18:09:25 -07:00
exporter-plex:
image: granra/plex_exporter
2022-07-15 18:09:25 -07:00
container_name: monitoring_exporter-plex
logging:
driver: loki
options:
loki-url: http://localhost:3100/loki/api/v1/push
loki-batch-size: "50"
loki-retries: "1"
loki-timeout: "2s"
2022-07-14 15:22:44 -07:00
keep-file: "true"
restart: "no"
networks:
- monitoring
command:
- "--plex-server=https://plex.jafner.net"
- "--token=5PLsbzsQTXomf88sKyGr"
- "--auto-discover"
labels:
- traefik.enable=false
2022-05-11 01:35:59 -07:00
2022-07-15 18:09:25 -07:00
exporter-sabnzbd:
image: msroest/sabnzbd_exporter # https://github.com/msroest/sabnzbd_exporter
2022-07-15 18:09:25 -07:00
container_name: monitoring_exporter-sabnzbd
logging:
driver: loki
options:
loki-url: http://localhost:3100/loki/api/v1/push
loki-batch-size: "50"
loki-retries: "1"
loki-timeout: "2s"
2022-07-14 15:22:44 -07:00
keep-file: "true"
restart: "no"
networks:
- monitoring
environment:
- SABNZBD_BASEURLS=https://sabnzbd.jafner.net:443
- SABNZBD_APIKEYS=b7af57a920014eb08aa3881fc0384c4f
2022-05-11 01:35:59 -07:00
2022-08-01 19:07:26 -07:00
exporter-ping:
image: czerwonk/ping_exporter
container_name: monitoring_exporter-ping
logging:
driver: loki
options:
loki-url: http://localhost:3100/loki/api/v1/push
loki-batch-size: "50"
loki-retries: "1"
loki-timeout: "2s"
keep-file: "true"
restart: "no"
networks:
- monitoring
volumes:
- ./exporter-ping:/config
2022-05-03 14:29:03 -07:00
2022-02-08 17:00:27 -08:00
networks:
monitoring:
external: true
web:
external: true
mc-router:
external: true