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: mondough/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 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