certbot
certbot 免费泛域名证书的生成,容器启动自动生成,容器自动证书自动续期(按官方证书即将到期的30天)。
目前支持阿里云 DNS、腾讯云 DNS、华为云 NDS、GoDaddy。
使用方法
命令代码
docker run -itd --name xzxiaoshan-certbot \
-v /opt/certbot/logs:/var/log/letsencrypt \
-v /opt/certbot/letsencrypt:/etc/letsencrypt \
-e ALY_TOKEN=XXXXXXXXXX \
-e ALY_KEY=XXXXXXXXX -e PDNS=aly \
-e CERT_PARAMS="--email example@qq.com -d example.com -d *.example.com" \
xzxiaoshan/xzxiaoshan-certbot:latest /bin/bash
参数说明
注意事项
- 容器除此创建运行时,certbot会构建运行环境,这个需估计需要几分钟时间,需要等待一下。
- 配置运行环境的过程中,如果你没有科学上网,那么可能会因为网络不好而出现错误(只要你再日志中搜索存在
timeout
就可以确定),然后你只需要重启容器即可,直到没有类似的网络问题错误。 - 日志在
certbot.log
文件中可能看到。
附:群晖证书自动同步
群晖》控制面板》任务计划》新增自定义用户脚本》任务设置》脚本内容填写
/volume1/docker/certbot/letsencrypt/synology/syncSynologyCert.sh
其中前面一段/volume1/docker/certbot/letsencrypt
是你群晖配置容器时挂载的卷的目录的实际路径(右键文件夹属性查看)
脚本设置每天执行一次即可。
自动升级certbot
官方命令certbot-auto每次执行将始终尝试从最新版本中获取自身的最新版本。
如果希望将其锁定到特定版本并且不接收自动更新,只需在命令后加 --no-self-upgrade 即可。
即:certbot-auto renew --no-self-upgrade
。
对于本源码中,对应修改 shell/renewCmd.sh
脚本内容,添加 --no-self-upgrade
参数后自行构建镜像即可。
感谢certbot-au代码的作者。
参考文件:https://laosu.ml/2020/07/31/%E5%85%8D%E8%B4%B9%E7%9A%84%E6%B3%9B%E5%9F%9F%E5%90%8Dhttps%E8%AF%81%E4%B9%A6%E8%87%AA%E5%8A%A8%E7%BB%AD%E6%9C%9F/?highlight=nginx