chore: add TUI screenshots via VHS with realistic seed data
Screenshots capture 4 views: monitors dashboard (hero), detail panel, alerts tab, and logs tab. Seed data uses homelab-themed monitors with a SQL backfill for rich sparkline history, state changes, and log entries. Also fixes latencySparkline to color DOWN checks red instead of green — previously failed checks with 0ms latency rendered as green bars.
This commit is contained in:
+141
@@ -0,0 +1,141 @@
|
||||
alerts:
|
||||
- name: Discord Homelab
|
||||
type: discord
|
||||
settings:
|
||||
url: https://discord.com/api/webhooks/1234567890/demo-token
|
||||
|
||||
- name: Ntfy Alerts
|
||||
type: webhook
|
||||
settings:
|
||||
url: https://ntfy.example.com/homelab-alerts
|
||||
|
||||
- name: Email Oncall
|
||||
type: email
|
||||
settings:
|
||||
host: smtp.example.com
|
||||
port: "587"
|
||||
user: alerts@example.com
|
||||
pass: "••••••••"
|
||||
from: alerts@example.com
|
||||
to: oncall@example.com
|
||||
|
||||
- name: Slack Ops
|
||||
type: slack
|
||||
settings:
|
||||
url: https://hooks.slack.com/services/T00000/B00000/demo-token
|
||||
|
||||
monitors:
|
||||
# HTTP — homelab services
|
||||
- name: Nextcloud
|
||||
type: http
|
||||
url: https://example.com
|
||||
interval: 30
|
||||
alert: Discord Homelab
|
||||
check_ssl: true
|
||||
expiry_threshold: 14
|
||||
max_retries: 2
|
||||
|
||||
- name: Jellyfin
|
||||
type: http
|
||||
url: https://example.com
|
||||
interval: 30
|
||||
alert: Discord Homelab
|
||||
max_retries: 2
|
||||
|
||||
- name: Home Assistant
|
||||
type: http
|
||||
url: https://example.com
|
||||
interval: 30
|
||||
alert: Discord Homelab
|
||||
max_retries: 3
|
||||
|
||||
- name: Gitea
|
||||
type: http
|
||||
url: https://example.com
|
||||
interval: 60
|
||||
alert: Discord Homelab
|
||||
check_ssl: true
|
||||
expiry_threshold: 14
|
||||
max_retries: 2
|
||||
|
||||
- name: Traefik Dashboard
|
||||
type: http
|
||||
url: https://example.com
|
||||
interval: 60
|
||||
alert: Discord Homelab
|
||||
max_retries: 1
|
||||
|
||||
- name: Vaultwarden
|
||||
type: http
|
||||
url: https://example.com
|
||||
interval: 30
|
||||
alert: Discord Homelab
|
||||
check_ssl: true
|
||||
expiry_threshold: 14
|
||||
max_retries: 3
|
||||
|
||||
- name: Personal Blog
|
||||
type: http
|
||||
url: https://example.com
|
||||
interval: 120
|
||||
alert: Discord Homelab
|
||||
check_ssl: true
|
||||
expiry_threshold: 14
|
||||
max_retries: 2
|
||||
|
||||
- name: Immich
|
||||
type: http
|
||||
url: https://example.com
|
||||
interval: 60
|
||||
alert: Discord Homelab
|
||||
check_ssl: true
|
||||
expiry_threshold: 7
|
||||
max_retries: 3
|
||||
|
||||
# HTTP — deliberate failure
|
||||
- name: Auth Portal
|
||||
type: http
|
||||
url: http://localhost:1
|
||||
interval: 30
|
||||
alert: Discord Homelab
|
||||
max_retries: 2
|
||||
|
||||
# Push — cron jobs
|
||||
- name: Nightly Backup
|
||||
type: push
|
||||
interval: 300
|
||||
alert: Discord Homelab
|
||||
|
||||
- name: Cert Renewal
|
||||
type: push
|
||||
interval: 300
|
||||
alert: Discord Homelab
|
||||
|
||||
# Infrastructure group
|
||||
- name: Infrastructure
|
||||
type: group
|
||||
alert: Discord Homelab
|
||||
monitors:
|
||||
- name: Edge Router
|
||||
type: ping
|
||||
hostname: 8.8.8.8
|
||||
interval: 30
|
||||
alert: Discord Homelab
|
||||
timeout: 5
|
||||
|
||||
- name: Postgres
|
||||
type: port
|
||||
hostname: localhost
|
||||
port: 18099
|
||||
interval: 60
|
||||
alert: Discord Homelab
|
||||
timeout: 5
|
||||
|
||||
- name: DNS Primary
|
||||
type: dns
|
||||
hostname: google.com
|
||||
dns_server: 8.8.8.8
|
||||
dns_resolve_type: A
|
||||
interval: 60
|
||||
alert: Discord Homelab
|
||||
timeout: 5
|
||||
Reference in New Issue
Block a user