fix: fallback to local image when pull fails

This commit is contained in:
2026-03-03 08:51:03 +00:00
parent 394a5fc234
commit 01b6b7d6ce
3 changed files with 39 additions and 2 deletions

View File

@@ -28,6 +28,9 @@ PDF_TO_ICS_IMAGE=ghcr.io/webfarben/pdf_to_ics:v1.1.0
Danach `./update.sh` ausführen. 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) ## Manuelle Kommandos (optional)
Starten: Starten:

View File

@@ -31,8 +31,25 @@ if [ ! -f ".env" ]; then
fi fi
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..." 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..." echo "🚀 Starte Container..."
docker compose -f "$COMPOSE_FILE" up -d docker compose -f "$COMPOSE_FILE" up -d

View File

@@ -31,11 +31,28 @@ if [ ! -f ".env" ]; then
fi fi
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..." echo "📥 Hole aktuelle Git-Änderungen..."
git pull --ff-only git pull --ff-only
echo "⬇️ Lade aktuelles Container-Image..." 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..." echo "🚀 Starte/aktualisiere Container..."
docker compose -f "$COMPOSE_FILE" up -d docker compose -f "$COMPOSE_FILE" up -d