Files
Picepeak-Update/old_update-picpeak.sh
T

87 lines
1.6 KiB
Bash

#!/bin/bash
set -euo pipefail
APP_DIR="/opt/picpeak"
BACKUP_DIR="/root/picpeak-backups"
LOG_FILE="/var/log/picpeak-update.log"
DATE=$(date +"%Y-%m-%d_%H-%M-%S")
mkdir -p "$BACKUP_DIR"
exec > >(tee -a "$LOG_FILE") 2>&1
echo "================================================="
echo " PicPeak Update gestartet: $DATE"
echo "================================================="
# Prüfen ob Verzeichnis existiert
if [ ! -d "$APP_DIR" ]; then
echo "FEHLER: $APP_DIR existiert nicht!"
exit 1
fi
cd "$APP_DIR"
# Prüfen ob Git Repo
if [ ! -d ".git" ]; then
echo "FEHLER: Kein Git-Repository gefunden!"
exit 1
fi
# Prüfen ob Docker Compose vorhanden
if ! command -v docker >/dev/null 2>&1; then
echo "FEHLER: Docker nicht gefunden!"
exit 1
fi
echo ""
echo "1. Backup erstellen..."
tar -czf "$BACKUP_DIR/picpeak-backup-$DATE.tar.gz" "$APP_DIR"
echo "Backup gespeichert:"
echo "$BACKUP_DIR/picpeak-backup-$DATE.tar.gz"
echo ""
echo "2. Git Status prüfen..."
git status
echo ""
echo "3. Neuen Code herunterladen..."
git pull
echo ""
echo "4. Docker Container bauen..."
docker compose build --no-cache
echo ""
echo "5. Container neu starten..."
docker compose up -d
echo ""
echo "6. Healthcheck prüfen..."
sleep 15
if docker compose ps | grep -q "unhealthy"; then
echo "WARNUNG: Mindestens ein Container ist unhealthy!"
docker compose ps
exit 1
fi
echo ""
echo "7. Alte Docker Images bereinigen..."
docker image prune -f
echo ""
echo "================================================="
echo " PicPeak Update erfolgreich abgeschlossen"
echo "================================================="
docker compose ps