summaryrefslogtreecommitdiff
path: root/vpn/entrypoint.sh
diff options
context:
space:
mode:
Diffstat (limited to 'vpn/entrypoint.sh')
-rw-r--r--vpn/entrypoint.sh24
1 files changed, 10 insertions, 14 deletions
diff --git a/vpn/entrypoint.sh b/vpn/entrypoint.sh
index 00e3131..febdfef 100644
--- a/vpn/entrypoint.sh
+++ b/vpn/entrypoint.sh
@@ -36,23 +36,19 @@ export VPN_DOMAIN="${VPN_DOMAIN:-vpn.yyamashita.com}"
# テンプレートから swanctl.conf を生成
envsubst < /etc/swanctl/swanctl.conf.tpl > /etc/swanctl/swanctl.conf
-# charon (IKE デーモン) 起動
-ipsec start
-
-# 初期化待ち
-sleep 2
+# charon を直接フォアグラウンドで起動(ログが Docker に流れる)
+/usr/lib/strongswan/charon &
+CHARON_PID=$!
+
+# vici ソケット待ち
+for i in $(seq 1 10); do
+ swanctl --list-conns > /dev/null 2>&1 && break
+ sleep 1
+done
-# 設定ロード
swanctl --load-conns
swanctl --load-creds --noprompt
swanctl --load-pools
-
echo "VPN ready. Domain: ${VPN_DOMAIN}"
-# シグナルハンドラ
-trap 'ipsec stop; exit 0' TERM INT
-
-# charon が生きている間ループ
-while ipsec status > /dev/null 2>&1; do
- sleep 10
-done
+wait $CHARON_PID