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