49 lines
1.8 KiB
YAML
49 lines
1.8 KiB
YAML
services:
|
|
prometheus:
|
|
profiles: ["monitoring","all","prometheus"]
|
|
image: prom/prometheus:latest
|
|
# env_file:
|
|
# - ${PROJECT_ROOT}/secrets/stack-secrets.env
|
|
container_name: prometheus
|
|
depends_on:
|
|
# - alertmanager
|
|
- telegraf
|
|
- influxdb
|
|
- node-exporter
|
|
- docker-update-exporter
|
|
- pihole-exporter
|
|
command:
|
|
- "--config.file=/etc/prometheus/prometheus.yml"
|
|
- "--storage.tsdb.path=/prometheus"
|
|
- "--storage.tsdb.retention.time=15d"
|
|
# build:
|
|
# context: ${PROJECT_ROOT}/monitoring/prometheus
|
|
volumes:
|
|
- ${PROJECT_ROOT}/monitoring/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml:ro
|
|
- ${PROJECT_ROOT}/monitoring/prometheus/data:/prometheus
|
|
- ${PROJECT_ROOT}/monitoring/prometheus/rules:/etc/prometheus/rules:ro
|
|
- ${PROJECT_ROOT}/secrets/prometheus_kuma_basic_auth_password.txt:/run/secrets/prometheus_kuma_basic_auth_password:ro
|
|
|
|
restart: unless-stopped
|
|
labels:
|
|
- "traefik.http.routers.prometheus.rule=Host(`prometheus.lan.ddnsgeek.com`)"
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.prometheus.entrypoints=websecure"
|
|
- "traefik.http.routers.prometheus.tls.certresolver=myresolver"
|
|
- "traefik.http.routers.prometheus.tls.options=mtls-private-admin@file"
|
|
- "io.portainer.accesscontrol.public"
|
|
- "traefik.http.services.prometheus.loadbalancer.server.port=9090"
|
|
- "traefik.http.routers.prometheus.middlewares=authelia"
|
|
- "traefik.docker.network=core_traefik"
|
|
networks:
|
|
# - edge
|
|
# - traefik_reverse_proxy
|
|
- traefik
|
|
- monitor
|
|
healthcheck:
|
|
test: ["CMD", "wget", "--spider", "-q", "http://localhost:9090/-/healthy"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 30s
|