headquarter/monitoring/docker-compose.yml
2022-12-30 10:10:46 +01:00

64 lines
1.9 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