Add Unraid automation script templates
This commit is contained in:
@@ -7,7 +7,7 @@ Diese Vorlagen binden die validierten Restore-Checks in Unraid User Scripts ein.
|
||||
Host-Repo-Pfad:
|
||||
|
||||
```text
|
||||
/mnt/user/services/homelab
|
||||
/mnt/user/services/homelab-infra
|
||||
```
|
||||
|
||||
## Script 1 - `restore-freshness-weekly`
|
||||
@@ -20,7 +20,7 @@ Inhalt:
|
||||
|
||||
```bash
|
||||
#!/bin/bash
|
||||
bash /mnt/user/services/homelab/ops/restore-tests/run-restore-checks.sh freshness \
|
||||
bash /mnt/user/services/homelab-infra/ops/restore-tests/run-restore-checks.sh freshness \
|
||||
> /mnt/user/backups/restore-reports/freshness-$(date +%F).md
|
||||
```
|
||||
|
||||
@@ -40,7 +40,7 @@ V1-Inhalt:
|
||||
|
||||
```bash
|
||||
#!/bin/bash
|
||||
bash /mnt/user/services/homelab/ops/restore-tests/run-restore-checks.sh vaultwarden \
|
||||
bash /mnt/user/services/homelab-infra/ops/restore-tests/run-restore-checks.sh vaultwarden \
|
||||
> /mnt/user/backups/restore-reports/vaultwarden-$(date +%F).md
|
||||
```
|
||||
|
||||
@@ -54,7 +54,7 @@ V1-Inhalt:
|
||||
|
||||
```bash
|
||||
#!/bin/bash
|
||||
bash /mnt/user/services/homelab/ops/restore-tests/run-restore-checks.sh gitea \
|
||||
bash /mnt/user/services/homelab-infra/ops/restore-tests/run-restore-checks.sh gitea \
|
||||
> /mnt/user/backups/restore-reports/gitea-$(date +%F).md
|
||||
```
|
||||
|
||||
@@ -68,7 +68,7 @@ V1-Inhalt:
|
||||
|
||||
```bash
|
||||
#!/bin/bash
|
||||
bash /mnt/user/services/homelab/ops/restore-tests/run-restore-checks.sh paperless \
|
||||
bash /mnt/user/services/homelab-infra/ops/restore-tests/run-restore-checks.sh paperless \
|
||||
> /mnt/user/backups/restore-reports/paperless-$(date +%F).md
|
||||
```
|
||||
|
||||
@@ -97,7 +97,7 @@ Beispiel:
|
||||
|
||||
```bash
|
||||
#!/bin/bash
|
||||
bash /mnt/user/services/homelab/ops/restore-tests/run-restore-job-with-ntfy.sh freshness homelab-restore
|
||||
bash /mnt/user/services/homelab-infra/ops/restore-tests/run-restore-job-with-ntfy.sh freshness homelab-restore
|
||||
```
|
||||
|
||||
Verwendete Hilfsskripte:
|
||||
|
||||
@@ -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