Add Unraid automation script templates

This commit is contained in:
2026-05-16 14:34:35 +02:00
parent 162421e537
commit 0adddb6533
4 changed files with 82 additions and 18 deletions
+19 -10
View File
@@ -24,26 +24,35 @@ add_result() {
parse_compose() {
local compose="$1"
awk '
function clean(value) {
gsub(/\r/, "", value)
gsub(/["'\''"]/, "", value)
return value
}
function emit() {
if (service && image) {
print clean(container) "\t" clean(image)
}
}
/^ [A-Za-z0-9_.-]+:/ {
emit()
service=$1
sub(/:$/, "", service)
image=""
container=service
next
}
service && /^ image:/ {
image=$2
gsub(/["'\'']/, "", image)
image=$0
sub(/^[[:space:]]*image:[[:space:]]*/, "", image)
next
}
service && /^ container_name:/ {
container=$2
gsub(/["'\'']/, "", container)
}
service && image && container {
print container "\t" image
service=""
image=""
container=""
container=$0
sub(/^[[:space:]]*container_name:[[:space:]]*/, "", container)
next
}
END { emit() }
' "$compose"
}
@@ -16,8 +16,8 @@ send_event() {
printf '%s %s\n' "$timestamp" "$line" | tee -a "$OUTPUT_PATH" >/dev/null
if [ "$SEND_NTFY" = "1" ] && [ -x "$NTFY_SCRIPT" ]; then
"$NTFY_SCRIPT" "$NTFY_TOPIC" "Docker critical event" "$line" high || true
if [ "$SEND_NTFY" = "1" ] && [ -f "$NTFY_SCRIPT" ]; then
bash "$NTFY_SCRIPT" "$NTFY_TOPIC" "Docker critical event" "$line" high || true
fi
}
@@ -0,0 +1,55 @@
# Unraid User Scripts fuer Posture-Checks
Host-Repo-Pfad:
```text
/mnt/user/services/homelab-infra
```
## `posture-check-at-start`
Zeit: Array Start.
```bash
#!/bin/bash
bash /mnt/user/services/homelab-infra/services/posture-check/posture-check.sh
```
## `posture-check-hourly`
Zeit: stuendlich.
```bash
#!/bin/bash
bash /mnt/user/services/homelab-infra/services/posture-check/posture-check.sh
```
## `cert-token-check-daily`
Zeit: taeglich, z. B. 06:10.
```bash
#!/bin/bash
bash /mnt/user/services/homelab-infra/services/posture-check/cert-token-check.sh
```
## `compose-runtime-drift-daily`
Zeit: taeglich, z. B. 06:20.
```bash
#!/bin/bash
bash /mnt/user/services/homelab-infra/services/posture-check/compose-runtime-drift.sh
```
## `docker-critical-events-at-start`
Zeit: Array Start. Dieser Job startet einen Hintergrund-Watcher und beendet sich sofort.
```bash
#!/bin/bash
pgrep -f "docker events --filter event=die --filter event=oom --filter event=kill" >/dev/null && exit 0
nohup bash /mnt/user/services/homelab-infra/services/posture-check/docker-critical-events.sh \
>/mnt/user/services/posture-check/docker-critical-events.out 2>&1 </dev/null &
```