From 58f7917662ff92a3712289acccff8310c8f1baff Mon Sep 17 00:00:00 2001 From: yyamashita Date: Tue, 30 Jun 2026 22:29:07 +0900 Subject: Add strongSwan IKEv2 VPN service MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 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 --- vpn/renew-cert.sh | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 vpn/renew-cert.sh (limited to 'vpn/renew-cert.sh') 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 "完了。証明書を更新してリロードしました。" -- cgit v1.2.3