Files
app-catalog-felhom.eu/templates/grafana/steps/f3b0cc9b3e239437.yml
T
admin 2acfbf1e95 grafana: within-major step, both venues proven (R-462, Part F)
{'grafana': 'grafana/grafana:13.2.2'} -> {'grafana': 'grafana/grafana:13.2.3'}
The ONLY image move in this commit. Written by upgrade-test.py --write-ladder (catalog gates rc=0):
- bench LXC 9401 (harness v4): the seed read back before and after; 10-minute memory watch:
  grafana anon 47.1 % (cgroup 100.0 %); 0 kills, 0 restarts; the abort starts and serves the data;
- box 9202 (controller 0.283.1, the product's guarded Update, drill catalog): done in 23.6 s, the seed
  read back through the app's own front door.
  The box walk was run TWICE: the first read back 401 because the instrument lost the deploy's
  admin password between two processes (box/grafana/step-attempt1-instrument-401.txt); fixed in the
  walk tools, grafana reinstalled at 13.2.2 from the drill catalog, seeded, stepped: read back.
Evidence: felhom.eu/documentation/audits/pg-last-six-2026-09-30/F/ and .../box/grafana/

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
2026-09-30 14:26:47 +02:00

47 lines
1.4 KiB
YAML

# Grafana - Professzionális monitoring és vizualizációs platform
# Domain: ${SUBDOMAIN}.${DOMAIN}
# Database: None (file-based)
# RAM: ~100M (mem_limit: 512M) | Pi-compatible: Yes
#
# Environment variables:
# DOMAIN - Your domain (e.g., demo-felhom.eu)
# GF_SECURITY_ADMIN_PASSWORD- Admin jelszó (auto-generated)
services:
grafana:
image: grafana/grafana:13.2.2
container_name: grafana
restart: unless-stopped
environment:
- TZ=Europe/Budapest
- GF_SERVER_ROOT_URL=https://${SUBDOMAIN}.${DOMAIN}
- GF_SECURITY_ADMIN_PASSWORD=${GF_SECURITY_ADMIN_PASSWORD:?the admin password is required (R-708)}
volumes:
- grafana_data:/var/lib/grafana
networks:
- traefik-public
deploy:
resources:
limits:
memory: 512M
healthcheck:
test: ["CMD", "wget", "--spider", "-q", "http://127.0.0.1:3000/api/health"]
interval: 30s
timeout: 5s
retries: 3
start_period: 30s
labels:
- "traefik.enable=true"
- "traefik.http.routers.grafana.rule=Host(`${SUBDOMAIN}.${DOMAIN}`)"
- "traefik.http.routers.grafana.entrypoints=websecure"
- "traefik.http.routers.grafana.tls=true"
- "traefik.http.routers.grafana.tls.certresolver=letsencrypt"
- "traefik.http.services.grafana.loadbalancer.server.port=3000"
volumes:
grafana_data:
networks:
traefik-public:
external: true