36 lines
No EOL
1.3 KiB
YAML
36 lines
No EOL
1.3 KiB
YAML
services:
|
|
prometheus:
|
|
image: hub.mapletree.email/docker-hub/prom/prometheus:latest
|
|
container_name: prometheus_node${PROM_HOST_ID}
|
|
restart: unless-stopped
|
|
user: "1000:1000" # Matches your Gluster permissions
|
|
command:
|
|
- '--config.file=/etc/prometheus/prometheus.yml'
|
|
- '--storage.tsdb.path=/prometheus'
|
|
# CHANGED: Increased from 2h to 15d since Thanos is gone
|
|
- '--storage.tsdb.retention.time=15d'
|
|
- '--web.enable-lifecycle' # Keeps API reload capability
|
|
volumes:
|
|
- /docker/prometheus/config:/etc/prometheus
|
|
- /shared/prometheus/data:/prometheus
|
|
ports:
|
|
- "9090:9090"
|
|
networks:
|
|
- prometheus_external
|
|
- prometheus_internal
|
|
extra_hosts:
|
|
# Allows Prometheus to scrape the "Agent" on this same node
|
|
- "host.docker.internal:host-gateway"
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.docker.network=prometheus_external"
|
|
- "traefik.http.routers.prom.rule=Host(`${PROM_HOST_NAME}.${TRAEFIK_DNS_SUFFIX}`)"
|
|
- "traefik.http.routers.prom.tls=true"
|
|
- "traefik.http.routers.prom.tls.certresolver=dns_resolver"
|
|
- "traefik.http.services.prom.loadbalancer.server.port=9090"
|
|
|
|
networks:
|
|
prometheus_internal:
|
|
driver: bridge
|
|
prometheus_external:
|
|
external: true |