- Refactored the Dockerfile to streamline the build process. - Removed unnecessary layers and combined commands for efficiency. - Improved caching strategy to enhance build performance.
84 lines
3.0 KiB
Bash
Executable File
84 lines
3.0 KiB
Bash
Executable File
#!/bin/bash
|
|
# Script zum Erneuern/Löschen und Neu-Erstellen von Caddy-Zertifikaten
|
|
|
|
set -e
|
|
|
|
echo "🔄 Caddy-Zertifikat-Erneuerung"
|
|
echo ""
|
|
echo "⚠️ WICHTIG: Dieses Script wird die Zertifikate löschen und Caddy zwingen, sie neu zu erstellen."
|
|
echo ""
|
|
|
|
# Prüfe ob Caddy-Container läuft
|
|
if ! docker ps | grep -q hoerdle-caddy; then
|
|
echo "❌ Caddy-Container läuft nicht!"
|
|
echo " Starte ihn mit: docker compose -f docker-compose.caddy.yml --profile production up -d"
|
|
exit 1
|
|
fi
|
|
|
|
echo "📋 Verfügbare Optionen:"
|
|
echo " 1) Alle Zertifikate löschen und neu erstellen (empfohlen bei Problemen)"
|
|
echo " 2) Nur Zertifikat für xn--hrdle-jua.de löschen (Punycode-Domain)"
|
|
echo " 3) Nur Zertifikat für hoerdle.de löschen"
|
|
echo " 4) Abbrechen"
|
|
echo ""
|
|
read -p "Wähle eine Option (1-4): " choice
|
|
|
|
case $choice in
|
|
1)
|
|
echo ""
|
|
echo "🗑️ Lösche ALLE Zertifikate..."
|
|
docker exec hoerdle-caddy rm -rf /data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/* 2>/dev/null || true
|
|
echo "✅ Alle Zertifikate gelöscht"
|
|
;;
|
|
2)
|
|
echo ""
|
|
echo "🗑️ Lösche Zertifikat für xn--hrdle-jua.de..."
|
|
docker exec hoerdle-caddy find /data/caddy/certificates -name "*xn--hrdle-jua.de*" -delete 2>/dev/null || true
|
|
docker exec hoerdle-caddy find /data/caddy/certificates -name "*xn--*" -delete 2>/dev/null || true
|
|
echo "✅ Zertifikat für Punycode-Domain gelöscht"
|
|
;;
|
|
3)
|
|
echo ""
|
|
echo "🗑️ Lösche Zertifikat für hoerdle.de..."
|
|
docker exec hoerdle-caddy find /data/caddy/certificates -name "*hoerdle.de*" ! -name "*xn--*" -delete 2>/dev/null || true
|
|
echo "✅ Zertifikat für hoerdle.de gelöscht"
|
|
;;
|
|
4)
|
|
echo "❌ Abgebrochen."
|
|
exit 0
|
|
;;
|
|
*)
|
|
echo "❌ Ungültige Option. Abgebrochen."
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
echo ""
|
|
echo "🔄 Starte Caddy-Container neu, um Zertifikate neu zu erstellen..."
|
|
docker compose -f docker-compose.caddy.yml --profile production restart caddy
|
|
|
|
echo ""
|
|
echo "⏳ Warte 5 Sekunden, damit Caddy startet..."
|
|
sleep 5
|
|
|
|
echo ""
|
|
echo "📋 Prüfe Caddy-Logs auf Zertifikats-Erstellung:"
|
|
echo ""
|
|
docker logs hoerdle-caddy --tail=30 2>&1 | grep -i -E "(certificate|tls|acme|challenge|error|success)" || echo " (Keine relevanten Log-Einträge in den letzten 30 Zeilen)"
|
|
|
|
echo ""
|
|
echo "✅ Container wurde neu gestartet."
|
|
echo ""
|
|
echo "💡 Nächste Schritte:"
|
|
echo " 1. Warte 1-2 Minuten, damit Caddy die Zertifikate erstellt"
|
|
echo " 2. Prüfe die Logs: docker logs hoerdle-caddy -f"
|
|
echo " 3. Prüfe den Status: ./scripts/check-caddy-certificates.sh"
|
|
echo " 4. Teste die Domain: curl -I https://xn--hrdle-jua.de"
|
|
echo ""
|
|
echo "⚠️ Falls das Zertifikat nicht erstellt wird:"
|
|
echo " - Prüfe DNS-Einträge: Beide Domains müssen auf die Server-IP zeigen"
|
|
echo " - Prüfe Port 80: Muss von außen erreichbar sein (für HTTP-01 Challenge)"
|
|
echo " - Prüfe Firewall: Ports 80 und 443 müssen offen sein"
|
|
echo " - Prüfe Caddy-Logs: docker logs hoerdle-caddy"
|
|
|