62 lines
1.9 KiB
YAML
62 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-http.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
|
|
- prometheus-data:/prometheus
|
|
command:
|
|
- '--config.file=/etc/prometheus/prometheus.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-http.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
|