【2024年】群晖7.x用docker安装acme.sh自动续签部署ssl

senhuo 117

网上找了一大堆,看到有些老的教程,不太适合续签多个域名的单个、泛域名。

所以自行动手查阅了相关资料,希望对你有所帮助!

首先群晖控制面板打开SSH登陆,然后用软件登陆后提权到root

sudo -i

[aru_30]容器名称为【acme】,请自行替换[aru_30]

一:群晖安装docker的acme容器(具体还参考:acme.sh官方文档)

docker run --rm -itd \
 -v /volume1/docker/acme:/acme.sh \    #冒号前是本地目录,自行更换
 --net=host \   #这是网络配置,勿动
 --name=acme \  #这是容器名称,可自行更改(后面都需要用容器名称)
 neilpang/acme.sh daemon

二:保持容器更新(容器名称均为【acme】,请自行替换)

docker exec acme --upgrade --auto-upgrade

三:群晖找到本地文件“account.conf”(在第一步骤中的第二行映射的目录下)

export Ali_Key="***"           #这是阿里云的key
export Ali_Secret="***"        #这是阿里云的密钥
export SYNO_USERNAME='***'    #群晖新建用户,用户部署
export SYNO_PASSWORD='***'    #群晖用户密码,用于部署
export SYNO_SCHEME="http"    #部署状态
export SYNO_PORT="5000"        #群晖登陆端口
export SYNO_CERTIFICATE="A different certificate description"
export SYNO_CREATE=1

四:生成证书在docker

docker exec acme acme.sh --issue --force --dns dns_ali -d 域名一 -d 域名二

上面代码中“域名一”、“域名二”换成自己的!dns_ali也换成自己的域名提供商的。其他dns提供商的名称可以查看acme.sh官方文档,放在第三步文件里!

验证是否生成成功代码

docker exec acme --info -d 域名一

没生成成功可以在【zerossl】注册个账号,然后绑定下!以下是注册代码

docker exec acme acme.sh --register-account -m 自己的邮箱 --server zerossl

绑定zerossl账号代码

docker exec acme acme.sh -m senhuo@qq.com --server zerossl

五:部署证书在群晖NAS

docker exec acme --deploy -d 域名一 --deploy-hook synology_dsm --home /acme.sh

六:群晖计划任务

本地创建一个sh文件例如【acme.sh】文件内容如下

docker exec acme --cron --force --home "/root/.acme.sh" --config-home "/acme.sh"
docker exec -e "SYNO_CERTIFICATE=***" acme acme.sh --deploy --home . -d 域名一 --deploy-hook synology_dsm
docker exec -e "SYNO_CERTIFICATE=***" acme acme.sh --deploy --home . -d 域名二 --deploy-hook synology_dsm

更多域名部署在群晖,就一直加~,前提是容器里需要生成域名的证书!

bash  /volume1/docker/acme/a.sh >> /volume1/docker/acme/log.txt 2>&1

前面是执行a.sh文件,后面是形成log.txt日志,路径自行更改!!

最后验证:可看log.txt文件,出现以下信息就是成功!

弄完上面后,自行运行下,看群晖安全里是否多了证书!

至此,以后添加新的证书均可在root下运行【第四步】!

证书文件也对应存在第一步骤中的第二行映射的目录下

分享