#!/bin/bash PROJECTS=( "/mnt/PB960/homeserver/dyndns" "/mnt/PB960/homeserver/excalidraw" "/mnt/PB960/homeserver/forgejo" "/mnt/PB960/homeserver/gantt_dockerfolder" "/mnt/PB960/homeserver/jellyfin" "/mnt/PB960/homeserver/kitchenowl" "/mnt/PB960/homeserver/matrix" "/mnt/PB960/homeserver/n8n" "/mnt/PB960/homeserver/openProject" "/mnt/PB960/homeserver/passbolt" "/mnt/PB960/homeserver/sparkyFitness" "/mnt/PB960/homeserver/sure" "/mnt/PB960/homeserver/traefik" "/mnt/PB960/homeserver/xWiki" ) echo "==========================================" echo " STARRTE AUTOMATISCHES DOCKER-UPDATE " echo " Datum: $(date '+%Y-%m-%d %H:%M:%S')" echo "==========================================" # Prüfen, ob das Skript als Root ausgeführt wird if [ "$EUID" -ne 0 ]; then echo "[FEHLER] Bitte starte das Skript mit 'sudo'!" exit 1 fi # Aktuellste Version des Repos holen echo "[1/2] Aktualisiere Git-Repository (Homeserver)..." cd /mnt/PB960/homeserver && git pull echo "[2/2] Aktualisiere Git-Repository (Gantt)..." cd /mnt/PB960/data/gantt && git pull for TARGET_DIR in "${PROJECTS[@]}"; do if [ -d "$TARGET_DIR" ]; then echo "" echo "------------------------------------------" echo "[INFO] Verarbeite Projekt in: $TARGET_DIR" echo "------------------------------------------" cd "$TARGET_DIR" || continue # 1. Container sauber stoppen echo "[1/4] Stoppe laufende Container..." docker compose down # 2. Neueste Versionen/Images aus dem Netz ziehen echo "[2/4] Ziehe neueste Docker-Images (Pull)..." docker compose pull # 3. Container im Hintergrund neu starten (erzwingt das Update) echo "[3/4] Starte Container neu (erzwinge Update)..." docker compose up -d --build --force-recreate # 4. Alte, ungenutzte Image-Reste löschen (spart Speicherplatz) echo "[4/4] Bereinige alte Image-Leichen..." docker image prune -f echo "[ERFOLG] Projekt $TARGET_DIR wurde aktualisiert!" else echo "[WARNUNG] Verzeichnis $TARGET_DIR existiert nicht. Überspringe..." fi done echo "" echo "==========================================" echo " ALLE UPDATES ERFOLGREICH DURCHGEFÜHRT! " echo "=========================================="