Files
homelab/prometheus-stack/compose.yaml
T
renovate-bot c315a5f7e3
ci / lint-prettier (push) Successful in 14s
ci / lint-ruff (push) Successful in 5s
ci / lint-yaml (push) Successful in 8s
ci / lint-dockerfiles (push) Successful in 5s
ci / validate (push) Successful in 6s
ci / lint-prettier (pull_request) Successful in 8s
ci / lint-ruff (pull_request) Successful in 5s
ci / lint-yaml (pull_request) Successful in 7s
ci / lint-dockerfiles (pull_request) Successful in 5s
ci / validate (pull_request) Successful in 5s
renovate-ci / validate-renovate (pull_request) Successful in 11s
ci / build (push) Has been skipped
ci / build (pull_request) Has been skipped
ci / deploy-userbot-panel (push) Has been skipped
ci / deploy-userbot-panel (pull_request) Has been skipped
chore(deps): update container patch updates
2026-09-17 17:54:38 +00:00

67 lines
2.0 KiB
YAML

services:
grafana:
image: grafana/grafana:13.2.2
container_name: prometheus-grafana
restart: unless-stopped
env_file:
- .env
environment:
GF_SECURITY_ADMIN_USER: ${GRAFANA_ADMIN_USER:-admin}
GF_SECURITY_ADMIN_PASSWORD: ${GRAFANA_ADMIN_PASSWORD:?grafana admin password required}
volumes:
- grafana-data:/var/lib/grafana
labels:
- "traefik.enable=true"
- "traefik.http.services.prometheus-grafana.loadbalancer.server.port=3000"
# Prod Router
- "traefik.http.routers.grafana.rule=Host(`grafana.forust.xyz`)"
- "traefik.http.routers.grafana.entrypoints=websecure"
- "traefik.http.routers.grafana.tls=true"
# Local Router
- "traefik.http.routers.grafana-local.rule=Host(`grafana.workstation.internal`)"
- "traefik.http.routers.grafana-local.entrypoints=websecure"
- "traefik.http.routers.grafana-local.tls=true"
# Dev Router
- "traefik.http.routers.grafana-dev.rule=Host(`grafana.gigaforust.internal`)"
- "traefik.http.routers.grafana-dev.entrypoints=websecure"
- "traefik.http.routers.grafana-dev.tls=true"
networks:
- proxy
prometheus:
image: prom/prometheus:v3.14.0
container_name: prometheus-prometheus
restart: unless-stopped
command:
- "--config.file=/etc/prometheus/prometheus.yaml"
- "--storage.tsdb.path=/prometheus"
- "--storage.tsdb.retention.time=90d"
volumes:
- prometheus-data:/prometheus
- ./prometheus.yaml:/etc/prometheus/prometheus.yaml:ro
networks:
- proxy
alertmanager:
image: prom/alertmanager:v0.34.1
container_name: prometheus-alertmanager
restart: unless-stopped
command:
- "--config.file=/etc/alertmanager/alertmanager.yaml"
- "--storage.path=/alertmanager"
volumes:
- alertmanager-data:/alertmanager
- ./alertmanager.yaml:/etc/alertmanager/alertmanager.yaml:ro
networks:
- proxy
volumes:
grafana-data:
prometheus-data:
alertmanager-data:
networks:
proxy:
external: true