👌 IMPROVE: Update Prometheus and Grafana images, enhance Hetzner DNS mapping, and add Prometheus reload functionality

This commit is contained in:
2025-05-13 10:58:11 +00:00
parent ebac8ff7e5
commit 84db17fa0e
8 changed files with 250 additions and 102 deletions

View File

@@ -5,19 +5,18 @@ volumes:
prometheus-data:
driver: local
networks:
default:
name: grafana-prometheus
grafana-prometheus:
external: true
services:
grafana:
image: docker.io/grafana/grafana-oss:10.4.2
image: docker.io/grafana/grafana-oss:12.0.0
container_name: grafana
environment:
- GF_SECURITY_ADMIN_PASSWORD=admin
# - GF_SERVER_DOMAIN=%(protocol)s://%(domain)s:%(http_port)s/
# - GF_SERVER_ROOT_URL=%(protocol)s://%(domain)s/
- GF_SERVER_DOMAIN=grafana.phx-erp.de
# - GF_SERVER_PROTOCOL=https
- GF_SERVER_PROTOCOL=https
# - GF_SERVER_HTTP_PORT=3000
- GF_LOG_LEVEL=debug
- GF_SMTP_ENABLED=true
@@ -29,23 +28,24 @@ services:
- GF_SMTP_STARTTLS_POLICY=false
- GF_SMTP_SKIP_VERIFY=true
- GF_SMTP_ENABLE_TRACING=false
ports:
- "3000:3000"
volumes:
- grafana-data:/var/lib/grafana
restart: unless-stopped
networks:
- default
- grafana-prometheus
depends_on:
- prometheus
prometheus:
image: docker.io/prom/prometheus:v2.51.2
image: docker.io/prom/prometheus:v3.1.0
container_name: prometheus
user: "65534:65534"
ports:
- 9090:9090
- "9090:9090"
command:
- "--config.file=/etc/prometheus/prometheus.yaml"
- "--web.config.file=/etc/prometheus/web-config.yaml"
- "--web.external-url=https://prometheus.phx-erp.de"
- "--web.enable-lifecycle" # 🔹 Enable dynamic config reload
volumes:
# - '--web.enable-lifecycle' # Enable reload of configuration automatically without restart !!!
- ./config/prometheus.yaml:/etc/prometheus/prometheus.yaml:ro # RO Read-only
@@ -57,37 +57,14 @@ services:
- ./https_portal/data/prometheus.phx-erp.de/production/domain.key:/etc/prometheus/certs/domain.key:ro
restart: unless-stopped
networks:
- default
node_exporter:
image: quay.io/prometheus/node-exporter:latest
container_name: node_exporter
network_mode: host
pid: host
restart: unless-stopped
command:
- "--path.procfs=/host/proc"
- "--path.sysfs=/host/sys"
- "--path.rootfs=/host"
- "--collector.filesystem.ignored-mount-points=^/(sys|proc|dev)($$|/)"
volumes:
- "/proc:/host/proc:ro"
- "/sys:/host/sys:ro"
- "/:/host:ro,rslave"
# blackbox_exporter:
# image: prom/blackbox-exporter
# container_name: blackbox_exporter
# ports:
# - "9115:9115"
# restart: unless-stopped
# networks:
# - default
- grafana-prometheus
https_portal:
container_name: https_portal
image: "steveltn/https-portal:1.21"
restart: unless-stopped
user: "root"
networks:
- default
- grafana-prometheus
ports:
- "80:80"
- "443:443"
@@ -98,7 +75,10 @@ services:
RENEW_MARGIN_DAYS: 30
CLIENT_MAX_BODY_SIZE: 0
# FORCE_RENEW: 'true'
DOMAINS: 'grafana.phx-erp.de -> 5.75.153.161:3000, prometheus.phx-erp.de -> 5.75.153.161:9090'
DOMAINS: 'grafana.phx-erp.de -> https://grafana:3000, prometheus.phx-erp.de -> https://prometheus:9090'
volumes:
- ./https_portal/data:/var/lib/https-portal # ssl_certs, vhost.d, htdocs
- ./https_portal/log:/var/log/nginx # nginx logs
- ./https_portal/log:/var/log/nginx # nginx logs
depends_on:
- prometheus
- grafana