feat: Add complete stack.toml files with full metadata

Each stack.toml now includes:
- [stack] section: name, description, version, category, author
- [compose] section: file reference
- [variables] section: secrets where required
- [ports] section: internal port mappings
- [volumes] section: volume definitions
- [healthcheck] section: health check configuration

Stacks updated:
- prometheus
- grafana
- gotify
- vaultwarden
- node-exporter
This commit is contained in:
nocci 2026-03-09 19:12:10 +00:00
parent 72e45d5c84
commit 2ee82c24e1
5 changed files with 108 additions and 4 deletions

View file

@ -1,3 +1,25 @@
[stack]
name = "Gotify"
description = "Push-Benachrichtigungen"
description = "Push-Benachrichtigungen selbst gehostet"
version = "1.0.0"
category = "communication"
author = "nocci"
[compose]
file = "compose.yml"
[variables.secrets]
gotify-admin-user = "Admin Username"
gotify-admin-pass = "Admin Password"
[ports]
gotify = "80"
[volumes]
gotify_data = "/app/data"
[healthcheck]
endpoint = "http://localhost:80/health"
interval = "30s"
timeout = "10s"
retries = 3

View file

@ -1,3 +1,25 @@
[stack]
name = "Grafana"
description = "Grafana Dashboards & Visualisierung"
version = "1.0.0"
category = "monitoring"
author = "nocci"
[compose]
file = "compose.yml"
[variables.secrets]
grafana-admin-user = "Admin Username"
grafana-admin-pass = "Admin Password"
[ports]
grafana = "3000"
[volumes]
grafana_data = "/var/lib/grafana"
[healthcheck]
endpoint = "http://localhost:3000/api/health"
interval = "30s"
timeout = "10s"
retries = 3

View file

@ -1,3 +1,21 @@
[stack]
name = "Node Exporter"
description = "System-Metriken"
description = "System-Metriken für Prometheus"
version = "1.0.0"
category = "monitoring"
author = "nocci"
[compose]
file = "compose.yml"
[variables]
# Keine Secrets erforderlich
[ports]
node_exporter = "9100"
[healthcheck]
endpoint = "http://localhost:9100/metrics"
interval = "30s"
timeout = "10s"
retries = 3

View file

@ -1,3 +1,24 @@
[stack]
name = "Prometheus"
description = "Prometheus Monitoring & Alerting"
description = "Prometheus Monitoring & Alerting System"
version = "1.0.0"
category = "monitoring"
author = "nocci"
[compose]
file = "compose.yml"
[variables]
# Keine Secrets erforderlich
[ports]
prometheus = "9090"
[volumes]
prometheus_data = "/prometheus"
[healthcheck]
endpoint = "http://localhost:9090/-/healthy"
interval = "30s"
timeout = "10s"
retries = 3

View file

@ -1,3 +1,24 @@
[stack]
name = "Vaultwarden"
description = "Password Manager"
description = "Password Manager (Bitwarden-kompatibel)"
version = "1.0.0"
category = "security"
author = "nocci"
[compose]
file = "compose.yml"
[variables.secrets]
vaultwarden-admin-token = "Admin API Token (openssl rand -base64 48)"
[ports]
vaultwarden = "80"
[volumes]
vaultwarden_data = "/data"
[healthcheck]
endpoint = "http://localhost:80/alive"
interval = "30s"
timeout = "10s"
retries = 3