monitoring/compose.yaml
2026-04-18 17:11:34 +02:00

131 lines
3.3 KiB
YAML

networks:
monitoring_network:
name: monitoring_network
services:
prometheus:
image: prom/prometheus
container_name: prometheus
restart: always
volumes:
- /app-config/prometheus_config:/config/
- /app-config/prometheus_data:/prometheus
command:
- '--config.file=/config/prometheus.yml'
- '--storage.tsdb.path=/prometheus'
- '--storage.tsdb.retention.time=5y'
- '--web.console.libraries=/etc/prometheus/console_libraries'
- '--web.console.templates=/etc/prometheus/consoles'
- '--web.enable-lifecycle'
ports:
- 9090:9090
networks:
- monitoring_network
snmp-exporter:
image: quay.io/prometheus/snmp-exporter
container_name: snmp-exporter
expose:
- 9116
- 116/udp
volumes:
- /app-config/snmp-exporter:/etc/snmp-exporter/
restart: always
command: --config.file=/etc/snmp-exporter/snmp.yml
networks:
- monitoring_network
influxdb:
image: influxdb:latest
restart: always
container_name: influxdb
environment:
- INFLUXDB_UDP_DATABASE=udp
- INFLUXDB_UDP_ENABLED=true
- INFLUXDB_UDP_BIND_ADDRESS=0.0.0.0:8086
volumes:
- /app-config/influxdb_data:/var/lib/influxdb2
ports:
- "8086:8086"
- "8086:8086/udp"
networks:
- monitoring_network
embyexporter:
image: bagul/goemby_exporter:latest
container_name: embyexporter
environment:
- TZ=Europe/Berlin
- CONFIG_FILE=/emby/tv.sascha-lutz.de.yml
volumes:
- /app-config/embyexporter_data:/emby/
expose:
- 9210
restart: unless-stopped
networks:
- monitoring_network
embyexporter_chris:
image: bagul/goemby_exporter:latest
container_name: embyexporter_chris
environment:
- TZ=Europe/Berlin
- CONFIG_FILE=/emby/guck.tv.yml
volumes:
- /app-config/embyexporter_data:/emby/
expose:
- 9210
restart: unless-stopped
networks:
- monitoring_network
node_exporter:
image: quay.io/prometheus/node-exporter:latest
container_name: node_exporter
network_mode: host
pid: host
volumes:
- /proc:/host/proc:ro
- /sys:/host/sys:ro
- /:/rootfs:ro
command:
- '--path.procfs=/host/proc'
- '--path.sysfs=/host/sys'
- '--collector.filesystem.ignored-mount-points=^/(sys|proc|dev|host|etc)($|/)'
restart: unless-stopped
wireguard-exporter:
image: docker.io/linuxserver/wireguard-exporter:latest
container_name: wireguard-exporter
network_mode: host
pid: host
cap_add:
- NET_ADMIN
volumes:
- /etc/wireguard:/etc/wireguard:ro
ports:
- "9586:9586"
restart: unless-stopped
environment:
- PUID=1000
- PGID=1000
grafana:
image: grafana/grafana:latest
container_name: grafana
restart: always
ports:
- "3000:3000"
volumes:
- /app-config/grafana_data:/var/lib/grafana
- /app-config/grafana_provisioning:/etc/grafana/provisioning
environment:
- GF_SECURITY_ADMIN_USER=admin
- GF_SECURITY_ADMIN_PASSWORD=grafana123
- GF_AUTH_ANONYMOUS_ENABLED=false
- GF_SERVER_ROOT_URL=http://grafana:3000
- GF_AUTH_GENERIC_OAUTH_ENABLED=true
networks:
- monitoring_network
depends_on:
- prometheus