lab_prometheus/docker-compose.yml

93 lines
2.4 KiB
YAML

services:
prometheus:
image: prom/prometheus
container_name: prometheus
hostname: prometheus
networks:
- traefik
- supervision
command:
- '--config.file=/etc/prometheus/prometheus.yml'
ports:
- 9090:9090
restart: unless-stopped
labels:
- "traefik.enable=true"
- "traefik.docker.network=traefik"
- "traefik.http.routers.prometheus.rule=Host(`prometheus.bv.stef.lan`)"
- "traefik.http.routers.prometheus.tls=false"
- "traefik.http.services.prometheus.loadbalancer.server.port=9090"
- "traefik.http.routers.prometheus.entrypoints=insecure"
volumes:
- ./prometheus:/etc/prometheus
- prom_data:/prometheus
alertmanager:
container_name: alertmanager
hostname: alertmanager
image: prom/alertmanager
ports:
- 9093:9093
networks:
- supervision
volumes:
- './alertmanager:/etc/alertmanager'
grafana:
image: grafana/grafana
container_name: grafana
hostname: grafana
networks:
- traefik
- supervision
labels:
- "traefik.enable=true"
- "traefik.docker.network=traefik"
- "traefik.http.routers.grafana.rule=Host(`grafana.bv.stef.lan`)"
- "traefik.http.services.grafana.loadbalancer.server.port=3000"
- "traefik.http.routers.grafana.tls=true"
- "traefik.http.routers.grafana.entrypoints=secure"
restart: unless-stopped
environment:
- GF_SECURITY_ADMIN_USER=${GRAFANA_ADMIN}
- GF_SECURITY_ADMIN_PASSWORD=${GRAFANA_PASSWORD}
volumes:
- ./grafana/conf:/etc/grafana
- ./grafana/datasource:/etc/grafana/provisioning/datasources
cadvisor:
image: gcr.io/cadvisor/cadvisor
container_name: cadvisor
hostname: cadvisor
restart: unless-stopped
volumes:
- /:/rootfs:ro
- /var/run:/var/run:rw
- /sys:/sys:ro
- /var/lib/docker/:/var/lib/docker:ro
- /:/rootfs:ro
networks:
- supervision
ports:
- 8080:8080
sflow-rt:
image: sflow/prometheus
container_name: sflow-rt
restart: unless-stopped
volumes:
- sflow-rt_data:/sflow-rt/store
ports:
- '6343:6343/udp'
- '8008:8008'
networks:
- supervision
volumes:
prom_data:
external: true
sflow-rt_data:
external: true
networks:
traefik:
name: traefik
external: true
supervision:
name: supervision
external: true