diff --git a/WEB_README.md b/WEB_README.md index 7d012a7..f34edba 100644 --- a/WEB_README.md +++ b/WEB_README.md @@ -28,6 +28,9 @@ PDF_TO_ICS_IMAGE=ghcr.io/webfarben/pdf_to_ics:v1.1.0 Danach `./update.sh` ausführen. +Hinweis: `deploy.sh` und `update.sh` versuchen zuerst einen Registry-Pull. +Wenn der Pull fehlschlägt, wird automatisch mit einem bereits lokal vorhandenen Image gleichen Tags weitergemacht. + ## Manuelle Kommandos (optional) Starten: diff --git a/deploy.sh b/deploy.sh index 1112b6c..13b6a10 100755 --- a/deploy.sh +++ b/deploy.sh @@ -31,8 +31,25 @@ if [ ! -f ".env" ]; then fi fi +IMAGE_REF="$(docker compose -f "$COMPOSE_FILE" config | awk '/image:/{print $2; exit}')" +if [ -z "$IMAGE_REF" ]; then + echo "❌ Fehler: Kein Image in $COMPOSE_FILE gefunden." + exit 1 +fi + echo "⬇️ Lade Container-Image..." -docker compose -f "$COMPOSE_FILE" pull +if docker compose -f "$COMPOSE_FILE" pull; then + echo "✅ Image-Pull erfolgreich." +else + echo "⚠️ Image-Pull fehlgeschlagen. Prüfe lokales Image: $IMAGE_REF" + if docker image inspect "$IMAGE_REF" >/dev/null 2>&1; then + echo "✅ Lokales Image gefunden. Deployment läuft mit lokalem Image weiter." + else + echo "❌ Weder Registry-Pull erfolgreich noch lokales Image vorhanden: $IMAGE_REF" + echo " Bitte Registry-Zugriff prüfen oder ein lokales Image mit genau diesem Tag bereitstellen." + exit 1 + fi +fi echo "🚀 Starte Container..." docker compose -f "$COMPOSE_FILE" up -d diff --git a/update.sh b/update.sh index ae7f5a7..76842b5 100755 --- a/update.sh +++ b/update.sh @@ -31,11 +31,28 @@ if [ ! -f ".env" ]; then fi fi +IMAGE_REF="$(docker compose -f "$COMPOSE_FILE" config | awk '/image:/{print $2; exit}')" +if [ -z "$IMAGE_REF" ]; then + echo "❌ Fehler: Kein Image in $COMPOSE_FILE gefunden." + exit 1 +fi + echo "📥 Hole aktuelle Git-Änderungen..." git pull --ff-only echo "⬇️ Lade aktuelles Container-Image..." -docker compose -f "$COMPOSE_FILE" pull +if docker compose -f "$COMPOSE_FILE" pull; then + echo "✅ Image-Pull erfolgreich." +else + echo "⚠️ Image-Pull fehlgeschlagen. Prüfe lokales Image: $IMAGE_REF" + if docker image inspect "$IMAGE_REF" >/dev/null 2>&1; then + echo "✅ Lokales Image gefunden. Update läuft mit lokalem Image weiter." + else + echo "❌ Weder Registry-Pull erfolgreich noch lokales Image vorhanden: $IMAGE_REF" + echo " Bitte Registry-Zugriff prüfen oder ein lokales Image mit genau diesem Tag bereitstellen." + exit 1 + fi +fi echo "🚀 Starte/aktualisiere Container..." docker compose -f "$COMPOSE_FILE" up -d