110 lines
3.4 KiB
YAML
110 lines
3.4 KiB
YAML
networks:
|
|
proxy:
|
|
external: true
|
|
monitoring:
|
|
name: monitoring
|
|
external: false
|
|
|
|
volumes:
|
|
prometheus:
|
|
name: prometheus
|
|
grafana:
|
|
name: grafana
|
|
|
|
services:
|
|
prometheus:
|
|
image: cs-git.ddnss.de/production/prometheus
|
|
container_name: prometheus
|
|
hostname: prometheus
|
|
restart: unless-stopped
|
|
networks:
|
|
- proxy
|
|
volumes:
|
|
- prometheus:/prometheus
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.prometheus.rule=Host(`prometheus.steinle-computer.de`)"
|
|
- "traefik.http.routers.prometheus.entrypoints=web"
|
|
- "traefik.http.routers.prometheus.service=prometheus"
|
|
- "traefik.http.routers.prometheus.middlewares=auth"
|
|
- "traefik.http.services.prometheus.loadbalancer.server.port=9090"
|
|
|
|
cadvisor:
|
|
image: gcr.io/cadvisor/cadvisor:v0.51.0
|
|
container_name: cadvisor
|
|
hostname: cadvisor
|
|
restart: unless-stopped
|
|
networks:
|
|
- proxy
|
|
volumes:
|
|
- /:/rootfs:ro
|
|
- /var/run:/var/run:rw
|
|
- /sys:/sys:ro
|
|
- /var/lib/docker/:/var/lib/docker:ro
|
|
command:
|
|
- "-docker_only=true"
|
|
- "-housekeeping_interval=10s"
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.cadvisor.rule=Host(`cadvisor.steinle-computer.de`)"
|
|
- "traefik.http.routers.cadvisor.entrypoints=web"
|
|
- "traefik.http.routers.cadvisor.service=cadvisor"
|
|
- "traefik.http.routers.cadvisor.middlewares=auth"
|
|
- "traefik.http.services.cadvisor.loadbalancer.server.port=8080"
|
|
|
|
node_exporter:
|
|
image: prom/node-exporter
|
|
container_name: node_exporter
|
|
hostname: node_exporter
|
|
command:
|
|
- '--path.rootfs=/host'
|
|
networks:
|
|
- proxy
|
|
pid: host
|
|
restart: unless-stopped
|
|
volumes:
|
|
- '/:/host:ro,rslave'
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.node-exporter.rule=Host(`node-exporter.steinle-computer.de`)"
|
|
- "traefik.http.routers.node-exporter.entrypoints=web"
|
|
- "traefik.http.routers.node-exporter.service=node-exporter"
|
|
- "traefik.http.routers.node-exporter.middlewares=auth"
|
|
- "traefik.http.services.node-exporter.loadbalancer.server.port=9100"
|
|
|
|
grafana:
|
|
image: grafana/grafana-oss
|
|
container_name: grafana
|
|
hostname: grafana
|
|
networks:
|
|
- proxy
|
|
restart: unless-stopped
|
|
volumes:
|
|
- grafana:/var/lib/grafana
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.grafana.rule=Host(`grafana.steinle-computer.de`)"
|
|
- "traefik.http.routers.grafana.entrypoints=web"
|
|
- "traefik.http.routers.grafana.middlewares=grafana"
|
|
- "traefik.http.middlewares.grafana.redirectscheme.scheme=https"
|
|
- "traefik.http.routers.grafana-secure.rule=Host(`grafana.steinle-computer.de`)"
|
|
- "traefik.http.routers.grafana-secure.entrypoints=websecure"
|
|
- "traefik.http.routers.grafana-secure.service=grafana-secure"
|
|
- "traefik.http.routers.grafana-secure.tls=true"
|
|
- "traefik.http.routers.grafana-secure.tls.certresolver=cs"
|
|
- "traefik.http.services.grafana-secure.loadbalancer.server.port=3000"
|
|
|
|
watchtower:
|
|
image: containrrr/watchtower
|
|
restart: always
|
|
networks:
|
|
- monitoring
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
- ./watchtower-config.json:/config.json
|
|
environment:
|
|
TZ: Europe/Berlin
|
|
WATCHTOWER_INCLUDE_STOPPED: true
|
|
WATCHTOWER_MONITOR_ONLY: true
|
|
WATCHTOWER_SCHEDULE: "0 0 2 * * *"
|