summaryrefslogtreecommitdiff
path: root/vpn/renew-cert.sh
diff options
context:
space:
mode:
authoryyamashita <yyamashita@hetzner.yyamashita.com>2026-07-02 13:17:18 +0900
committeryyamashita <yyamashita@hetzner.yyamashita.com>2026-07-02 13:17:18 +0900
commit2a1b87ebcb167cededb22782241900a82d0e8d4d (patch)
tree7eafb5503ad36a8ef11dc165996ee8a4c8c847fb /vpn/renew-cert.sh
parent7be614fa7aa9672e0ebe0424be2e3dae88c75c83 (diff)
Remove cert logic duplication from vpn/install.sh
install.sh and renew-cert.sh had identical cert fetch/split code. install.sh now delegates to renew-cert.sh, which in turn calls deploy.sh. Flow: install.sh → renew-cert.sh → deploy.sh Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'vpn/renew-cert.sh')
-rw-r--r--vpn/renew-cert.sh17
1 files changed, 12 insertions, 5 deletions
diff --git a/vpn/renew-cert.sh b/vpn/renew-cert.sh
index b199350..56cc1d6 100644
--- a/vpn/renew-cert.sh
+++ b/vpn/renew-cert.sh
@@ -8,17 +8,24 @@ CADDY_CERT_BASE="/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory
echo "証明書を更新中..."
-docker compose -f "$CADDY_DIR/docker-compose.yml" exec -T caddy \
- cat "${CADDY_CERT_BASE}.crt" > certs/server.crt
+mkdir -p certs
+
+if ! docker compose -f "$CADDY_DIR/docker-compose.yml" exec -T caddy \
+ cat "${CADDY_CERT_BASE}.crt" > certs/server.crt; then
+ echo "Error: 証明書の取得に失敗しました。Caddyfile に ${DOMAIN} が設定されているか確認してください。"
+ exit 1
+fi
docker compose -f "$CADDY_DIR/docker-compose.yml" exec -T caddy \
cat "${CADDY_CERT_BASE}.key" > certs/server.key
chmod 600 certs/server.key
-# チェーン分割 + Android 用 CA 証明書更新
+# チェーン分割: 1枚目=リーフ、残り=中間CA
awk '/BEGIN CERTIFICATE/{n++} n==1' certs/server.crt > certs/server-leaf.crt
awk '/BEGIN CERTIFICATE/{n++} n>1' certs/server.crt > certs/server-chain.crt
mv certs/server-leaf.crt certs/server.crt
+
+# 中間 CA 証明書を Caddy で配信(クライアントが手動インストールする場合に使用)
awk '/BEGIN CERTIFICATE/{n++} n==1' certs/server-chain.crt > "$CADDY_DIR/ca.pem"
-docker compose restart
-echo "完了。証明書を更新してリロードしました。"
+echo "証明書を更新しました。"
+bash "$(pwd)/deploy.sh"