#!/bin/sh
# pangolin-edge 入口:前台跑 nginx,后台跑证书续期(续期后在【本容器内】热重载 nginx)。
# 续期 = certbot renew(DNS-01/Cloudflare),无需 docker socket / 宿主 cron / 跨容器信号。
set -e

# 后台续期循环:每 12h 检查一次;有证书续期则热重载,无则什么都不做。
(
  # 启动后先等一会,避免与 nginx 启动抢资源
  sleep 60
  while true; do
    if certbot renew --quiet --deploy-hook "nginx -s reload"; then
      :
    else
      echo "[pangolin] certbot renew 失败,下个周期重试" >&2
    fi
    sleep 12h
  done
) &

# 前台:沿用官方入口脚本(会执行 /docker-entrypoint.d/*)再启动 nginx
exec /docker-entrypoint.sh nginx -g 'daemon off;'
