diff --git a/stacks/communication/gotify/stack.toml b/stacks/communication/gotify/stack.toml new file mode 100644 index 0000000..2e8b130 --- /dev/null +++ b/stacks/communication/gotify/stack.toml @@ -0,0 +1,29 @@ +[stack] +name = "Gotify" +description = "Push-Benachrichtigungen selbst gehostet" +version = "1.0.0" +category = "communication" + +[compose] +file = "compose.yml" + +[variables.secrets] +gotify-admin-user = "Admin Username" +gotify-admin-pass = "Admin Password" + +[ports] +internal = 80 +external = "127.0.0.1:9091" +description = "Gotify Web UI" + +[volumes] +gotify_data = "/app/data" + +[networks] +gotify-network = "bridge" + +[healthcheck] +endpoint = "http://localhost:80/health" +interval = "30s" +timeout = "10s" +retries = 3 diff --git a/stacks/communication/vaultwarden/stack.toml b/stacks/communication/vaultwarden/stack.toml new file mode 100644 index 0000000..a1e3393 --- /dev/null +++ b/stacks/communication/vaultwarden/stack.toml @@ -0,0 +1,28 @@ +[stack] +name = "Vaultwarden" +description = "Password Manager (Bitwarden-kompatibel)" +version = "1.0.0" +category = "communication" + +[compose] +file = "compose.yml" + +[variables.secrets] +vaultwarden-admin-token = "Admin API Token (openssl rand -base64 48)" + +[ports] +internal = 80 +external = "127.0.0.1:8080" +description = "Vaultwarden Web UI" + +[volumes] +vaultwarden_data = "/data" + +[networks] +vaultwarden-network = "bridge" + +[healthcheck] +endpoint = "http://localhost:80/alive" +interval = "30s" +timeout = "10s" +retries = 3 diff --git a/stacks/monitoring/grafana/stack.toml b/stacks/monitoring/grafana/stack.toml new file mode 100644 index 0000000..b7dd7bc --- /dev/null +++ b/stacks/monitoring/grafana/stack.toml @@ -0,0 +1,30 @@ +[stack] +name = "Grafana" +description = "Grafana Dashboards & Visualisierung" +version = "1.0.0" +category = "monitoring" + +[compose] +file = "compose.yml" + +[variables.secrets] +grafana-admin-user = "Admin Username" +grafana-admin-pass = "Admin Password" + +[ports] +internal = 3000 +external = "127.0.0.1:3000" +description = "Grafana Web UI" + +[volumes] +grafana_data = "/var/lib/grafana" +grafana_config = "/etc/grafana" + +[networks] +monitoring = "bridge" + +[healthcheck] +endpoint = "http://localhost:3000/api/health" +interval = "30s" +timeout = "10s" +retries = 3 diff --git a/stacks/monitoring/node-exporter/stack.toml b/stacks/monitoring/node-exporter/stack.toml new file mode 100644 index 0000000..68b0397 --- /dev/null +++ b/stacks/monitoring/node-exporter/stack.toml @@ -0,0 +1,25 @@ +[stack] +name = "Node Exporter" +description = "System-Metriken für Prometheus" +version = "1.0.0" +category = "monitoring" + +[compose] +file = "compose.yml" + +[variables] +# Keine Secrets erforderlich + +[ports] +internal = 9100 +external = "127.0.0.1:9100" +description = "Node Exporter Metrics" + +[networks] +monitoring = "bridge" + +[healthcheck] +endpoint = "http://localhost:9100/metrics" +interval = "30s" +timeout = "10s" +retries = 3 diff --git a/stacks/monitoring/prometheus/stack.toml b/stacks/monitoring/prometheus/stack.toml new file mode 100644 index 0000000..5d54e04 --- /dev/null +++ b/stacks/monitoring/prometheus/stack.toml @@ -0,0 +1,29 @@ +[stack] +name = "Prometheus" +description = "Prometheus Monitoring & Alerting System" +version = "1.0.0" +category = "monitoring" + +[compose] +file = "compose.yml" + +[variables] +# Keine Secrets erforderlich für Basis-Installation + +[ports] +internal = 9090 +external = "127.0.0.1:9090" +description = "Prometheus Web UI" + +[volumes] +prometheus_data = "/prometheus" +prometheus_config = "/etc/prometheus" + +[networks] +monitoring = "bridge" + +[healthcheck] +endpoint = "http://localhost:9090/-/healthy" +interval = "30s" +timeout = "10s" +retries = 3