summaryrefslogtreecommitdiff
path: root/vpn/renew-cert.sh
diff options
context:
space:
mode:
authoryyamashita <yyamashita@hetzner.yyamashita.com>2026-06-30 22:29:07 +0900
committeryyamashita <yyamashita@hetzner.yyamashita.com>2026-06-30 22:29:07 +0900
commit58f7917662ff92a3712289acccff8310c8f1baff (patch)
treecf7290a3eaf0e08c170199ac831f562949785014 /vpn/renew-cert.sh
parent1ad98cc2f9f8a5950aec998a6daacec381cbe2c4 (diff)
Add strongSwan IKEv2 VPN service
- vpn/: Dockerfile, docker-compose.yml, swanctl.conf.tpl, entrypoint.sh - install.sh: Caddy 証明書流用 + コンテナ起動 - renew-cert.sh: 証明書更新 + swanctl ホットリロード - caddy/Caddyfile: vpn.yyamashita.com 追加(Let's Encrypt 証明書取得用) - post-receive: vpn/deploy.sh を追加 - setup-route53.py: WEB_SUBDOMAINS に vpn を追加 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'vpn/renew-cert.sh')
-rw-r--r--vpn/renew-cert.sh18
1 files changed, 18 insertions, 0 deletions
diff --git a/vpn/renew-cert.sh b/vpn/renew-cert.sh
new file mode 100644
index 0000000..50f8784
--- /dev/null
+++ b/vpn/renew-cert.sh
@@ -0,0 +1,18 @@
+#!/usr/bin/env bash
+set -euo pipefail
+cd "$(dirname "$0")"
+
+DOMAIN="vpn.yyamashita.com"
+CADDY_DIR="/app/infra/caddy"
+CADDY_CERT_BASE="/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/${DOMAIN}/${DOMAIN}"
+
+echo "証明書を更新中..."
+
+docker compose -f "$CADDY_DIR/docker-compose.yml" exec -T caddy \
+ cat "${CADDY_CERT_BASE}.crt" > certs/server.crt
+docker compose -f "$CADDY_DIR/docker-compose.yml" exec -T caddy \
+ cat "${CADDY_CERT_BASE}.key" > certs/server.key
+chmod 600 certs/server.key
+
+docker compose exec vpn swanctl --load-creds --noprompt
+echo "完了。証明書を更新してリロードしました。"