From b453ac1e80e04c3fef1ceded2d17499467acfc1c Mon Sep 17 00:00:00 2001 From: mm644706215 Date: Sat, 2 Aug 2025 17:00:38 +0800 Subject: [PATCH] =?UTF-8?q?update=EF=BC=8C=20=E5=88=A0=E9=99=A4=E5=A4=9A?= =?UTF-8?q?=E5=87=AD=E8=AF=81=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- renew_derper.sh | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) mode change 100644 => 100755 renew_derper.sh diff --git a/renew_derper.sh b/renew_derper.sh old mode 100644 new mode 100755 index 8f3a0e2..016ee75 --- a/renew_derper.sh +++ b/renew_derper.sh @@ -19,30 +19,28 @@ cd "$WORKDIR" || exit 1 echo ">>> 停止 derper 服务" docker compose down +echo ">>> derper down OK" echo ">>> 续期证书 $DOMAIN" - +ACCOUNT_ID=$(ls -td ./letsencrypt/accounts/acme-v02.api.letsencrypt.org/directory/* | head -1 | xargs -n1 basename) +# 解决存在多账户问题 +rm -rf ./letsencrypt/accounts docker run --rm \ + --entrypoint /bin/bash \ -e REGION="$REGION" \ -e ACCESS_KEY_ID="$ACCESS_KEY_ID" \ -e ACCESS_KEY_SECRET="$ACCESS_KEY_SECRET" \ -e DOMAIN="$DOMAIN" \ -e EMAIL="$EMAIL" \ - -v "$PWD/letsencrypt:/etc/letsencrypt" \ - -v "$PWD/certs:/app/certs" \ - -v "$PWD/logs:/var/log/certbot" \ + -v "./letsencrypt:/etc/letsencrypt" \ + -v "./certs:/app/certs" \ + -v "./logs:/var/log/certbot" \ hotwa/certbot:latest \ - certbot renew \ - --manual \ - --preferred-challenges dns \ - --manual-auth-hook "alidns" \ - --manual-cleanup-hook "alidns clean" \ - --deploy-hook "/app/scripts/webhook.sh" \ - --no-random-sleep-on-renew \ - -v + -c 'source /opt/venv/bin/activate && aliyun configure set --profile akProfile --mode AK --region "$REGION" --access-key-id "$ACCESS_KEY_ID" --access-key-secret "$ACCESS_KEY_SECRET" && certbot certonly -d "$DOMAIN" --manual --preferred-challenges dns --manual-auth-hook "/usr/local/bin/alidns" --manual-cleanup-hook "/usr/local/bin/alidns clean" --agree-tos --email "$EMAIL" --non-interactive' echo ">>> 启动 derper 服务" docker compose up -d +echo ">>> derper up OK" echo "crontab 添加任务选项(请根据实际需求选择,复制到 crontab 即可):" echo @@ -51,3 +49,6 @@ echo "0 2 * * 1 $WORKDIR/renew_derper.sh $WORKDIR $DOMAIN >> /var/log/renew_derp echo echo "【每月 1 号凌晨 2 点执行】" echo "0 2 1 * * $WORKDIR/renew_derper.sh $WORKDIR $DOMAIN >> /var/log/renew_derper.log 2>&1" + +echo ">>> 当前容器日志" +docker compose logs \ No newline at end of file