diff options
Diffstat (limited to 'entrypoint.sh')
| -rw-r--r-- | entrypoint.sh | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/entrypoint.sh b/entrypoint.sh new file mode 100644 index 0000000..bf3753f --- /dev/null +++ b/entrypoint.sh | |||
| @@ -0,0 +1,19 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | set -e | ||
| 3 | |||
| 4 | # Check cert matches domain, else clear and renew | ||
| 5 | if [ -d "/data/caddy/certificates" ]; then | ||
| 6 | CERT_CN=$(echo | openssl s_client -connect ${DOMAIN}:443 2>/dev/null | openssl x509 -noout -subject 2>/dev/null | grep -o "CN=.*" | cut -d= -f2 || true) | ||
| 7 | if [ -n "$CERT_CN" ] && [ "$CERT_CN" != "$DOMAIN" ]; then | ||
| 8 | echo "Cert mismatch: $CERT_CN != $DOMAIN, clearing certs" | ||
| 9 | rm -rf /data/caddy/certificates/ | ||
| 10 | fi | ||
| 11 | fi | ||
| 12 | |||
| 13 | # Generate cgitrc from template | ||
| 14 | envsubst < /etc/cgitrc.template > /etc/cgitrc | ||
| 15 | |||
| 16 | spawn-fcgi -s ${FCGI_SOCK} /usr/bin/fcgiwrap | ||
| 17 | chmod 666 ${FCGI_SOCK} | ||
| 18 | |||
| 19 | exec caddy run --config /etc/caddy/Caddyfile --adapter caddyfile | ||
