45 lines
1.3 KiB
Bash
45 lines
1.3 KiB
Bash
|
|
#!/bin/bash
|
||
|
|
|
||
|
|
# Stop het script als er iets fout gaat
|
||
|
|
set -e
|
||
|
|
|
||
|
|
# Pad naar je repo op de server (pas dit aan als het anders is)
|
||
|
|
REPO_DIR="$HOME/docker"
|
||
|
|
STACKS_DIR="$REPO_DIR/1. Docker-Stacks"
|
||
|
|
|
||
|
|
echo "=========================================="
|
||
|
|
echo "🚀 Start Docker Update Script - $(date)"
|
||
|
|
echo "=========================================="
|
||
|
|
|
||
|
|
# 1. Haal de laatste versie op uit Git
|
||
|
|
echo "📥 Pullen van Git..."
|
||
|
|
cd "$REPO_DIR"
|
||
|
|
git pull origin main
|
||
|
|
|
||
|
|
# 2. Loop door elke map in '1. Docker-Stacks'
|
||
|
|
echo "🔄 Containers bijwerken..."
|
||
|
|
|
||
|
|
# Zoek alle mappen die een docker-compose.yml bevatten
|
||
|
|
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"
|
||
|
|
|
||
|
|
cd "$dir"
|
||
|
|
|
||
|
|
# We gebruiken 'op run' zodat 1Password referenties (op://) worden ingevuld
|
||
|
|
# '--env-file .env' wordt alleen gebruikt als het bestand bestaat
|
||
|
|
if [ -f .env ]; then
|
||
|
|
op run --env-file=".env" --no-masking -- docker compose up -d --remove-orphans
|
||
|
|
else
|
||
|
|
op run --no-masking -- docker compose up -d --remove-orphans
|
||
|
|
fi
|
||
|
|
done
|
||
|
|
|
||
|
|
# 3. Opruimen
|
||
|
|
echo "🧹 Oude images opruimen..."
|
||
|
|
docker image prune -f
|
||
|
|
|
||
|
|
echo "✅ Update compleet!"
|
||
|
|
echo "=========================================="
|