79 lines
2.3 KiB
YAML
79 lines
2.3 KiB
YAML
version: '3.8'
|
|
|
|
networks:
|
|
web:
|
|
external: true
|
|
monitoring:
|
|
driver: bridge
|
|
|
|
volumes:
|
|
grafana-data:
|
|
prometheus-data:
|
|
|
|
services:
|
|
grafana:
|
|
image: grafana/grafana-oss:9.3.2
|
|
restart: unless-stopped
|
|
labels:
|
|
- "traefik.enable=true"
|
|
|
|
- "traefik.http.services.grafana.loadbalancer.server.port=3000"
|
|
|
|
- "traefik.http.routers.grafana.entrypoints=http"
|
|
- "traefik.http.routers.grafana.middlewares=https-redirect@docker"
|
|
- "traefik.http.routers.grafana.rule=Host(`${GRAFANA_HOST}`)"
|
|
|
|
- "traefik.http.routers.grafana-https.entrypoints=https"
|
|
- "traefik.http.routers.grafana-https.tls=true"
|
|
- "traefik.http.routers.grafana-https.tls.certresolver=letsencrypt"
|
|
- "traefik.http.routers.grafana-https.rule=Host(`${GRAFANA_HOST}`)"
|
|
networks:
|
|
- web
|
|
- monitoring
|
|
volumes:
|
|
- grafana-data:/var/lib/grafana
|
|
|
|
prometheus:
|
|
image: prom/prometheus:v2.41.0
|
|
restart: unless-stopped
|
|
volumes:
|
|
- ./prometheus.yml:/etc/prometheus/prometheus.yml
|
|
- ./web.yml:/etc/prometheus/web.yml
|
|
- prometheus-data:/prometheus
|
|
command:
|
|
- '--config.file=/etc/prometheus/prometheus.yml'
|
|
- '--web.config.file=/etc/prometheus/web.yml'
|
|
- '--storage.tsdb.path=/prometheus'
|
|
- '--storage.tsdb.retention.time=365d'
|
|
labels:
|
|
- "traefik.enable=true"
|
|
|
|
- "traefik.http.services.prometheus.loadbalancer.server.port=9090"
|
|
|
|
- "traefik.http.routers.prometheus.entrypoints=http"
|
|
- "traefik.http.routers.prometheus.middlewares=https-redirect@docker"
|
|
- "traefik.http.routers.prometheus.rule=Host(`${PROMETHEUS_HOST}`)"
|
|
|
|
- "traefik.http.routers.prometheus-https.entrypoints=https"
|
|
- "traefik.http.routers.prometheus-https.tls=true"
|
|
- "traefik.http.routers.prometheus-https.tls.certresolver=letsencrypt"
|
|
- "traefik.http.routers.prometheus-https.rule=Host(`${PROMETHEUS_HOST}`)"
|
|
networks:
|
|
- web
|
|
- monitoring
|
|
|
|
nodeexporter:
|
|
image: prom/node-exporter:v1.5.0
|
|
restart: unless-stopped
|
|
volumes:
|
|
- /proc:/host/proc:ro
|
|
- /sys:/host/sys:ro
|
|
- /:/rootfs:ro
|
|
command:
|
|
- '--path.procfs=/host/proc'
|
|
- '--path.rootfs=/rootfs'
|
|
- '--path.sysfs=/host/sys'
|
|
- '--collector.filesystem.ignored-mount-points=^/(sys|proc|dev|host|etc)($$|/)'
|
|
networks:
|
|
- monitoring
|