Add Unraid automation script templates
This commit is contained in:
@@ -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 &
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user