diff --git a/monitoring/docker-compose.yaml b/monitoring/docker-compose.yaml new file mode 100644 index 0000000..0a7ac75 --- /dev/null +++ b/monitoring/docker-compose.yaml @@ -0,0 +1,77 @@ +version: "3.9" + +networks: + proxy: + external: true + monitoring: + name: monitoring + external: false + +volumes: + prometheus: + name: prometheus + grafana: + name: grafana + +services: + prometheus: + image: cs-registry.ddnss.de/strato/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" + + 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=infomaniak" + - "traefik.http.services.grafana-secure.loadbalancer.server.port=3000" + + +