Wildcard-Zertifikate ueber Plesk-DNS und Let's Encrypt
Legt den A/AAAA-Record fuer einen Namen in Plesk an bzw. aktualisiert ihn und holt anschliessend per DNS-01-Challenge ein Wildcard-Zertifikat von Let's Encrypt. Alle Bestandteile werden einzeln abgelegt, zusaetzlich als kombinierte bundle.pem und als passwortgeschuetzte cert.pfx. - Plesk-Anbindung ueber die XML-API (Zone finden, Records lesen/anlegen/loeschen) - ACME-Order mit dns-01, Account-Key wird wiederverwendet - Propagations-Check gegen die autoritativen Nameserver der Zone, bricht vor der Validierung ab statt einen Fehlversuch bei Let's Encrypt zu verbrennen - Renewal-Check: laeuft idempotent, taugt so direkt fuer den Cron - Docker-Container, Konfiguration ueber .env, Ausgabe im Projektverzeichnis - Tests ohne echten Plesk-Server bzw. ohne Zertifikatsausstellung Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
#!/usr/bin/env bash
|
||||
# Bequemer Wrapper: ./run.sh vpn.example.com 1.2.3.4 [weitere Optionen]
|
||||
set -euo pipefail
|
||||
|
||||
cd "$(dirname "$0")"
|
||||
|
||||
if [ ! -f .env ]; then
|
||||
echo "Es gibt noch keine .env - bitte .env.example kopieren und ausfuellen:" >&2
|
||||
echo " cp .env.example .env && \$EDITOR .env" >&2
|
||||
exit 2
|
||||
fi
|
||||
|
||||
mkdir -p certs data
|
||||
|
||||
if docker compose version >/dev/null 2>&1; then
|
||||
DC="docker compose"
|
||||
elif command -v docker-compose >/dev/null 2>&1; then
|
||||
DC="docker-compose"
|
||||
else
|
||||
echo "Weder 'docker compose' noch 'docker-compose' gefunden." >&2
|
||||
exit 2
|
||||
fi
|
||||
|
||||
export PUID="${PUID:-$(id -u)}"
|
||||
export PGID="${PGID:-$(id -g)}"
|
||||
|
||||
if ! docker image inspect wildcard-lets-encrypt-cert-plesk-creator:latest >/dev/null 2>&1; then
|
||||
echo ">> Baue Docker-Image ..."
|
||||
$DC build
|
||||
fi
|
||||
|
||||
exec $DC run --rm wildcard-cert "$@"
|
||||
Reference in New Issue
Block a user