65 lines
2.1 KiB
YAML
65 lines
2.1 KiB
YAML
# Prometheus + Grafana Monitoring Stack - LIVE DEPLOYMENT
|
|
# =============================================================================
|
|
# This is the actual running compose at /home/homelab/docker/monitoring/
|
|
# Deployed directly with docker compose, NOT via Portainer.
|
|
#
|
|
# Config files are bind-mounted from the same directory:
|
|
# ./prometheus/prometheus.yml - scrape config + alerting rules reference
|
|
# ./prometheus/alert-rules.yml - alerting rules
|
|
# ./grafana/provisioning/ - datasources + dashboard provisioning
|
|
#
|
|
# To redeploy: docker compose -f this file up -d (from /home/homelab/docker/monitoring/)
|
|
# To reload Prometheus config without restart: curl -X POST http://localhost:9090/-/reload
|
|
#
|
|
# See monitoring.yaml for the self-contained Portainer GitOps version (embedded configs).
|
|
# =============================================================================
|
|
|
|
version: "3.8"
|
|
|
|
services:
|
|
prometheus:
|
|
image: prom/prometheus:latest
|
|
container_name: prometheus
|
|
volumes:
|
|
- ./prometheus:/etc/prometheus
|
|
- prometheus-data:/prometheus
|
|
command:
|
|
- "--config.file=/etc/prometheus/prometheus.yml"
|
|
- "--storage.tsdb.path=/prometheus"
|
|
- "--web.enable-lifecycle"
|
|
ports:
|
|
- "9090:9090"
|
|
restart: unless-stopped
|
|
|
|
grafana:
|
|
image: grafana/grafana-oss:latest
|
|
container_name: grafana
|
|
environment:
|
|
- GF_SECURITY_ADMIN_USER=admin
|
|
- GF_SECURITY_ADMIN_PASSWORD="REDACTED_PASSWORD"
|
|
volumes:
|
|
- grafana-data:/var/lib/grafana
|
|
- ./grafana/provisioning/datasources:/etc/grafana/provisioning/datasources
|
|
- ./grafana/provisioning/dashboards:/etc/grafana/provisioning/dashboards
|
|
- ./grafana/dashboards:/var/lib/grafana/dashboards
|
|
ports:
|
|
- "3300:3000"
|
|
restart: unless-stopped
|
|
|
|
node_exporter:
|
|
image: prom/node-exporter:latest
|
|
container_name: node_exporter
|
|
network_mode: host
|
|
pid: host
|
|
volumes:
|
|
- /:/host:ro,rslave
|
|
- /sys:/host/sys:ro
|
|
- /proc:/host/proc:ro
|
|
command:
|
|
- '--path.rootfs=/host'
|
|
restart: unless-stopped
|
|
|
|
volumes:
|
|
prometheus-data:
|
|
grafana-data:
|