57 lines
2.1 KiB
YAML
57 lines
2.1 KiB
YAML
---
|
|
services:
|
|
<< service_name >>:
|
|
image: docker.io/prom/prometheus:v3.11.3
|
|
restart: << restart_policy >>
|
|
command:
|
|
- --config.file=/etc/prometheus/prometheus.yaml
|
|
- --storage.tsdb.retention.time=<< metrics_retention_time >>
|
|
<%- if metrics_retention_size != '0' %>
|
|
- --storage.tsdb.retention.size=<< metrics_retention_size >>
|
|
<%- endif %>
|
|
<%- if metrics_enable_remote_write %>
|
|
- --web.enable-remote-write-receiver
|
|
<%- endif %>
|
|
<%- if traefik_enabled %>
|
|
<%- if traefik_tls_enabled %>
|
|
- --web.external-url=https://<< traefik_host >>.<< traefik_domain >>
|
|
<%- else %>
|
|
- --web.external-url=http://<< traefik_host >>.<< traefik_domain >>
|
|
<%- endif %>
|
|
<%- endif %>
|
|
<%- if not traefik_enabled %>
|
|
ports:
|
|
- "<< ports_http >>:9090"
|
|
<%- endif %>
|
|
volumes:
|
|
- << service_name >>_data:/prometheus
|
|
- ./config/prometheus.yaml:/etc/prometheus/prometheus.yaml:ro
|
|
<%- if traefik_enabled %>
|
|
networks:
|
|
<< traefik_network >>:
|
|
labels:
|
|
- traefik.enable=true
|
|
- traefik.docker.network=<< traefik_network >>
|
|
- traefik.http.services.<< service_name >>_web.loadBalancer.server.port=9090
|
|
- traefik.http.routers.<< service_name >>_http.service=<< service_name >>_web
|
|
- traefik.http.routers.<< service_name >>_http.rule=Host(`<< traefik_host >>.<< traefik_domain >>`)
|
|
- traefik.http.routers.<< service_name >>_http.entrypoints=<< traefik_entrypoint >>
|
|
<%- if traefik_tls_enabled %>
|
|
- traefik.http.routers.<< service_name >>_https.service=<< service_name >>_web
|
|
- traefik.http.routers.<< service_name >>_https.rule=Host(`<< traefik_host >>.<< traefik_domain >>`)
|
|
- traefik.http.routers.<< service_name >>_https.entrypoints=<< traefik_tls_entrypoint >>
|
|
- traefik.http.routers.<< service_name >>_https.tls=true
|
|
- traefik.http.routers.<< service_name >>_https.tls.certresolver=<< traefik_tls_certresolver >>
|
|
<%- endif %>
|
|
<%- endif %>
|
|
|
|
volumes:
|
|
<< service_name >>_data:
|
|
driver: local
|
|
|
|
<%- if traefik_enabled %>
|
|
networks:
|
|
<< traefik_network >>:
|
|
external: true
|
|
<%- endif %>
|