services: prometheus: image: prom/prometheus:v3.4.0 container_name: prometheus privileged: true user: root restart: unless-stopped volumes: - ./config/prometheus:/etc/prometheus - ./hdd0/prometheus:/prometheus command: - --config.file=/etc/prometheus/prometheus.yml - --storage.tsdb.path=/prometheus - --web.console.libraries=/usr/share/prometheus/console_libraries - --web.console.templates=/usr/share/prometheus/consoles - --web.enable-lifecycle labels: - traefik.enable=true - traefik.http.routers.prometheus.rule=Host(`prometheus.bouvais.lu`) - traefik.http.routers.prometheus.entrypoints=websecure - traefik.http.routers.prometheus.tls.certresolver=myresolver - traefik.http.routers.prometheus.service=prometheus - traefik.http.services.prometheus.loadbalancer.server.port=9090 - traefik.http.routers.prometheus.middlewares=auth@docker grafana: image: grafana/grafana:12.0.1 container_name: grafana privileged: true user: root restart: unless-stopped volumes: - ./hdd0/grafana:/var/lib/grafana environment: - GF_SECURITY_ADMIN_USER=adrien - GF_SECURITY_ADMIN_PASSWORD=${GRAFANA_MY_PASSWORD} - GF_SERVER_ROOT_URL=https://grafana.bouvais.lu labels: - traefik.enable=true - traefik.http.routers.grafana.rule=Host(`grafana.bouvais.lu`) - traefik.http.routers.grafana.entrypoints=websecure - traefik.http.routers.grafana.tls.certresolver=myresolver - traefik.http.routers.grafana.service=grafana - traefik.http.services.grafana.loadbalancer.server.port=3000 - traefik.http.routers.grafana.middlewares=auth@docker depends_on: - prometheus # node-exporter: image: prom/node-exporter:v1.9.1 container_name: node-exporter privileged: true restart: unless-stopped volumes: - /proc:/host/proc:ro - /sys:/host/sys:ro - /:/rootfs:ro command: - --path.procfs=/host/proc - --path.sysfs=/host/sys - --path.rootfs=/rootfs - --collector.filesystem.mount-points-exclude=^/(sys|proc|dev|host|etc|rootfs/var/lib/docker/containers|rootfs/var/lib/docker/overlay2|rootfs/run/docker/netns|rootfs/var/lib/docker/aufs)($$|/)