refactor update-all.sh for clarity and improved functionality
This commit is contained in:
parent
1c27a4900c
commit
b118710a76
1 changed files with 24 additions and 13 deletions
|
|
@ -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"
|
||||
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
|
||||
|
|
|
|||
Loading…
Reference in a new issue