From b118710a769642d8aafbf1752d34c453479625e2 Mon Sep 17 00:00:00 2001 From: CalvinSteenbergen Date: Sat, 29 Nov 2025 09:40:55 +0100 Subject: [PATCH] refactor update-all.sh for clarity and improved functionality --- 3. scripts/update-all.sh | 37 ++++++++++++++++++++++++------------- 1 file changed, 24 insertions(+), 13 deletions(-) diff --git a/3. scripts/update-all.sh b/3. scripts/update-all.sh index 4d12ed3..8231f1c 100644 --- a/3. scripts/update-all.sh +++ b/3. scripts/update-all.sh @@ -11,39 +11,50 @@ RED='\033[0;31m' NC='\033[0m' # --- PADEN --- +# We bepalen het absolute pad naar DIT bestand SCRIPT_PATH=$(readlink -f "$0") SCRIPT_DIR=$(dirname "$SCRIPT_PATH") REPO_DIR=$(dirname "$SCRIPT_DIR") -STACKS_DIR="$REPO_DIR/1. docker-stacks" # Let op: kleine letters zoals op jouw server +STACKS_DIR="$REPO_DIR/1. docker-stacks" echo -e "${BLUE}==========================================${NC}" echo -e "${BLUE}🚀 Start Docker Update - $(date)${NC}" -# 1. GIT -echo -e "${YELLOW}📥 Git Pull...${NC}" +# 1. GIT UPDATE +echo -e "${YELLOW}📥 Git Pull & Reset...${NC}" cd "$REPO_DIR" + +# Haal alles op git fetch --all + +# Forceer de lokale bestanden naar de versie van Git (overschrijft lokale wijzigingen) git reset --hard origin/main -# 2. TRAEFIK VOORBEREIDING (Cruciaal!) -# Traefik heeft specifieke mappen en lege bestanden nodig +# --- DE FIX: MAAK JEZELF UITVOERBAAR --- +# Direct na de reset zorgen we dat dit script uitvoerbaar blijft voor de volgende keer +chmod +x "$SCRIPT_PATH" +echo -e " 🔧 Rechten hersteld op: $SCRIPT_PATH" +# --------------------------------------- + +# 2. TRAEFIK CHECKS TRAEFIK_DIR="$STACKS_DIR/traefik" if [ -d "$TRAEFIK_DIR" ]; then - echo -e " 🔨 ${YELLOW}Traefik checks uitvoeren...${NC}" - mkdir -p "$TRAEFIK_DIR/data" - # Certificaten bestand (moet chmod 600 zijn) + mkdir -p "$TRAEFIK_DIR/data/rules" + + # Check acme.json (SSL) if [ ! -f "$TRAEFIK_DIR/data/acme.json" ]; then + echo -e " 🔨 ${YELLOW}Traefik: acme.json aanmaken...${NC}" touch "$TRAEFIK_DIR/data/acme.json" chmod 600 "$TRAEFIK_DIR/data/acme.json" fi - # Externe regels bestand (voor je NAS/andere hosts) + + # Check external rules if [ ! -f "$TRAEFIK_DIR/data/rules/external.yml" ]; then - mkdir -p "$TRAEFIK_DIR/data/rules" - touch "$TRAEFIK_DIR/data/rules/external.yml" + touch "$TRAEFIK_DIR/data/rules/external.yml" fi fi -# 3. CONTAINERS STARTEN +# 3. SERVICES STARTEN echo -e "${YELLOW}🔄 Services starten...${NC}" find "$STACKS_DIR" -maxdepth 2 -name "docker-compose.yml" | while read composefile; do dir=$(dirname "$composefile") @@ -55,7 +66,7 @@ find "$STACKS_DIR" -maxdepth 2 -name "docker-compose.yml" | while read composefi if [ -f .env ]; then docker compose up -d --remove-orphans else - echo -e " ⚠️ ${RED}Geen .env gevonden! (Check je secrets op de server)${NC}" + echo -e " ⚠️ ${RED}Geen .env gevonden!${NC}" docker compose up -d --remove-orphans fi done