update, 删除多凭证问题

This commit is contained in:
mm644706215
2025-08-02 17:00:38 +08:00
parent a3adf38a86
commit b453ac1e80

25
renew_derper.sh Normal file → Executable file
View File

@@ -19,30 +19,28 @@ cd "$WORKDIR" || exit 1
echo ">>> 停止 derper 服务" echo ">>> 停止 derper 服务"
docker compose down docker compose down
echo ">>> derper down OK"
echo ">>> 续期证书 $DOMAIN" 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 \ docker run --rm \
--entrypoint /bin/bash \
-e REGION="$REGION" \ -e REGION="$REGION" \
-e ACCESS_KEY_ID="$ACCESS_KEY_ID" \ -e ACCESS_KEY_ID="$ACCESS_KEY_ID" \
-e ACCESS_KEY_SECRET="$ACCESS_KEY_SECRET" \ -e ACCESS_KEY_SECRET="$ACCESS_KEY_SECRET" \
-e DOMAIN="$DOMAIN" \ -e DOMAIN="$DOMAIN" \
-e EMAIL="$EMAIL" \ -e EMAIL="$EMAIL" \
-v "$PWD/letsencrypt:/etc/letsencrypt" \ -v "./letsencrypt:/etc/letsencrypt" \
-v "$PWD/certs:/app/certs" \ -v "./certs:/app/certs" \
-v "$PWD/logs:/var/log/certbot" \ -v "./logs:/var/log/certbot" \
hotwa/certbot:latest \ hotwa/certbot:latest \
certbot renew \ -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'
--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
echo ">>> 启动 derper 服务" echo ">>> 启动 derper 服务"
docker compose up -d docker compose up -d
echo ">>> derper up OK"
echo "crontab 添加任务选项(请根据实际需求选择,复制到 crontab 即可):" echo "crontab 添加任务选项(请根据实际需求选择,复制到 crontab 即可):"
echo echo
@@ -51,3 +49,6 @@ echo "0 2 * * 1 $WORKDIR/renew_derper.sh $WORKDIR $DOMAIN >> /var/log/renew_derp
echo echo
echo "【每月 1 号凌晨 2 点执行】" echo "【每月 1 号凌晨 2 点执行】"
echo "0 2 1 * * $WORKDIR/renew_derper.sh $WORKDIR $DOMAIN >> /var/log/renew_derper.log 2>&1" echo "0 2 1 * * $WORKDIR/renew_derper.sh $WORKDIR $DOMAIN >> /var/log/renew_derper.log 2>&1"
echo ">>> 当前容器日志"
docker compose logs