From 27b9ff262aef78388b2c1f7f00f3e55530026d3a Mon Sep 17 00:00:00 2001 From: CalvinSteenbergen Date: Fri, 28 Nov 2025 22:20:34 +0100 Subject: [PATCH] fix script --- 3. scripts/update-all.sh | 51 +++++++++++++++++++++++++++++----------- 1 file changed, 37 insertions(+), 14 deletions(-) diff --git a/3. scripts/update-all.sh b/3. scripts/update-all.sh index a55e825..327aa40 100644 --- a/3. scripts/update-all.sh +++ b/3. scripts/update-all.sh @@ -1,48 +1,71 @@ #!/bin/bash + +# Stop het script direct als er een error optreedt set -e -REPO_DIR="$HOME/docker" +# --- KLEUREN DEFINITIES (Voor mooie output) --- +GREEN='\033[0;32m' +BLUE='\033[0;34m' +YELLOW='\033[1;33m' +RED='\033[0;31m' +NC='\033[0m' # No Color + +# --- PADEN AUTOMATISCH BEPALEN --- +# Dit is de magie: We kijken waar DIT script staat, en gaan 1 map omhoog. +# Hierdoor werkt het script altijd, ongeacht hoe je hoofdmap heet. +SCRIPT_PATH=$(readlink -f "$0") +SCRIPT_DIR=$(dirname "$SCRIPT_PATH") +REPO_DIR=$(dirname "$SCRIPT_DIR") STACKS_DIR="$REPO_DIR/1. Docker-Stacks" -echo "==========================================" -echo "๐Ÿš€ Start Docker Update Script - $(date)" -echo "==========================================" +echo -e "${BLUE}==========================================${NC}" +echo -e "${BLUE}๐Ÿš€ Start Docker Update Script - $(date)${NC}" +echo -e "${BLUE}==========================================${NC}" -echo "๐Ÿ“ฅ Pullen van Git..." +# 1. GIT UPDATE +echo -e "${YELLOW}๐Ÿ“ฅ Pullen van Git...${NC}" +echo -e " Locatie: $REPO_DIR" cd "$REPO_DIR" git pull origin main -echo "๐Ÿ”„ Containers bijwerken..." +# 2. CONTAINERS UPDATEN +echo -e "${YELLOW}๐Ÿ”„ Containers bijwerken...${NC}" -# Zoek alle mappen met docker-compose.yml +# Zoek alle mappen die een docker-compose.yml bevatten (max 2 diep in 1. Docker-Stacks) find "$STACKS_DIR" -maxdepth 2 -name "docker-compose.yml" | while read composefile; do dir=$(dirname "$composefile") service_name=$(basename "$dir") - echo " ๐Ÿ‘‰ Bezig met service: $service_name" + echo -e " ๐Ÿ‘‰ Bezig met service: ${GREEN}$service_name${NC}" cd "$dir" # --- SPECIAAL VOOR TRAEFIK --- - # Als we in de Traefik map zitten, check dan het acme.json bestand + # Traefik crasht als acme.json niet bestaat of verkeerde rechten heeft. + # Dit script repareert dat automatisch. if [ "$service_name" == "traefik" ]; then if [ ! -f "./data/acme.json" ]; then - echo " ๐Ÿ”จ Traefik: acme.json aanmaken en rechten zetten..." + echo -e " ๐Ÿ”จ ${YELLOW}Traefik: acme.json aanmaken en rechten (600) zetten...${NC}" + mkdir -p ./data touch ./data/acme.json chmod 600 ./data/acme.json fi fi # ----------------------------- - # Check voor .env en start + # Check of er een .env bestand is (informatief) if [ -f .env ]; then docker compose up -d --remove-orphans else + echo -e " โš ๏ธ ${RED}Let op: Geen .env bestand gevonden (check je secrets)!${NC}" + # We proberen alsnog te starten, sommige containers hebben geen .env nodig docker compose up -d --remove-orphans fi done -echo "๐Ÿงน Oude images opruimen..." +# 3. OPRUIMEN +echo -e "${YELLOW}๐Ÿงน Oude images opruimen...${NC}" docker image prune -f -echo "โœ… Update compleet!" -echo "==========================================" \ No newline at end of file +echo -e "${BLUE}==========================================${NC}" +echo -e "${GREEN}โœ… Update compleet!${NC}" +echo -e "${BLUE}==========================================${NC}" \ No newline at end of file