- Refactored the Dockerfile to streamline the build process. - Removed unnecessary layers and combined commands for efficiency. - Improved caching strategy to enhance build performance.
95 lines
3.5 KiB
Bash
Executable File
95 lines
3.5 KiB
Bash
Executable File
#!/bin/bash
|
||
# Script zum Prüfen der Caddy-Zertifikate
|
||
|
||
set -e
|
||
|
||
echo "🔍 Prüfe Caddy-Zertifikat-Status..."
|
||
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 "✅ Caddy-Container läuft"
|
||
echo ""
|
||
|
||
# Prüfe Zertifikate im Volume
|
||
echo "📜 Gespeicherte Zertifikate im Volume:"
|
||
docker exec hoerdle-caddy find /data/caddy/certificates -name "*.crt" -o -name "*.key" 2>/dev/null | head -20 || echo " (Keine Zertifikate gefunden oder Fehler beim Zugriff)"
|
||
echo ""
|
||
|
||
# Prüfe Caddy-Logs für Zertifikats-Fehler
|
||
echo "📋 Letzte Caddy-Logs (Zertifikat-bezogen):"
|
||
docker logs hoerdle-caddy 2>&1 | grep -i -E "(certificate|tls|acme|challenge|error)" | tail -20 || echo " (Keine relevanten Log-Einträge gefunden)"
|
||
echo ""
|
||
|
||
# Prüfe DNS-Einträge
|
||
echo "🌐 DNS-Einträge prüfen:"
|
||
echo ""
|
||
|
||
# Prüfe hoerdle.de
|
||
echo "1️⃣ hoerdle.de:"
|
||
HOERDLE_IP=$(dig +short hoerdle.de @8.8.8.8 | head -1 || echo "DNS-Fehler")
|
||
if [ -n "$HOERDLE_IP" ] && [ "$HOERDLE_IP" != "DNS-Fehler" ]; then
|
||
echo " ✅ DNS-A-Record: $HOERDLE_IP"
|
||
else
|
||
echo " ❌ DNS-A-Record: nicht aufgelöst"
|
||
fi
|
||
|
||
# Prüfe xn--hrdle-jua.de (Punycode)
|
||
echo "2️⃣ xn--hrdle-jua.de (hördle.de):"
|
||
PUNYCODE_IP=$(dig +short xn--hrdle-jua.de @8.8.8.8 | head -1 || echo "DNS-Fehler")
|
||
if [ -n "$PUNYCODE_IP" ] && [ "$PUNYCODE_IP" != "DNS-Fehler" ]; then
|
||
echo " ✅ DNS-A-Record: $PUNYCODE_IP"
|
||
else
|
||
echo " ❌ DNS-A-Record: nicht aufgelöst"
|
||
fi
|
||
|
||
# Prüfe auch die Unicode-Domain direkt (falls unterstützt)
|
||
echo "3️⃣ hördle.de (Unicode):"
|
||
UNICODE_IP=$(dig +short hördle.de @8.8.8.8 2>/dev/null | head -1 || echo "Nicht unterstützt")
|
||
if [ -n "$UNICODE_IP" ] && [ "$UNICODE_IP" != "Nicht unterstützt" ]; then
|
||
echo " ✅ DNS-A-Record: $UNICODE_IP"
|
||
else
|
||
echo " ⚠️ Unicode-Domain-Abfrage nicht unterstützt (normal)"
|
||
fi
|
||
|
||
echo ""
|
||
echo "🔒 Zertifikat-Test:"
|
||
echo ""
|
||
|
||
# Teste HTTPS-Verbindung zu hoerdle.de
|
||
echo "1️⃣ hoerdle.de HTTPS:"
|
||
if echo | timeout 5 openssl s_client -connect hoerdle.de:443 -servername hoerdle.de 2>/dev/null | grep -q "Verify return code: 0"; then
|
||
echo " ✅ Zertifikat gültig"
|
||
CERT_INFO=$(echo | timeout 5 openssl s_client -connect hoerdle.de:443 -servername hoerdle.de 2>/dev/null | openssl x509 -noout -subject -dates 2>/dev/null || echo "")
|
||
echo " $CERT_INFO" | sed 's/^/ /'
|
||
else
|
||
echo " ❌ Zertifikat fehlt oder ungültig"
|
||
fi
|
||
|
||
echo ""
|
||
echo "2️⃣ hördle.de (xn--hrdle-jua.de) HTTPS:"
|
||
if echo | timeout 5 openssl s_client -connect xn--hrdle-jua.de:443 -servername xn--hrdle-jua.de 2>/dev/null | grep -q "Verify return code: 0"; then
|
||
echo " ✅ Zertifikat gültig"
|
||
CERT_INFO=$(echo | timeout 5 openssl s_client -connect xn--hrdle-jua.de:443 -servername xn--hrdle-jua.de 2>/dev/null | openssl x509 -noout -subject -dates 2>/dev/null || echo "")
|
||
echo " $CERT_INFO" | sed 's/^/ /'
|
||
else
|
||
echo " ❌ Zertifikat fehlt oder ungültig"
|
||
fi
|
||
|
||
echo ""
|
||
echo "📝 Zertifikat-Details aus Caddy Volume:"
|
||
echo ""
|
||
docker exec hoerdle-caddy ls -la /data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/ 2>/dev/null | head -10 || echo " (Verzeichnis nicht gefunden oder leer)"
|
||
|
||
echo ""
|
||
echo "💡 Tipps:"
|
||
echo " - Wenn kein Zertifikat vorhanden ist, führe aus: ./scripts/renew-caddy-certificates.sh"
|
||
echo " - Prüfe die Caddy-Logs: docker logs hoerdle-caddy"
|
||
echo " - Prüfe DNS-Einträge in GoDaddy: https://dcc.godaddy.com/manage/hoerdle.de/dns"
|
||
|