shell-scripte-code/docker-updater.sh

35 lines
848 B
Bash
Executable file

#!/bin/bash
start_at="feishin"
found_start=false
for ordner in */; do
ordnername="${ordner%/}"
if [[ "$ordnername" == "$start_at" ]]; then
found_start=true
fi
if $found_start; then
(
echo "Bearbeite Ordner: $ordnername"
cd "$ordner" || exit
# Docker stoppen
docker compose down
# Watchtower-Label entfernen
sed -i '/com.centurylinklabs.watchtower.enable/d' docker-compose.yml
# Prüfe ob caddy.log in den nächsten 10 Zeilen nach labels: existiert
if ! awk '/labels:/ {for(i=1;i<=10;i++) {getline; if($0 ~ /caddy\.log/) found=1}} END{exit !found}' docker-compose.yml; then
sed -i '/labels:/d' docker-compose.yml
fi
# Docker neu starten
docker compose up -d
)
else
echo "Überspringe Ordner: $ordnername"
fi
done